From: "olivier Heintz" <[email protected]>
> ApacheCon-Eu presentation is now available,
> http://archive.apachecon.com/eu2012/presentations/07-Wednesday/PR-Community/aceu-2012-ofbizextra-addons_what-constrains-for-each-repository.pdf
> 
> 
> I propose below a short summary (only the main points) to be able to
> start community discussion.
> 
> I will do a second mail for comments about this presentation.
> 
> Agenda :
> ======
> - Why to use OFBiz-extra rather than to include it in Apache-OFBiz?
> - the ofbizextra-addons Goals
> - Rules and Constraints by Repository
> - Process to change
> - Conclusions
> 
> Why to use OFBiz-extra rather than to include it in Apache-OFBiz?
> =========================================
> - Slim-down process in Apache-OFBiz project
> - Several technologies for the same function
> Ex : jasperReport, Birt, …
> - Licence
> Ex : GPL
> - Personal decision versus Apache-OFBiz PMC decision
> - Work in progress
> - OOTB solutions for dedicated Business

Sounds like good reasons to me.

> ofbizextra-addons Goals
> ===============
> - Facilitate and simplify :
> * Contribution to OFBiz
> * Using / Testing added functions
> * Community and/or OFBiz-committer validation
> - Increase :
> * Quality and use of Best Practice
> * OFBiz functionalities without weighing down kernel
> * Propose OOTB dedicated solutions for users

More tests should be done by the community before adopting ofbizextra-addons 
for Apache OFBiz Extras
But from my early tests, and knowing the Neogia community experience with 
addons, I think all these goals qualify.


> Rules and Constraints by Repository
> =======================
> - 3 repository

>From what I already learned (very few) from addons, these must be svn repos.
It would not be at the ASF because of possible license issues, so where will 
they be? How reliable will they be or should they be? etc.
Also we could have an entry in the ASF repo, under 
https://svn.apache.org/repos/asf/ofbiz if the addons are ASL2 licensed. But 
this would NOT mean, except if we agree otherwise, that the addons there are 
reviewed "guaranteed" by the OFBiz team. Anyway from an official POV *only 
released products are official*. I mean those here 
http://ofbiz.apache.org/download.html

> - ofbiz-extra-addons-dev
> * This project is open for all contributors who want to create or
> maintain apache-ofbiz addons.
> * This project has no quality or best practice control, each contributor
> should try to do the best he can.
> * When a user uses an existing addon in this repository, he should
> assume risks, but but in many cases it will help him.

+1

> - ofbiz-extra-addons-incubator
> * This project is open for all Apache-OFBiz addons that should become :
> + part of ofbiz addons labeled "Quality" repository (ofbizextra-addons),
> + or part of Apache ofbiz project.
> * Addons of this project are in a Quality, Best Practice evaluation and
> enhancement.
> * There is, at least, one organization / person that is involved to
> solve bugs or to offer support services for this addon.

I wondered how this would be "enforced" but ok it's explained below in 
conditions.

> - ofbiz-extra-addons
> * Repository of the addons labeled "Quality"
> * In the future, a similar repository can be created as an Apache-OFBiz
> sub-project (for addons with Apache2 licence)

Yes, as discussed above IMO. Maybe not in a 1st step, but possibly when things 
will have settled down...

> * There is, at least, one organization / person that is committed to
> offer support services for this addon.
> * Addons
> + Have a complete user help
> + are included in a Continuous Integration Job :
> = Installation test
> = Unit test : Junit
> = Functional test : Selenium

What I fear (even with the conditions below) is the admin work (understand 
paper-work) related with these "steps" (not real steps since you can choose to 
stay in the dev eternally). I mean how to guarantee things/states related to 
conditions? Who will (officially, think conflicts) do it?
 
> Addon Quality status page
> (http://code.google.com/a/apache-extras.org/p/ofbiz-extra-addons-incubator/wiki/modelAddonQuality)

> =================
> - Update history
> * contributor, date, version, indicator, description
> * reviewer, date, version, indicator, description

> - Base Files
> * add-on.xml, date, version, status, indicator
> * maintainer in add-on.xml, date, version, status, indicator
> * ivy.xml, date, version, status, indicator
> * addon help (English), date, version, status, indicator
> * jenkins job, date, version, status, indicator

> - User Help File
> * writing, date, version, status, indicator
> * review and test, date, version, status, indicator

> - Details
> * Entity - Field
> + Entity, FieldName, Label, Field Description, version, indicator
> * Service
> + ServiceName, description, Junit, version, indicator
> * Portlet
> + PortletName, help, SeedData, parameters, security, selenium, version
> indicator

> Conditions to be in Incubator
> ==================
> - The minimum is :
> * add-on.xml and ivy.xml correct
> * a jenkins job for install testing
> * addon help wiki page finished
> * Quality status wiki page created with all boxes
> * One review for User Help section
> - Authorized to commit only for
> * Addon maintainer
>

> Condition to return to dev
> ================
> - More than 5 consecutive weeks with only failing install test jobs
> - No answer for user help questions
> * Answers can be an assistance proposal
> * and If the user help is not completed
> - No answer from the maintainer
> * It's possible to change the addon maintainer if other people do it
> - New function posted without user help or addon goal change
> * Quality regression
> - No support for a new future release-branch
> * Ofbiz trunk branch support is not mandatory


> Conditions to become :
> ==============
> - Part of Apache-ofbiz
> * Rules of Apache-OFBiz
> + The quality status will help the committer to assess the contribution
> + The evaluation in the incubator can be done by other people than the
> committer, so as to help the apache-ofbiz committer

BIG +1

> - In the ofbiz-addons repository labeled “Quality”
> * All Quality status page items are OK
> * 5 consecutive weeks with at least one day per week with a successful
> jenkins job (install+unit+functional)
> * 2 other addon maintainers ready to become “maintainer deputy” (in two
> other companies)

> Condition to “go back” to:
> ================
> - Incubator
> * Quality regression:
> + New function posted without user help or addon goal change
> + New service without Junit test
> + New portlet without selenium test
> - Dev
> * More than 5 consecutive weeks with only failing
> “install-unit-functional test” jobs
> - Go back or revert commit in ofbizextra-addons and commit new addon in
> dev or incubator

 
> What exist, what is ready
> ================
> | addonmanager | ready to use for experienced developer, not for
> beginner or end user | 1/5 |
> | adr Addon repository manager | operational, little problem with google
> code access | 4/5 |
> | ofbiz-extra-addons-dev | Exists, contains 4 addons for OFBiz
> PortletWidget branch | 4/5 |
> | ofbiz-extra-addons-incubator | Exists, work in progress, not yet an
> addon, the first one will be adm-gui | 2/5 |
> | ofbiz-extra-addons | not created yet | 0/5 |
> | user help engine | Current ofbiz help system is usable, new help
> system is better |
> | even if there are some functionalities to finish | 3/5 |
> | addon help | operational with current ofbiz help system, not with the
> new one | 4/5 |
> | quality status page per addon | exists but manual update could be too
> expensive to be usable | 3/5 |
> | Junit engine in OFBiz | exists and operational in jenkins environment
> | 5/5 |
> | selenium engine in OFBiz | exists, but not integrated in ofbiz and
> still with random errors |
> | with httpunit-webdriver | 2/5 |
> | ofbizextra jenkin server | not available yet, but jenkins.neogia.org
> can be used for the first addons | 1/5 |

So all this ius currently supported by "Neogia  servers", right?
 
> Conclusions
> =======
> - Everything is ready to facilitate contributions
> * Small ones and larger ones
> * Technical or/and functional
> * One function or a Solution
> - Everything is ready to continue the Apache-OFBiz
> * Slim-down process
> + ex: Birt
> - Everything is ready to start an improvement in quality

Nice introduction, thanks Olivier!

Jacques

Reply via email to