This page contains the current list of the tasks that need to be done as part of the Framework Re-Factor. The goal is the allow volunteers to select a task and provide a patch that will resolve each of the tasks listed. The list of tasks have three degrees of complexity (Difficult, Moderate and Easy) allowing contributors at any level to participate.
To pick up any of these tasks
In order to improve the quality of what is being re-factored, please note that for each task the developer should also:
REF | NAME OR AREA | WHAT NEEDS TO BE DONE | COMPLEXITY | STATUS | WHO IS WORKING ON IT? | JIRA MAST ISSUE LINK | COMMENTS | |
---|---|---|---|---|---|---|---|---|
1 | remove dead imports | Remove all unnecessary import statements in all java files | Easy | Fixed | Michael Brohl | |||
2 | Fix resource leaks in CommonServices.java | File1 and file2 should be fixed by closing them in byteBufferTest | Easy | Fixed | Michael Brohl | |||
3 | Remove deprecated dependencies in EmailServices | org.ofbiz.common.email.EmailServices.java depends on FoScreenRenderer and HtmlScreenRenderer. Both should be replaced by MacroScreenRenderer. | Moderate | Fixed | Deepak Dixit | |||
4 | Simplify getChildHRCategoryTree | The method getChildHRCategoryTree in org.ofbiz.humanres.HumanResEvents is too long and complicated. The business logic can be considerably reduced and simplified. The function should be broken down into multiple private functions to simplify the calls and to create the right level of abstraction | Moderate | Fixed | Kulwant Singh | |||
5 | Add Generics to PaidInOut | In ofbiz.pos.screen.PaidInOut.java the DefaultComboBoxModel is not parameterized. Need to put the right generics in place | Moderate | In Attic | Jacques Le Roux | |||
6 | CommonWorkers.java needs simplifying and cleaning up | Refactor CommonWorkers.java. Lots of code is repetitive and can be factored out into shared private methods. This includes things like:
| Moderate | In Progress | Martin Becker | |||
7 | Cleanup FindServices.java | Many problems exist in this file:
| Moderate | Malin Nicolas | ||||
7b | Refactoring permission service | Homogenise the call to permission service by ModelService. Clean deprecated code | Moderate | In Progress | Malin Nicolas | |||
8 | Parameterize everything in DebugManagedDataSource | Generics need to be introduced to multiple places. Requires knowledge in commons-pool | Moderate | In Progress | Martin Becker | |||
9 | XML shared dependencies between accounting and HR | Many shared dependencies exist bi-directionally between accounting and HR including screens, entities and other items. All such XML should propagate down to the commonext component | Moderate | Pranay Pandey | ||||
10 | Redesign EntitySaxReader | org.ofbiz.entity.util.EntitySaxReader requires refactoring to achieve the following goals
| Difficult | In Progress | Martin Becker | |||
11 | Redesign org.ofbiz.entity.datasource | All objects under org.ofbiz.entity.datasource need to be redesigned into an interface model and implemented with concrete classes. Things like the GenericDao should be broken down to many pieces as it is massive, complex, and overly designed (Interface Segregation principle violated) | Difficult | |||||
12 | XML shared dependencies between accounting and order | Many shared dependencies exist bi-directionally between accounting and order including screens, entities and other items. All such XML should propagate down to the commonext component | Difficult | Pranay Pandey | ||||
13 | Start.java | This has some problems which are being tackled in JIRA OFBIZ-6783 | Difficult | Fixed | Taher Alkhateeb | |||
14 | Enforce noninstantiability to all Utility classes | Design flaw needs to be fixed on all Utility Classes, discusses over mailing list. | Moderate | Fixed | All | |||
15 | harmonise permission applications in widgets | Many permission definitions are hard coded in widgets (e.g. menu-items and screens), e.g.
Many of these kind of 'default' permissions definitions could be harmonised by application of the ${activeApp} variable. | Moderate | Pierre Smits | ||||
16 | Refactoring UI | Review and improve the UI for more flexibility and user friendly, see dedicate wiki page | Difficult | Many | UI Improvement |
If our current re-factor to do list seem a little too much for you to take on then you can help in other areas too, and a little bit of work quickly adds up. Please take a look below for some other ideas for helping remove clutter and help clean up the code base.
IMPORTANT: If you have any questions about any of these tasks or need feedback on a proposed patch then please post a message on the development mailing list. |