Goals
The community agrees that the UI is a weak part of OFBiz. It cannot compete with modern user interfaces and makes it hard for web designers to make use of modern frameworks.
The UI improvement should serve some goals including:
- new themes should be responsive
- users/developers should be able to use different UI frameworks like Bootstrap and AngularJS which take care of responsiveness and browser compatibility
- it must be easy for developers to write the screen structure and also easy for webdesigners to build a good design on base of this
- developers should not care about CSS styles and classes, and webdesigners should not care about how the screen snippets are put together or how the screens get their data.
Requirements
- we will need a new approach to be able to "plug in" different UI frameworks.
- We'll need a UI layer who represents the screen contents in an abstracted way (possbly an enhanced Freemarker macro library) and make it possible to generate HTML code with the right css attributes for the target library.
- a rewrite of the screens will be necessary to make the UI less cluttered and overloaded. This will require some concepts/design work beforehand
- ...
Context
To improve the UI in OFBiz, we want make a proof of concept that link 4 main improvements.
- Remove theme stuff from the framework to a "common-theme" component
- Improve the structure of screen
- Create a new component "backoffice" to test the new simple UI
- Create a new theme (or 2 if we are enough enthusiasm)
You can follow the evolution through - OFBIZ-9137Getting issue details... STATUS
Remove theme stuff from the framework
The purpose is to have a common-theme component that contain all default templates, all library contain in the framework and used by themes.
Improve the structure of screen
The purpose is to build all screen linked to structure screen. Decorator must also build with a screen structure.
With this kind of structure, it will be easier to make any look and feel in a theme without modifying screen.
Create a new component "backoffice"
The purpose is to try to simplify OFBiz to be used by human ^^
For this new component, we have to choose witch one of the existing we can "simplified".
When the component will be choose, we 'just' simplify the actual screen (using structure of course).
Create a new theme
It's important to create a new theme that use and play with structure, that maybe use the last technology we want to try.
For a best POC, it could be interesting to have a second theme. Maybe the same as the first with new color and playing also with the structure to stress the idea.
3 Comments
Taher Alkhateeb
Thanks for the initiative Nicolas. I think we need to elaborate on the points and rewrite some of them. There is probably more work than just the above objectives including adding / modifying the DSL and incorporating new technologies for the UI like Angular or so. So we need to flesh out some details. Should I rewrite some of the contents or do you plan for additional write up?
Michael Brohl
I've added my points from today's discussion in the dev mailing list. I'd appreciate if you could add your sights on this, Taher Alkhateeb.
Taher Alkhateeb
Hi Michael Brohl,
The proposal looks good and comprehensive to me. As I already mentioned in the discussion thread, I think we don't necessarily need many ideas as much as we need action. A simple action as creating the base theme and moving web artifacts to it would be a huge move forward and a confidence boost to our work.