Hi All, I finally had some time to review the functionality and code submitted under:
- http://svn.apache.org/r1573884 - http://svn.apache.org/r1574400 The functionality is available in the demo environment on https://ofbiz-vm.apache.org:8443/accounting The code is related to OFBIZ-3169 <https://issues.apache.org/jira/browse/OFBIZ-3169>, but apparently the committer (Hans Bakker) didn't feel the need to follow due process by adding the improvement as a patch for review by other community members before dumping it into trunk. Though it may seem that missing budget functionality can be regarded as a bug, it should be considered an improvement and therefore it should follow the Review-then-Commit principle in stead of Commit-then-Review. Functionality overview: Basically the functionality allows users of the the accounting component to: - search and find existing budget request - create a new budget request - enhance the budget request with - budget items - budget request roles - budget request reviews - change the status of the budget request Findings: First of all, documentation describing the functionality and how to use it is not available. This is a mayor omission. Assessment of usability by end users is hindered by this lacking. Secondly, the functionality as presented works. No errors occurred when clicking on the various buttons and executing basic process steps, like: - adding removing budget items - adding and removing a review - adding and removing a role - Changing the status of the budget request But, can we say that this functionality is complete and lifts OFBiz in general and the accounting module in particular a step higher on the ladder towards best of breed in the category 'Open Source ERP Projects c.q. Solutions'? It definitely does not. The functionality appears, though included in the accounting module, to be an island. Budgets in general (and at least), are related to organisations (in OFBiz the internal organisations), P&L centers, gl accounts, and persons. This is lacking in the functionality. No internal organisation can be assigned, nor a P&L center or at the lowest a gl account. Budgets without such associations are meaningless. No permissions where incorporated in menu-items to ensure that functionalities can only be executed by appropriate users. No roles were predefined, which is customarily applicable regarding this kind of functionality. Not every users having access should be able to create budget request, or perform subsequent actions. Lacking this, the user can (must?) select any partyId and roleId to associate with the budget request. Even parties not working with (or allowed to work with) OFBiz in general and the accounting module in particular can be selected. But also due to the lacking possibility to set the internal organisation, no default currency is set. Thus, making the amounts ambiguous to interpret. Furthermore it provides only a basic workflow process consisting of (approve, reject and review). Associating a party to a budget request doesn't warrant that others can not manipulate the content/data associated with the request. When I approved a budget request, I had the button to reject available. This shouldn't be possible. And at one occasion I could click the 'reject' button multipe time to get to the final state. While status changes are registered, it should also show who invoked the status change. Due to the fact that arbitrarily any party can be associated to a budget request without any restrictions, the workflow is rendered meaningless. Conclusion(s): This solutions hasn't been thought through properly and does no good for the quality of OFBiz (both the project and the product) in general and for the accounting module in particular. Prior to dumping the code into trunk it should have been posted for review by the community, so this could have been avoided. If any other contributor to this project made such a set of functionalities available as a patch to an OFBiz issue in JIRA, it would sit there for a great length of time before it would have been committed. I advice to remove it from trunk. Regards, Pierre Smits *ORRTIZ.COM <http://www.orrtiz.com>* Services & Solutions for Cloud- Based Manufacturing, Professional Services and Retail & Trade http://www.orrtiz.com
