|
||||||||||||||
|
This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira |
||||||||||||||
------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________ Mifos-issues mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mifos-issues

This doesn't include Character Assessment as I didn't get info on that.
The Risk Analysis functionality has been implemented using Data Table functionality (i.e. no specific Java code, it reuses the datatable api)
However, a specific UI (<script id="clientRiskAnalysisFormTemplate") has been added to allow view, edit, create functionality
Possible Weakness
-----------------
Risk Analysis has a number of calculated fields and the calculations have been done in _javascript_. This means a user with the required permissions could use the public api (unlikely but possible) to update the data without doing the proper calculations. If this was a big security concern (probably not) we could put a few triggers on the risk_analysis table (the table created just for GK risk analysis) that checked the calculations.
GK Customisation
----------------
As part of this issue (which is for GK only), I've done a first cut go at how we might apply customisations for different tenants. The better programmers out there might want to put forward alternative solutions that we could migrate to but here's the main points of this one. This is not to say that the whole app can't be forked but it might be useful to not do so and rely on configuration.
SetTenantLoadTenantConfig.js is loaded at startup.
----------------------------
In this some defaults are set and then a configuration _javascript_ file for the tenant (if it exists) is included (using document.write) - (tenantconfigs/TENANTNAME.js e.g. tenantconfigs/GK-maarg.js)
The configuration file for the tenant just includes all the customisations (more _javascript_ files) that apply for the tenant e.g. customisations/GKRiskAnalysis.js
The customisations are in directoy tenantconfigs/customisations
In SetTenantLoadTenantConfig.js, the defaults are set for those parts of the reference app that can be customised based on tenant value. To highlight which parts can be customised there is a variable called 'custom' and the initial values are assigned within this variable. Kind of like a name space to keep variables from clashing. The customisation files will then override some or all of these default 'custom' values.
For this first customisation (GK Risk Analysis) only two things needed to be customised -
1) showRelatedDataTableInfo - a function that details how to show data table information (Additional Data)
2) helperFunctions - a list of functions used in jsrender templates.
Of course, any part of the app can be customised.
Note: although this is a GK customisation I dont know what the tenant name for GK will be on the demo system. So, I've applied this customerisation to the 'default' tenant for now.
Final Note: I included GK risk analysis translations key in the normal translation file (global-translations/messages.properties. Really, these should be in a separate translation file. Will set up an issue for this.