Thanks Taher and Michael for detailed insights and Sathish for sharing your
thoughts on upgrades.
Just to introduce myself, we are using OFBiz for little over 7 years for a
Life Sciences Product, and we consider ourselves as end user and haven't
inclined to make hardcore changes to the framework as yet.
1. Lack of Code Isolation_:::
Our approach has been as outlined by Michael, we have custom plugins
for each application and in some cases custom application plugins for each
customer which are overrides and extensions of the OOTB OFBiz application
plugins and we more or less leave the framework untouched except for a few
issues we have discovered, and we are guilty of not contributing the fix
back to OFBIZ and hence maintaining in our own branch, but without taking
an inventory now, my recollection is that the changes to the framework is
minimal. we merge the changes from our customer application plugin branch
to *our* common application plugin branch that way *our* common application
plugin branch at a given point in time has most of *our* custom application
plugin changes.
2. Rest Interface:::
We are currently using HTML based web UI and relying on
widget/freemarker templating for the changes. We are inclined to client
rendering using Vue Js, and having Rest API integrated in the core
framework would be a huge plus. but we are open to using Rest API as a
plugin to begin with, I know there has been some communication around Rest
based webservice api in the email thread, I have to admit, we haven't
explored that all that much yet. But if a Rest API plugin is made
available, we will be happy to utilize that and share feedback.
3. UI Screens:::
As experienced by new users and outlined in this thread, we end up
customizing the UI to minimize the field display to our user needs either
by making changes in minilang or ftl, Perhaps it might be good idea to have
database tables to control what is rendered in the UI and perhaps rendering
based on database configuration can include support for role/permission
based rendering to show different fields for different
roles/SecurityPermission.
4. Webapps :::
As of right now, we switch off the webapps that we do not need
currently, At less frequent times we see application logouts when switching
from one webapp to another, i'm not sure if this caused by having different
plugins as different webapps and passing the session id between them and if
this be solved by having single webapp, but i do not understand enough
about the merits of having a single webapp at this time to comment more on
this.
I do not have strong opinions about the other points other than what is
discussed already and i will skip responding to them,
In my opinion replacing OFBiz framework code with established open source
which is purpose-built for a specific use case like Apache Shiro for
Security, eHCache for caching could bring down OFBiz framework code and
thereby maintenance of OFBiz, framework however i also recognize and
reflect the thoughts outlined in this thread that we need to be very
careful about bringing such hardcore changes with careful planning &
quality control not to disrupt the existing implementations.
Thanks to everyone sharing their view points and starting a conversation in
lieu of the future of OFBiz.
just my 2 cents from the end user perspective.
regards
Sakthi
On Mon, Dec 27, 2021 at 1:09 PM Taher Alkhateeb
wrote:
> Hi Michael,
>
> Thank you so much for spending your time reading and sifting through
> everything, I really appreciate and value your feedback.
>
> I need to highlight that we deployed mixed and somewhat crazy solutions
> including multiple mobile apps, live video / chat streaming systems and
> other projects that are booming in Kuwait and exploding both in user
> bases and technical requirements which is why we cannot operate some of
> these projects the way we used to in the past.
>
> Anyway I think I'm not going to elaborate too much as we wait for more
> opinions from the community to see if this is worth pushing. However, I
> want to reply to a few points you raised:
>
> - There is a huge difference between _few_ modifications, and ZERO
> modifications to the framework or core components. This way you don't
> even need to freeze a version of OFBiz to develop against at all!
> - Breaking to multiple git repositories means having something like
> ./gradlew gitPullAll to update and you're done. Nothing breaks, no
> surprises. You have to try it to believe it :) I have client projects
> that have 15 git repos and I can upgrade with my eyes closed. Also there
> is always entanglement that you don't feel or care for until you
> actually cut the repo into pieces and then realize we have too much
> entanglement. Having many small git repositories is in fact the most
> enjoyable part of how we're writing software now and I can assign
> different modules to different teams and they work independent of each
> other. It's just a totally