[
http://mifosforge.jira.com/browse/MIFOS-2802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Udai Gupta updated MIFOS-2802:
------------------------------
Attachment: NOT-TO-COMMIT-detect-which-propeties-not-in-changelog.patch
I have verified that XML mapping is outdated as the code has been moving and
the mappings were not modified correctly. The patch attached here brings the
list of such properties in ColumnMapping.xml.
Simple way to verify, Create a loan product then change the Max/Min/Default
Loan amount. there will be no change reflected under "view change logs" under
Loan Product details page.
Specs mention 6 Domain Objects to be Audited.
I would say that current XML mapping is not enough as there are Object Graphs
which hold the different values for a "Domain Object" like "Loan Product" and
it's not easy to map the properties through XML (not to mention the
maintainability and testing over time).
Also I think there are two parts of Audit logs that we should consider.
1) persistence (View change logs from UI)
2) logging in files with different level of logging can be set.
Right now only 1) is considered in specs but not 2)
Proposal
1) Replace the current XML mapping and parsing with Annotations and Reflection
API. @AuditToPersistence, @AuditToLogs
2) Use the 6 Domain objects to identify where these changes will be reflected
in UI
> Fix Hibernate Entity Audit Logging in Mifos
> -------------------------------------------
>
> Key: MIFOS-2802
> URL: http://mifosforge.jira.com/browse/MIFOS-2802
> Project: mifos
> Issue Type: Improvement
> Components: Logging
> Affects Versions: Release 1.6.0
> Reporter: Udai Gupta
> Assignee: mifosdeveloperqueue
> Fix For: Gazelle Backlog
>
> Attachments:
> NOT-TO-COMMIT-detect-which-propeties-not-in-changelog.patch
>
>
> Fix the legacy Hibernate Entity Interceptor for Audit purpose.
> Lots of unnecessary, non-working code in org.mifos.framework.components.audit
> which needs to be fixed.
> Replace org/mifos/framework/util/resources/audit/ColumnMapping.xml with
> annotation for fields. Annotations are better for Mapping because of
> typesafety, and XML are better for configuration where you can tune variables
> without recompiling the whole application.
> Use annotations for mapping which Entity(or field of Entity) to log.
> Refer http://community.jboss.org/wiki/AuditLogging
> We just need to log the change after the transaction, nothing for the
> intermediate states.
> NOTE: These changes are stored in database and at some place reflected in UI
> for Change logs. Make sure that we don't break that feature while refactoring.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://mifosforge.jira.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
This SF.net email is sponsored by
Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev
_______________________________________________
Mifos-issues mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mifos-issues