Crudely put, but nonetheless true.

And all can have their place in the OFBiz ecosystem. Even HumanRes could be
considered a SpecialApp. Which of the current set of core apps should stay
in? And which not? Your opinions please.

Regards,

Pierre

2011/1/27 Scott Gray <scott.g...@hotwaxmedia.com>

> If they have a user base then what does it matter?  If people care then
> they'll look after them and if not then they'll die, either way it's one
> less thing to worry about.
>
> Regards
> Scott
>
> HotWax Media
> http://www.hotwaxmedia.com
>
> On 28/01/2011, at 1:03 AM, Jacques Le Roux wrote:
>
> > Project Manager, POS? Even maybe My Portal and AssetMaint?
> >
> > Jacques
> >
> > Scott Gray wrote:
> >> I agree that ecommerce is significantly important enough that it should
> be kept under project control but I don't believe for a
> >> second that the other special purpose components benefit from being in
> the main code base except that it increases their
> >> visibility.  On 28/01/2011, at 12:34 AM, Jacques Le Roux wrote:
> >>> Another interesting idea, competing with Erwan's. I'd also prefer to
> keep things in ASF repo if possible...
> >>> We could have a distinction between components, important one
> (eCommerce, ...) still in ASF repo, others more peripheric, (ebay,
> >>> Google, Oagis, etc.) out of it? Jacques
> >>> From: "Pierre Smits" <pierre.sm...@gmail.com>
> >>>> That sounds like a workable solution to me as well.
> >>>> But why move parts of the current code of the product (as is it is
> now)
> >>>> outside of the ASF' repo?
> >>>> Looking at Commons in JIRA I see several related projects. We could do
> this
> >>>> for OFBiz too. Split up in to several sub projects, have for each sub
> >>>> project a committed sub community of users, contributors and
> committers. And
> >>>> still having interaction between all.
> >>>> Regards,
> >>>> Pierre
> >>>> 2011/1/27 Jacopo Cappellato <jacopo.cappell...@hotwaxmedia.com>
> >>>>> On Jan 27, 2011, at 11:50 AM, Scott Gray wrote:
> >>>>>> (With so many messages I don't have a good spot to say my short
> piece so
> >>>>> here will do)
> >>>>>> IMO our problems will only increase with the size of the code base.
> >>>>> Every time a new feature is committed you have an additional
> potential
> >>>>> audience that must be kept happy and our ability to please everybody
> >>>>> continues to decrease.  Unhappy people don't work well together so
> things
> >>>>> just keep getting worse.
> >>>>>> Solution?  Decrease the size of the code base and included features
> and
> >>>>> increase the ability for the community to share contributions outside
> of the
> >>>>> ASF's repo.  Decrease the load on the committers and let the rest of
> the
> >>>>> community put their money where their mouth is.
> >>>>>> Some ideas (feasible or not):
> >>>>>> - Pull out all of the themes except one and move each one to google
> code
> >>>>> or wherever if there is someone interested in looking after each one.
> >>>>>> - Then do the same for the bulk of the special purpose apps.
> >>>>>> - Separate the framework from the applications.
> >>>>>> - Remove any framework features that aren't used by the applications
> or
> >>>>> are of relatively low value and allow them to be dropped in by users
> when
> >>>>> they need them.
> >>>>>> - Perhaps even take another look at the possibility of reducing the
> >>>>> dependencies among the core apps and splitting them (I'd gladly
> welcome 100
> >>>>> new committers to the humanres app because I have no interest in it).
> >>>>>> - Turn the payment and shipping gateway implementations into drop in
> >>>>> components along with any other pieces of code that are suitable for
> >>>>> extraction
> >>>>>> - Investigate ways to allow plug-in modification of apps and
> implement
> >>>>> something (anything) that allows it.
> >>>>> +1 on all points; the next step in the life of the project will be
> the
> >>>>> setup of an healthy ecosystem and these are concrete steps in that
> >>>>> direction.
> >>>>> Jacopo
> >>>>>> Right now we have a gigantic project with a gateway of ~13 active
> >>>>> committers (23 total) who have day jobs to worry about along with
> reviewing
> >>>>> (and fighting about) commits (or just giving up on this
> responsibility),
> >>>>> attempting to improve the project and taking part in these (mostly
> pointless
> >>>>> discussions) and then keeping the rest of the community happy.
>  Increasing
> >>>>> the number of committers just increases the potential for
> disagreement and
> >>>>> then stagnation so the only other option to reduce the code.
> >>>>>> Give control of features and components to people who care about
> them and
> >>>>> then help users find them externally as they need them.  Don't like
> the
> >>>>> direction a feature/component is taking? Fork it and compete.
> >>>>>> Regards
> >>>>>> Scott
> >>>>>> On 27/01/2011, at 9:54 PM, Jacopo Cappellato wrote:
> >>>>>>> I have noticed some negative trends happening to us in the last
> (1-2)
> >>>>> years:
> >>>>>>> * a dramatic decrease of design discussions and an increase in
> commits
> >>>>>>> * committers are often working for themselves and not for the
> greater
> >>>>> good of the project ("if a customer pays me to do something then it
> will be
> >>>>> also good for the project")
> >>>>>>> * less peer reviews and mostly focused on formal aspects rather
> then
> >>>>> fundamental aspects of the contributions
> >>>>>>> * a decrease in the minimum quality level needed to make a commit
> >>>>> "acceptable"
> >>>>>>> * a proliferation of "best practices" and "rules" in an attempt to
> >>>>> improve the quality of the commits
> >>>>>>> * a decay in the attitude and quality of discussions: attacks,
> critics
> >>>>> and fights instead of healthy discussions to learn from others and
> improve
> >>>>> design decisions
> >>>>>>> Of course I am focusing on bad things, to the good ones (yes, there
> are
> >>>>> also good ones) it is easier to adjust: however when the final result
> of our
> >>>>> efforts is that a person like David doesn't feel comfortable in
> contributing
> >>>>> more then I feel bad.
> >>>>>>> The primary goal of the PMC, and the community in general, should
> be
> >>>>> that of creating the perfect environment to facilitate contributions
> from
> >>>>> people like David, and limit/review/improve the contributions from
> other
> >>>>> less blessed contributors: it seems like all our efforts are
> obtaining the
> >>>>> exact opposite result.
> >>>>>>> Jacopo
> >>>>>>> On Jan 27, 2011, at 7:46 AM, David E Jones wrote:
> >>>>>>>> I'll respond here to Adrian's comments below, and to what Raj and
> >>>>> others have written as well.
> >>>>>>>> Backwards compatibility is a huge issue, but I suppose that is as
> much
> >>>>> a symptom as it is a disease in and of itself. The underlying issue
> is
> >>>>> bureaucracy.
> >>>>>>>> If I wanted to spend all my time chatting with others and writing
> >>>>> endlessly about when to do things and what to do, and trying to
> recruit
> >>>>> others to do it... then OFBiz would be the perfect place for that. I
> did
> >>>>> that for years, and I'm happy with what has been done with OFBiz, but
> there
> >>>>> came a point in time where the whole bureaucratic trend became
> stronger than
> >>>>> any single person's ability to push for new or different things. That
> point
> >>>>> in time was at least a yeah and a half ago, and perhaps long earlier
> than
> >>>>> that depending on how you look at it.
> >>>>>>>> Personally, I'd rather spend my time on more productive efforts,
> and do
> >>>>> so in a way that avoids this same bureaucratic mess in the future
> (like
> >>>>> different management style and keeping framework, data model, themes,
> and
> >>>>> applications as separate projects). This way not only I, but many
> people are
> >>>>> free to work on what they want to and not have to argue about every
> little
> >>>>> thing they want to do, or deal with constant complaints about every
> little
> >>>>> thing they actually do.
> >>>>>>>> Isn't separate and competing projects better than that everyone
> arguing
> >>>>> and having to agree on what to do? Well, I have good news! No matter
> how you
> >>>>> (the reader) answer that question, you have an option to fit your
> >>>>> preferences.
> >>>>>>>> -David
> >>>>>>>> On Jan 25, 2011, at 8:45 PM, Adrian Crum wrote:
> >>>>>>>>> Many of the things listed here have been discussed, and as far as
> I
> >>>>> can tell, there is no objection to making those changes - we just
> need the
> >>>>> manpower to do it.
> >>>>>>>>> Item #7 has been discussed and there hasn't been any argument
> against
> >>>>> that change - except that it touches on the backwards-compatibility
> issue.
> >>>>> And I'm going to use this opportunity to address that issue.
> >>>>>>>>> Some of the changes mentioned here wouldn't affect any of my
> projects
> >>>>> - because I don't attempt to patch or modify the framework - I only
> build
> >>>>> applications on it. Other changes mentioned here would make
> application
> >>>>> development easier.
> >>>>>>>>> The other day Ryan Foster described the backwards-compatibility
> talk
> >>>>> as a mantra. I view it as more of a straw man. Five days ago I posed
> this
> >>>>> question to the user mailing list:
> >>>>>>>>> "Would you, as an end user of OFBiz, knowing that the OFBiz
> project
> >>>>> could be improved greatly - but at the cost of some backward
> incompatibility
> >>>>> - accept the changes? If yes, how often would backwards-incompatible
> changes
> >>>>> be acceptable?"
> >>>>>>>>> It is interesting to note that in a list of over 400 subscribers,
> no
> >>>>> one has replied.
> >>>>>>>>> The most vocal proponents of backwards-compatibility (in the
> >>>>> framework) are a few players who have modified the framework locally.
> As a
> >>>>> community, do we really want to allow those few members to stifle
> >>>>> innovation?
> >>>>>>>>> Some users claimed the updated Flat Grey visual theme wasn't
> >>>>> "backwards compatible."  What does that even mean? Some colors and
> >>>>> background images were changed - how is that backwards incompatible?
> >>>>>>>>> To be fair, I have been an advocate for backwards-compatibility.
> But
> >>>>> that has been for things that break application functionality.
> >>>>>>>>> At the least, there needs to be a compromise. At best, there
> needs to
> >>>>> be acceptance of the possibility of future versions that are not
> backwards
> >>>>> compatible with previous versions. That concept is not new or
> revolutionary
> >>>>> - it goes on in every software project, both open source and
> commercial.
> >>>>>>>>> David has some great ideas, but he feels compelled to start over
> from
> >>>>> scratch to implement them. From my perspective, that's a tragedy. One
> of the
> >>>>> project's founders feels the need to start another project as a last
> resort
> >>>>> to make the project he originally started better. Does that make
> sense?
> >>>>>>>>> I don't want to use Moqui. It's an unfinished framework
> controlled by
> >>>>> one person and it has no applications built around it. Bottom line -
> it's
> >>>>> not an option. What I want is  Moqui's innovations in OFBiz.
> >>>>>>>>> I believe it's time we have a serious discussion about this.
> Users
> >>>>> have commented that there is no plan for OFBiz - what is planned for
> its
> >>>>> future? They're right. Maybe we should come up with some plans, or
> some kind
> >>>>> of path to the future.
> >>>>>>>>> I propose we put all the cards on the table. Where do we go from
> here?
> >>>>> Continue on our present path and have competing projects that improve
> on
> >>>>> OFBiz technology?  Try to keep innovation in the project at the
> expense of
> >>>>> some backwards incompatibility? Maintain backwards compatibility by
> forking
> >>>>> the project to something new? Or have milestone versions that are
> clearly
> >>>>> marketed as backwards incompatible with previous milestone versions?
> >>>>>>>>> Lately, it seems many of the big players in the OFBiz developer
> >>>>> community have been absent on the mailing list. I understand that
> this is a
> >>>>> volunteer community, but at the same time, we all have a say, and
> that "say"
> >>>>> depends on us saying *something.*
> >>>>>>>>> So, please say something.
> >>>>>>>>> -Adrian
> >>>>>>>>> On 1/25/2011 1:53 PM, David E Jones wrote:
> >>>>>>>>>> On Jan 25, 2011, at 6:02 AM, Ruth Hoffman wrote:
> >>>>>>>>>>> On 1/25/11 2:06 AM, David E Jones wrote:
> >>>>>>>>>>>> All of that said, now that Moqui is starting to take shape I
> find
> >>>>> the OFBiz Framework to be cumbersome and inconsistent in many ways
> (things
> >>>>> that are hard to fix, but that are not surprising given the
> pioneering
> >>>>> history of the OFBiz Framework). Those funny quirky things are likely
> a
> >>>>> turn-off to prospective developers and I'm hoping to remove that
> impediment
> >>>>> to adopting the approach.
> >>>>>>>>>>> David - you keep saying this..Please provide some examples of
> >>>>> "cumbersome and inconsistent" within the framework. And why not try
> and fix
> >>>>> these? Instead of reinventing the wheel. What "funny quirky" things
> have
> >>>>> turned of prospective developers? Do you have an specific examples?
> >>>>>>>>>> Yes, I have mentioned these many times especially in the last
> 2-3
> >>>>> years. Some of them I have tried to fix in OFBiz itself and ran into
> rather
> >>>>> large problems. These are not easy changes to make in a large and
> mature
> >>>>> project like OFBiz, and after trying a few times I decided that a new
> >>>>> framework was the only way forward (another thing I've written before
> and
> >>>>> made very clear).
> >>>>>>>>>> These are the things that led to many aspects of the design of
> Moqui,
> >>>>> and the best summary of them is the document I wrote about the
> differences
> >>>>> between the Moqui and OFBiz frameworks:
> >>>>>
> http://sourceforge.net/projects/moqui/forums/forum/1086127/topic/3597296
> >>>>>>>>>> To sum up here are some of the major inconsistencies and
> annoyances
> >>>>> in the current OFBiz framework that bug me frequently while I'm
> developing:
> >>>>>>>>>> 1. XML actions are different in each widget and in the
> >>>>> simple-methods; they share some underlying code but there are so many
> >>>>> differences
> >>>>>>>>>> 2. scriptlets and expressions are a messy combination of
> BeanShell,
> >>>>> UEL, and Groovy and keeping track of which is a pain, plus the Groovy
> syntax
> >>>>> and capabilities are SO much better than the others so I find myself
> almost
> >>>>> always using ${groovy:...} instead of the default, and in annoying
> places
> >>>>> like the form.field.@use-when attribute since it is always BeanShell
> I
> >>>>> just use a set action to prepare a boolean and then check it in the
> use-when
> >>>>> (BeanShell is HORRIBLE compared to groovy, especially when squeezed
> into XML
> >>>>> attributes)
> >>>>>>>>>> 3. the controller.xml file gets HUGE for larger applications,
> and if
> >>>>> split it becomes harder to find requests and views; *Screen.xml files
> also
> >>>>> tend to get HUGE with large numbers of screens in them; both are not
> >>>>> organized in the same way as the application, also generally making
> things
> >>>>> harder to find; views/screens and requests don't define incoming
> parameters
> >>>>> so when doing request-redirect you have to specify the parameters to
> use in
> >>>>> a larger number of places
> >>>>>>>>>> 4. another on the topic of why so many files: service groups and
> >>>>> simple-methods are just XML, why not include them inline in the
> service
> >>>>> definition (especially for smaller services), and encourage fewer
> services
> >>>>> per file
> >>>>>>>>>> 5. loading of artifacts is not very lazy, meaning lots of unused
> >>>>> screens, forms, services, entities and so on that are not used are
> loaded
> >>>>> anyway; also many artifacts are difficult to reload by cache clearing
> and so
> >>>>> that has limited support in OFBiz; this slows things down reloading
> lots of
> >>>>> stuff in development, and results in more resources used than needed
> in
> >>>>> production
> >>>>>>>>>> 6. the deployment model of OFBiz is limited and the use of
> static
> >>>>> fields for initialization makes it difficult to deploy in other ways;
> there
> >>>>> are few init/destroy methods and object instances that would make
> more
> >>>>> deployment models easier and more flexible; also because of this it
> is
> >>>>> difficult to get data from other parts of the framework (for example
> the
> >>>>> audit log stuff in the OFBiz Entity Engine uses ThreadLocal variables
> to
> >>>>> pass userLoginId and visitId down since there is no other good way of
> doing
> >>>>> it); in other words, the tools don't share a context
> >>>>>>>>>> 7. no API for apps; the framework is made up of an enormous
> number of
> >>>>> classes that follow a bunch of different "patterns" (in quotes
> because the
> >>>>> use of the term is generous) because of various people "cleaning"
> things up
> >>>>> over time (also in quotes because the use of the term is generous),
> and
> >>>>> there is no distinction between the API that apps are intended to use
> and
> >>>>> the internal implementation of that API; this has the nasty side
> effect of
> >>>>> making it difficult to find the object and method you want, AND it
> makes
> >>>>> backward compatibility problems REALLY nasty because it gets people
> >>>>> believing that EVERY SINGLE object needs to ALWAYS be backward
> compatible...
> >>>>> and that results in more and more piles of trash code lying around
> over
> >>>>> time, and all of that code and differing patterns makes framework
> changes
> >>>>> error-prone and unnecessarily difficult (and this is true for some of
> the
> >>>>> app code in OFBiz too)
> >>>>>>>>>> I should get back to work... there's a short list anyway...
> >>>>>>>>>> The trick is how to solve these without abandoning backward
> >>>>> compatibility, and requiring a refactor of much of the framework and
> then
> >>>>> based on that the updating of massive numbers of application
> artifacts...
> >>>>> and that is just the stuff in OFBiz itself... not including
> everything that
> >>>>> everyone else has written outside the project that they may want to
> update.
> >>>>> And, ALL of that would have to be retested. Plus, it would take so
> long to
> >>>>> get all of this done in a branch with huge numbers of changes while
> others
> >>>>> are making incremental changes in the trunk making it nearly
> impossible to
> >>>>> merge the branch into the trunk, so it would basically be a fork
> anyway...
> >>>>>>>>>> -David
> >
> > Project Manager, POS? Even maybe My Portal?
> >
> > Jacquees
>
>

Reply via email to