On 14/12/2015 4:40 PM, Jacques Le Roux wrote:
Hi Ron,
It's interesting, and I agree with you we must organise the project
and ourselves "more". But it's too early for me at the moment :/
Sorry but I prefer to keep focused on simple tasks (baby steps) for
now, this one is about specialpurpose components :)
It is a start and is raising the discussion about structure even if it
is not as sweeping as I would like.
The discussion itself is valuable in bringing some hidden agendas and
undocumented usage and dreams to the fore.
Note that another baby step we have already decided on is to group the
applications data model in one component.
This should hopefully clarify things at the applications level. I
think most dependencies are due to the data model, but I'm not quite
sure about that.
Anything that decouples the various parts is a good step and even if
some problems are found that can not be solved immediately at least they
will have been identified.
Jacques
PS: BTW I just found this article interesting
http://breakingsmart.com/season-1/rough-consensus-and-maximal-interestingness
. Seems that there are a bunch of others as interesting there.
It would be much easier to follow some of the idea expressed here about
agility, freedom and rough consensus if the risks were minimized by
limiting the scope of the impact of the decisions.
Ron
Le 14/12/2015 16:47, Ron Wheeler a écrit :
It seems that this discussion is just dancing around the core problem
with the current structure of OFBiz.
There seems to be a natural set of almost separate projects that are
lumped together into a rather tangled object.
This discussion is nibbling around the edge of the problem rather
than addressing the problem straight up.
To get to the next level of product maturity, we need to find a way
to break the product into manageable pieces with well defined rules
about how it gets extended and how "new" features get integrated.
The framework should be the first to get untangled since that is
supposed to be a separate product.
This is in progress but it not yet clear what the relationship will
be between the new framework and the old one or even OFBiz.
At some point, the leaders of this project are going to have to
decide what is the core ERP application. This means separating:
- core functionality
- core seed data
- seed Data for particular industries or
- demos
- optional application modules
Then there needs to be rules about how new things get added.
Breaking up the people who can commit to each area will add a bit of
discipline to the process.
At the moment any committer can change every level of the structure
to accomplish their goals.
This is very efficient for the person wanting to add something but
creates havoc for the project as a whole.
Getting to a point where releases of individual components can be
made without having to release everything at once will have a lot of
benefits and make it easier to maintain an OFBiz installation.
If you can upgrade the framework without updating the ERP, framework
improvements can be made more rapidly.
If the core ERP can be upgraded without having to worry about every
"special purpose" component ever created, it will get a lot easier to
get releases out.
This means that there will have to be rules and real APIs that you
can not violate.
It will also mean that people wanting to change things that require
changes to multiple levels will have to actually discuss their
proposal and convince the framework team or ERP team to add the
required functionality and test it to make sure that it does not
break the API.
This will also increase the potential for community involvement.
Currently, it is too risky to add committers who only want to work on
one module or even a demo since there is no way to stop them breaking
lots of things accidentally.
Ron
On 14/12/2015 1:01 AM, Jacques Le Roux wrote:
Le 08/12/2015 20:59, Nicolas Malin a écrit :
Le 19/11/2015 11:45, Jacques Le Roux a écrit :
Could we list, apart the well known Birt issue, special
components which
are overriding main applications?
Directly by memory, the scrum components has defined new seca on
cust
request to send email that break the standard customer request
system
An other where I failed, used service findProductsById instead of
findProductById, the first from hhfacilty and the second from
catalog. And
want you start your hot-deploy component without specialpurpose
... paff !
:)
Thanks for these points Nicolas, I agree with Pierre suggestion.
For instance does really the hhfacilty findProductById service
needs to be named the same than in product? Etc.
Of course I'm also for this, but the problem isn't on the capacity
to open a jira issue.
Nicolas
OK, I had an idea. Why not commenting out the specialpurpose
components by default, but uncomment those which have proved to "not
be a problem"?
"Not be a problem" means here which are not overriding applications
component. So we could create a "Comment out specialpurpose
components by default" Jira
with possible subtasks for litigious cases (when we find an issue
after uncommenting out)
I suggest though that we don't do that on trunk (which would still
contains all components active) but on the next frozen release. We
could even do it on R14.12 if we have a consensus.
To start, I'd at least uncomment out:
example
exampleext
pos
ecommerce(? if not OK then we create the main Jira and a subtask for
it)
Adds your please...
Opinions?
Jacques
--
Ron Wheeler
President
Artifact Software Inc
email: rwhee...@artifact-software.com
skype: ronaldmwheeler
phone: 866-970-2435, ext 102