[ 
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

Reply via email to