Hi Scott,

thank you very much for sharing this.

I procrastinated my answer to this thread for a while because there is so much to discuss regarding a project strategy for OFBiz.

You share my sentiments for most of the points mentioned so let me chime in and add my points of view inline.

To put this in context: my background with OFBiz is about 14 years of customer projects, mostly eCommerce-, catalog-, portal and integration projects from 50 up to over 500 person days. They are mostly midsize to larger companies who often have their own ERP system like SAP which needs to be integrated with OFBiz.


Am 03.12.16 um 00:03 schrieb Scott Gray:
I don't think it's really our UI that inhibits adoption.  With any
reasonably sized project there is going to be a large amount of UI
customization where the front-end will be almost completely written from
scratch and the back-end at least partially so.  This has been my
experience at least over the past 9 years.

I completely agree.

Having a more modern UI with better usability would be very helpful in the early sales phase though because it is the first impression someone gets from OFBiz when he sees it for the first time(s). In this phase it would also be nice to have the choice between the full blown backend showing all OFBiz has to offer and a slim version (just to show that it's possible). That's what others already mentioned in their plans for UI refactoring.

Customer requirements are so diverse that we cannot achieve to build THE UI solution for every functionality or process, even if we spent a huge amount of conceptional work with specialists for the different business domains. So I think we can only deliver example implementations. In my experience, this is something a customer understand very good if it is explained accordingly.

It's also been my experience that form widgets don't play a large role in
this effort with most development being done using Freemarker.
Increasingly common in the last few years there has been a desire to use
SPA frameworks such as AngularJS for the admin apps and smaller front-end
apps.
Agree for the form widgets.
What's extremely helpful is the screen mechanism and the possibility to have hierarchical and reusable screens, especially in multi site projects.

It's my opinion that while a custom UI framework is a "nice to have", it is

I would rate it a bit more than nice to have but also think that we should invest a reasonable, well balanced amount of efforts in the UI in relation to the following points.

by no means offers much of a selling point when you compare it to things
like the domain model and the extensive business logic supported in OFBiz.
Telling non-OFBiz front-end developers that they must now use the widget
framework to build their AJAX intensive screens isn't much fun to be honest.

A good majority of the data gathering logic is tightly coupled to the OOTB
UI and isn't particularly re-usable.  Writing a JSON-RPC or REST based API
for custom screens is usually quite a bit of work because there isn't any
inherent support for it in the framework and you tend to just hack
something together on the fly due to time/budget constraints.

We have thousands of services in OFBiz with very little documentation and
often overlapping responsibilities.  For example, cancelling an order,
should I use "updateOrderHeader"? "changeOrderStatus"? Maybe
"massCancelOrders"? Not to mention a large number of the services are
intended to be ECAs only and not called directly, but there's generally no
way of knowing that.  Virtually every time you go to use a service you have
to go and look at the implementation and see if it's actually going to do
what you expect it to and what the side-effects might be.

And then even with these thousands of services, there's virtually no
services for gathering and returning data.  That's all done in the data
prep for screens and isn't particularly re-usable and even if it were, how
would you know without sifting through the implementation because there's
no documentation for these scripts.  Sometimes it's a mix of a few widget
actions gathering data in different ways (XML lookups in the actions,
service calls and groovy scripts).

So while I see our web layer as a nice to have,  I strongly believe that
were OFBiz needs the most enhancement is in the business logic API.

That very nicely sums up the fields where we really can achieve to make OFBiz more understandable and better connectable (also with different UI solutions). Integration is an important part in larger sized projects as well. It will also help connecting mobile apps which is a requirement getting more and more important.

In this course we also have to refactor some huge, messy code like in the order and shopping cart classes.
Modern UI frameworks take a lot of the legwork out building a good UI these
days, but we don't stand to benefit from any of that while we continue to
try and build our own solution that will never be any where near as good.
The strength of OFBiz is in the business logic and I think we do ourselves
a disservice by considering our web framework to be the primary means of
accessing it.

I'm increasingly leaning towards wanting to find a way to deeply
incorporate RESTfulness deeply into our framework.  Primarily because of
the API simplification it would entail.  For example, instead of 10s if not
100s of services relating to creating/updating an order, you would simply
have get/put/post that works against a full order resource.  We'd then use
something similar to our ECAs and service engine to validate the document
and execute related operations against the modified resource.  In this
manner you'd reduce our main API down from thousands of services to less
than one hundred resource models.

That's just an idea though, the main point here is that I think our UI
matters less than providing a means for implementers to access the business
logic using any means they deem necessary through a simple comprehensive
well-documented API.
+1

This is another huge undertaking but I think it definetely should be considered with the overall strategy.

I think we should add this to the strategy in https://cwiki.apache.org/confluence/display/OFBIZ/OFBiz+Apachecon+Brainstorming+Session+:+16th+November+2016 .

Thanks again and regards,
Michael


Regards
Scott

On 28/11/2016 23:08, "Sharan Foga" <sha...@apache.org> wrote:

Hi Everyone

One of the topics that came up during the brainstorming in Seville was
that the project desperately needs a clear strategy and roadmap.

Benefits:
- A strategy will provide a clear path for people to follow
- A strategy will allow us to set goals / milestones and metrics about
progress

In past maybe we have tried to do too much (tried to do it all at once -
which is why we find it h ard to focus).

- One suggestion was to set a maximum of 3 goals and then work only on
these. To define these goals we need to look at what is the most important
thing that we want to achieve - and base them on that.
- Another suggestion was that the most important thing for the project is
driving adoption. If this is true then what are the key blockers that stop
user adoption of OFBiz? (the UI!)
- Suggestion to organise / setup teams from the community that focus on
specific areas (e.g. workgroups) - this could really help progress

So to get the discussion started:

1. Do people agree that the project needs to focus on driving adoption?
2. Do people think that the UI is one of the key things that stops this ?
(If, not then please include what do you think is)
3. What goals could we set?
4. Are people interested in working in workgroups, to focus on specific
areas (or goals)?

(I know there are some ideas/work around the UI going on, but I will post
the Seville details and notes about that in separate discussion thread.)

Thanks
Sharan




Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to