New Features Roadmap - Living Document
The long term goal of the OFBiz project is to build a complete, features set rich, universal and configurable "enterprise automation software" (ERP, CRM, CMMS, MRP etc.).
OFBiz is one of the few applications of this type developed by a community, rather than one corporation.
Even if the final long term goal is clear and well-defined ("building a universal enterprise automation software"), the short and medium term tasks to accomplish it are not.
The following is a proposal for the definition of a list of short and medium term tasks list: your input, suggestions and help is welcome. Please add your comment at the bottom of the page.
Legenda:
- "People interested": the people that think that the feature should be considered a priority for the project (in the short term)
- "People willing to help": persons that are in the position to help with the development of the task; if possible specify an approximately number of hours per week or month to give an idea of the total resources available for each task
Implement Human Resource Application
Enhance employee profile management, Add support for employee loyalty program, continues training management, cost to company management, salary statement report, implement security so employee can manage their account.
See the project's specific page here
People interested: Anil Patel
People willing to help: Anil Patel
Implement Recruitment application
Add a special purpose application for managing recruitment in a company.
See the project specific page OFBIZ:Recruitment applicationhere
People interested: Anil Patel
People willing to help: Anil Patel
Implement Asset management application
Add a special purpose application for managing assets in a company.
See the project specific page here
People interested: Anil Patel
People willing to help: Anil Patel
Implement Project Management Application
Implement project management application (designed for service companies like the most common ones who use ofbiz: lots of clients and projects and a steady stream of tasks to manage across multiple roles and teams); this is a specialpurpose app built (mostly) on the WorkEffort component
This component is nor pretty much finished. Just the connection to invoicing needs to be added
See the project's specific page here.
People interested: David Jones, Hans Bakker, Anil Patel
People willing to help: Hans Bakker, Anil Patel
Complete the implementation of the Accounting component
Finish implementation of the OFBiz accounting component, both the auto-posting to GL services and a nice complete set of reports (the 4 standard accounting 101 type reports plus a complete set of financial metrics)
See the project's specific page here.
People interested: David Jones, Jacopo Cappellato, Skip Dever, Scott Gray, Jim Barrows, Anil Patel
People willing to help: Jacopo Cappellato, Skip Dever, Scott Gray, Jim Barrows, Anil Patel
Implement Automated Tests for the most common processes
Implement a set of service-level test cases that go through the most common high-level processes in the system, like the ones documented in the role oriented documentation on docs.ofbiz.org; these will help have some sort of regression tests that are widely applicable, even if UIs are customized, and should cover many service-level customizations with little or no test case changes too
People interested: David Jones, Jacopo Cappellato, Anil Patel
People willing to help: Anil Patel
Continue the development of the integrated component for Business Intelligence
Continue the work started in the specialpurpose "Business Intellicence" component: Implement new dimensions (Ship-To-Customer, Warehouse, Promotion, Store etc...) and data migration services; implement new facts and starschemas; improve the reporting tools (possibly including an external tool for dimensional reports).
People interested: Jacopo Cappellato
People willing to help: Jacopo Cappellato (4 hours per week)
Complete the support for VAT (Value-Added-Tax)
See the project's specific page here.
People interested: Jacques Le Roux, Jacopo Cappellato, Marco Risaliti
People willing to help: Marco Risaliti, Jacques Le Roux, Hans Bakker
Add support for online contextual help
People interested: Skip Dever
People willing to help: Skip Dever
Screen and Form widget enhancements
See the project specific page here
People interested: Anil Patel
People willing to help: Anil Patel
Improve the Content Management Component
have a content management system which is comparable, in terms of features, to the more popular open source content management applications
People interested: Si Chen, Al Byers
People willing to help: Al Byers (5 hours per week)
Ecommerce component enhancements
See the project specific page here
People interested: Si Chen, Anil Patel
People willing to help: Anil Patel
Improve usability of the Catalog manager
People interested: Si Chen
People willing to help:
Complete the refactoring of Permissions control
People interested: Jacopo Cappellato
People willing to help: Jacopo Cappellato (2 hours per week)
Complete the migration of older bsh/ftl files to widgets
People interested: Jacopo Cappellato
People willing to help: Jacopo Cappellato (2 hours per week)
Enhance the integration with eBay DONE
Isolate the code into a new specialpurpose component. Complete the support for the creation of eBay auctions from OFBiz; improve the synchronization between OFBiz and eBay: order/shipment status changes, in/out communications, etc...
People interested: Marco Risaliti
People willing to help: Marco Risaliti
Enhance the integration with Google Product DONE
Isolate the code into a new specialpurpose component. Add more features and options to the product export.
People interested: Marco Risaliti
People willing to help: Marco Risaliti
Integrate Screen Widget and Form Widget with Dojo.
People interested: Mike Wong
People willing to help: Mike Wong
Non Backward Compatible Changes
Use Apache Commons EL instead of the Flexible String Expander
For syntax reference see:
http://java.sun.com/products/jsp/syntax/2.0/syntaxref207.html
Based on early research of the syntax it looks like most of our current Flexible String Expander usage would work with EL. The "${}", "." and "[]" syntax elements all appear to be supported. We would also get new features like arithmetic expressions and so on.
Later note : Regarding using the Apache Commons EL for expression evaluation: the library is designed to work with JSPs, so including it in FlexibleStringExpander would be difficult.
There has been discussion on dev ML abut UEL (Unified Expression Language) recently introduced in OFBiz (12/08), here are some related links
http://java.sun.com/javaee/5/docs/tutorial/backup/doc/JSPIntro7.html
http://jcp.org/aboutJava/communityprocess/final/jsr245/ Click on one of the Download links, accept the terms, then download the file marked: JavaServer Pages 2.1 Expression Language Specification (pdf)
Change the Entity Engine to be user aware for security, logging
This would be a change to require that a userLogin be passed to all Entity Engine calls. The Entity Engine could then check permissions to see if the user can modify or view that entity, or that record. The Entity Engine could also auto-populate fields like created by and updated by.
There are big downsides to this in that it is a real pain to ALWAYS have to know which user is doing stuff, and lots of our services don't know who the user is or use the "system" user to get around security constraints. The same thing would have to happen if we did this for the EE. This would also require major API refactoring, which we would probably want to precede with a big reduction in API size, as has been started but isn't yet finished.
UI (User Interface) enhancements
- Links in screenlets.
- Have less (or even none) buttons in header
- It was also suggesteed to use screenlet like how gmail does. Notably
- Three buttons max
- Dropdown for other actions
- The idea of duplicating at bottom
- Having breadcrumbs under the title bar
- Using portlets in place of screenlets
- OFBiz Theme Gallery DONE
- Web tools
- Entity Data maintenance
- have vertical separators for columns when viewing entity content,
- make the Find options a collapsible screenlet,
- make styles of the Entity Data Maintenance screens in general the same than used by the widgets.
- At large, maybe restyle all the Web tools page (not a priority)
- Entity Data maintenance
- Introduce Mashups
- List : to have in the results list form of every FindScreen (optionally) a first column of check boxes that let the user to select several items and than a combo box above the list that let the user to select a command to execute on them.
- A mechanism to allow to collapse/uncollapse all fields in one click
- Use the screenlet and put an icon (or a word, it's an icon in Compiere) in the screenlet title bar for that.
- OR
- Another (easier) possibility would be to use the 1st field-group and to make a relation between it and other field-groups. This because in all cases we will no make this 1st field-group collapsible (at least it's how we have done so far) and we could then put an artifact there. This would also allow to not have a mandatory screenlet when using collapsible field-groups
- Allow to create a party from where it could be needed
- By putting link to https://localhost:8443/partymgr/control/createnew
everywhere we have a party lookup, using the party label at left of the field. Actually we could generalising everywhere we have a lookup for something. It's easy to click on the Party tab and then on create new. But a link is even an easier way to teach newbies how to do it. Easy for us to introduce, and easy for newbies to use, maybe with a tooltip "click on party to create".
- Of course being able to show the screen where the choice of the type of party to create is done, and then the screen where data are entered in a CSS hidden/shown window like the calendar would be great and could be our next target. This would allow to not leave the page the user is on and would create a less disturbing environment. But this would also mean to preload these windows in memory and is maybe out of reach at the moment (from a memory POV, without speaking of the code needed). Else we could do the same thing for all the lookups, having them poping up as fast as the calendar. From a code POV, perhaps generalising from the calendar code could be a way (this last suggestion is more a dream for the future - sometimes not so far - than anything else
)
- By putting link to https://localhost:8443/partymgr/control/createnew