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.
See the project's specific page here.
People interested: David Jones, Hans Bakker, Anil Patel, Pierre Smits
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, Scott Gray, Jim Barrows, Anil Patel
People willing to help: Jacopo Cappellato, 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, Pierre Smits
People willing to help: Marco Risaliti, Jacques Le Roux, Hans Bakker
Add support for online contextual help
People interested: Hans Baker, Sharan Foga, Jacques Le Roux
People willing to help: Hans Baker, Sharan Foga, Jacques Le Roux
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
Content
Table of Contents |
---|
Prioritized tasks by order of appearance
Introduce a plugin system
Replace Minilang and widgets actions by a Groovy DSL
...
Not yet prioritized tasks (backlog)
Add support for online contextual help
Improve the Content Management Component
Add at least a versionning system to the content management
Jira | ||||||
---|---|---|---|---|---|---|
|
The jackrabbit branch has been created https://svn.apache.org/repos/asf/ofbiz/branches/jackrabbit20120501People interested: Si Chen, Al Byers
People willing to help: Al Byers (5 hours per week)
Improve the SFA Component
have a SFA/CRM which is comparable, in terms of features, to the more popular open source SFA/CRM applicationsPeople interested: Hans Baker, Pierre Smits, Jacques Le Roux
People willing to help: Hans Baker, Jacques Le Roux
Improve the Project Manager Component
Improve and enhance the Project Manager Component
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
...
People interested: Jacopo Cappellato, Adrian Crum, Andrew Zeneski
People willing to help: Jacopo Cappellato (2 hours per week), Adrian Crum
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 DONE
Committed to trunk December 2008.
Nicolas Malin
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.
...
Maybe the API refactoring wouldn't be necessary if we created a user-aware decorator for the GenericDelegator.
Backend widget & application HTML clean-up
Jira | ||||||
---|---|---|---|---|---|---|
|
Manufacturing improvement
Especially regarding lifecycle mgt of recipes (BoM and production schema) and on in-situ adding materials, production resources and outputs of end and by-products (like we had the discussion on dev ML about in September 2013).
Expense Declaration
Jira | ||||||
---|---|---|---|---|---|---|
|
Theme framework (Bootstrap, Zurb, etc.) integration (for both back and frontend)
http://markmail.org/message/i7fnxid55cq5uiiz
http://markmail.org/thread/6hvrvzkdz2huennv
Introduce Websocket usage
Jira | ||||||
---|---|---|---|---|---|---|
|
Services exposed as RESTful web services
Jira | ||||||
---|---|---|---|---|---|---|
|
Note: IMO (jleroux) the HATEOAS point must be totally respected
Client UI refactoring
(this section related with the "UI (User Interface) enhancements" section, to be clarified)
It would be genuinely interesting if we could write a client side form widget interpreter that would delegate generation of the interface to the client side and then supply the "action" interface via AJAX. It may be interesting to approach this as a "bridge" where we begin to layer dynamic AJAX functionality more aggressively onto the existing widgets.
Note: Adrian did something related for a client, where he replaced the current HTML macro by Sensha code
UI (User Interface) enhancements
(this section needs to be checked and possibly split into more accurate sections)
Links in screenlets.
- Have less (or even noneno) buttons in header
- It was also suggesteed suggested to use screenlet screenlets 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
- Recently (12/08) I it was discussed if we should remove the screenlet's navigation-form-name attribute. There are (at least) 3 reasons for that
- Less informationsinformation/features than with default (pages numbers, ability to jump to any page)
- The last button does not always work (try with widget.form.defaultViewSize=2 when listing invoices)
- Pagination should be available to the user always in the same way in order to have a consistent UI.
Then we have 2 possibilities- Remove this attribute and all current uses.
- Keep it but then
- we should at least make it works (last button issue)
- make it consistent with the standard way (direct page access)
OFBiz Theme Gallery DONE
Web tools
- Entity Data maintenance
- have vertical separators for columns when viewing entity content, This issue is no longer a problem in new themes like Bizness Time...
- make the Find options a collapsible screenlet, This issue has been partially addressed with the "Advanced Search" in Lookups
- make styles of the Entity Data Maintenance screens in general the same than used by the widgets. I think it's done
- At large, maybe restyle all the Web tools page (not a priority
- )
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.
...
- Sorting
- The tabs should be sortable not only by alphabetical order in English but in other languages too.
- An user should to be able to position the tabs according to their preference
- Having something to select the apps desired for a "quick links" bar, and maybe have that go beyond just tabbed applications and include individual pages for easy access.
We still need that for 'old' themes but it looks like they will be deprecated with new themes like Bizness Time...
Light-blue Theme (or future themes alike) enhancement DONE
Currently we have a Windows Start model UI, or rather a Gnome desktop model but with a sole entry point (Home).
We could, like IMO it's done elegantly in Ubunut/Gnome, have more entries point namely:
- Top Level Applications
- We should introduce drop-down menus to group applications (like AR and AP under Accounting). Doint that, we should keep in mind permissions access for each sub-application.
- Addon Applications (better name ?)
- Replace the secondary menu (at bottom) with a primary menu top drop-down item.
- System Applications
- etc.
I think it's done now with the new themes we have-
...
Quicker and intuitive access to basic
...
functionality
Following Bruno's suggestion about Compiere UI. We could put a 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 generalize everywhere we have a lookup for something.
It's easy to click on the Party tab and then on "Create New". But after reading BJ's reading suggestion, it's also an easy 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". This would fill the Condition #2 of the BJ's article above.
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 an Ajax filled CSS hidden/shown window Ajax filled could be our next target. This would allow to not leave the page the user is on and would create a less disturbing environment.
...
Now we have the ability to put parms into the label in the I8N files, so the tooltips would have the same ability. Like "Click here to ($whatever)" would turn into "Click here to see the productlist" as a tool tip. You would just have the fieldname like in the labels file.
Barring having a seperate file, then having the tooltip_$fieldname like tooltip_$Phonenumber would work.
...
Add
...
Conversation scope support to Screen Widget
Several uses cases has workflow that user has to follow. A common example for this in ofbiz is shopping experience. It makes sense to add conversation scope or data members in form widget. It will facilitate development of workflow intensive UI.
...
Some i18n issues and best practices
- Typography : Typography depends on languages. For instance in French we put a space before and after colons, there are other cases of course. So punctuation should be always part of labels.
- HTML : We already discussed about not putting any HTML tags in labels. Also we should not put any < and & which would not be correctly rendered (http://www.w3.org/TR/REC-xml/#dt-chardata), so should be escaped.
Some suggestions
...
on user ML
- better error/success messages
- better handling of keyboard tab to move from one field to another
- more and better multi row submit screens
- more informative form fields (e.g. showing descriptions instead of just ids)
- enhancing field interactions (the value of one field can change/ hide/ etc other elements/data in the screen)
- I (JLR) would add something I saw like in SugarCRM and found very useful : their "info icon" which when you hover over it show related information (for a contact its contact mechs, etc.)