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.

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.

It's my opinion that while a custom UI framework is a "nice to have", it is
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.

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.

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
>
>

Reply via email to