Karl,

The URL David has pointed to does contain best practices for collaborative work. And yes, that document, if followed strictly, does give your contributions a very high chance of getting into OFBiz SVN. It is also my preferred way of doing collaborative work --- structured and controlled.

I'm sorry that you will, according to the document, need to do a lot of work before your contribution is considered "easy enough to review". A few issues require substantial manpower, for eg one that is major in effort though trivial in code incompatibility is: "do your best to avoid to mix formatting changes with relevant changes". Even for me to review your work, it'll be much faster and easier if you can remove formatting changes and change tabs to spaces, etc.

Also, there's a way to do "additive" code changes with _minimal_footprint_, so you get backward-compatibility plus you can produce neat small patches to community. If this isn't your coding style, it'll also be more difficult for me review your work.

According to the document, the first rule for contributing large blocks of code 
is: don't.

A possible difference between the way I do reviews and the way the community does it could be: "especially if [the code change] touches ANY lower level or more sensitive or complex artifacts, and this requires more thorough review". Rather than discuss whether your change affects usages of say method SomeClass.someMethod(), I perform a simple reverse-engineering process to find out for certain. Of course, how well I catch affected usages depends entirely on this reverse-engineering process! So far, I dare say OFBiz is structured enough to allow a 100% catch with my methods; the possible few that slip through could've been coded in very non-standard ways that should be changed anyway. A side-effect of this process: highlight non-standard ways of invoking certain functions, and change them ONLY if they're wrong (or fine-tune my catch process).

That's the best explanation I can muster, I'm afraid. I hope that makes sense 
to you.

Remember the 4-step process? We can stop at step 2, getting the latest of OFBiz to play well with your work, for now. Then decide what to do later on.

As I had guessed, there could be many large block contributions out there, and authors who can't be bothered to spend the time to feed them back to OFBiz. I don't have a solution to this.

Jacques and David (according to document) are correct in saying that the legal review process is difficult for large block contributions. So, you could be looking at keeping your codes in step with OFBiz SVN, rather than merging your codes into OFBiz SVN. You don't have to worry if you don't absolutely need to share your work; you only should worry if you don't know your work well (coded by others) and you want it tested and debugged by the public over time.

Always do try to follow the document for collaborative work, inhouse or with 
OFBiz or in any projects.

Lastly, I'd like to point out to all SVN users point 3.1 in the document: "first do no harm. Nothing should be committed that breaks existing functionality". That applies mainly to the trunk. Anyway, OFBiz only has one branch --- trunk. I've explained before how SVN lets you do bold moves in insulated branches. Remember that "insulated branches" can also be your own private repositories.

Jonathon

David E. Jones wrote:

Karl,

For best results I HIGHLY recommend reading and following the recommendations in the Contributors Best Practices document here:

http://docs.ofbiz.org/display/OFBADMIN/OFBiz+Contributors+Best+Practices

A lot of people have ideas about how to do different things, but this is the document prepared and maintained by the OFBiz PMC and committers and following the recommendations there will give your contributions the best chance of getting in, and probably be the easiest way to go for both you and the committers who review and commit your contribution.

Thanks for your patience, and sorry for the total chaos this thread has become. It is an unfortunate side effect of not taking a heavy-handed and centralized approach to creating and maintaining software.

-David


On Apr 23, 2007, at 6:33 AM, Eilebrecht, Karl ((Key-Work)) wrote:

Jonathon,

I'll discuss this with a colleague.
As I understand first option is to send you
two archives, one with the original distribution we
downloaded in January and a second one also including
our changes.
Second option is to download the next release (coming these days?),
merge this and send you the pre-merged archive to do a check.

I've got an account at https://issues.apache.org/jira/browse/OFBIZ
Is it correct that I will have to attach a large archive to an issue
created in advance by yourself or myself?

If you're going to create the initial issue (mentioned in your last posting)
please send me the issue number. I'll also put a link on that wiki page.

Thanks for your support!

Regards.
Karl





-----Ursprüngliche Nachricht-----
Von: Jonathon -- Improov [mailto:[EMAIL PROTECTED]
Gesendet: Montag, 23. April 2007 13:38
An: [email protected]
Betreff: Re: AW: Ofbiz Contribution Proposal

Karl,

It's a great offer on your part too, to let us have those codes!

If you've done a merge with OFBiz trunk on 2007-01-05, that means you already know how to keep in
step with OFBiz trunk head! You can actually do what I do, on your own.

That said, if you still need my help, see the following.

These are what I'll need from you:

a. Exact OFBiz revision you started off from.

(Try to send me a tarball of that revision so I don't have to do a SVN
    download which can be a real pain thanks to the 35MB of 3rd-party
libraries. My own SVN doesn't include those 35MB or 3rd-party binaries; let me know if you want advise on how to cut a lean SVN without binaries.)

b. Tarball of your latest work you want merged with OFBiz trunk head.

(Please do an "export"; I don't need the .cvs files.)

What I will give you is a tarball of this: OFBiz trunk head (I'll state revision for our
reference) married with the latest of your work.

You will have to test this tarball over time, get back to me about problems, and I'll keep sending you fixed tarballs (or deltas, rather). We won't even have to touch the official OFBiz SVN.

For the initial "review", I will at least make sure it compiles and runs. You will have to test your own functions to see they still work with the latest updates from OFBiz SVN.

So, here's the summary of the process:

1. We merge latest of OFBiz with your stuff.

2. Review A: We make sure your stuff still works.

3. Review B: We (or community) make sure the general OFBiz stuff still works.

4. We submit a patch (diff OFBiz to Your_work) to community.

And then the ball will be in their (committers') court.

Generally, you can pretty much stop at step 2 if all you want is the latest of OFBiz working with your stuff. If you had done your customizations in a backward-compatible manner, step 3 won't be
very difficult or even necessary at all.

Jonathon

Eilebrecht, Karl (Key-Work) wrote:
Hi Jonathan, hi Chris,

thank you for your feedback (and also thank you for stiring up a hornet's nest ;-) )

@Chris: I will try to answer your questions on the wiki page:
http://docs.ofbiz.org/display/OFBIZ/Key-Work+Ofbiz+Contribution+Proposal
I think this is more comfortable to retrace.

@Jonathan: It's a great offer you made to take a look on our code and to
evtl. merge it! What's the best way to provide the code to you?
I'll have to prepare some things before:
- for historical reasons we have a CVS repository and I
or one of my colleagues will set up an SVN client. Is it more convenient to
you to get an archive for the first review or would you recommend to
pump the sources into a repository? (where?)
- I already have added the Apache-Header (ASL) to all of the classes
we might contribute.
- I'll have to replace all tabs in the sources by 4 spaces.

The rest I think should be not too complex, our last framework merge (with trunk) was on 2007-01-05, I don't think there are dramatic low level interface changes since then.

We have already switched to Java 6 but all the classes to be contributed
are compileable with Java 1.4.

Regards.
Karl

BTW: During the next weeks there may be some "communication delays" because I'll not be in the office all the time. So please don't worry if an email answer needs some days, thanks!






-----Ursprüngliche Nachricht-----
Von: Chris Howe [mailto:[EMAIL PROTECTED]
Gesendet: Samstag, 21. April 2007 08:33
An: [email protected]
Betreff: Re: Ofbiz Contribution Proposal

Hi Karl,

I had the opportunity today to quickly read over your introductions.
And must say it looks very interesting.  Unfortunately, for my being
able to add input to the process, the improvements are in areas as an
OFBiz user, that I take for granted and don't really get my hands dirty
with.

I'll need to read over the transaction part again to ask any
intelligent questions, so I'll leave that for later.

The custom SQL stuff looked very interesting and probably one of the
larger areas of benefit as more and more people are getting to the
point of locating bottlenecks in their applications.  I was wondering
if there might be some benefit in encapsulating the stored sql
statements it in an XML structure to be able to better take advantage
of some META data/commenting that you discussed as well as potential of
some reusability and structuring of those custom statements.

Perhaps, I need to reread the logging discussion again, and ask if this
is largely supported among other databases, but can't most of these
logging of the sql statements be handled in the database's log, if
configured to do so?  I recall a mention that the developer may not
have sufficient access to the database server to ascertain the database
logs...is this case where the logging proposal would be more
beneficial?

Thank you and Key-Work very much for bringing these enhancements back
to the community!

Chris

--- "Eilebrecht, Karl  (Key-Work)" <[EMAIL PROTECTED]> wrote:

Hi,



we use Ofbiz (mostly the entity engine) for over 2 years now.



Last year I had mail contact with David.



He recommended to contribute changes to the Ofbiz Community regularly
whenever possible and useful.



It is a long time since this happened, but we finally convinced our
management to try



to contribute some changes and extensions to the Ofbiz community.



I read the FAQ and found out that especially complex changes might
take a long time



and we may need some "community attendance".



David told me to place our proposal at the Ofbiz-WIKI

and to send a link to this mailing list.



This is our "trial balloon" to find out whether our changes and
improvements



are welcome and how we could integrate them during the next months.



I.e. the following extensions may also be interesting for other
members

of the community:



 * Advanced custom SQL integration

 * advanced sorting (locale, collation, natural sort)

 * completely refactored TransactionUtil with documentation and hints


 * on-demand "real"-sql-logging for ALL ofbiz statements

...



I placed our stuff at

http://docs.ofbiz.org/display/OFBIZ/Key-Work+Ofbiz+Contribution+Proposal
and hope one of the "Ofbiz gurus" will have a look at the attached
stuff to make a statement.



Thank you in advance!



Best regards



Karl Eilebrecht

--Karl Eilebrecht
Key-Work Consulting GmbH

Kriegsstr. 100 - 76133 Karlsruhe - Germany
Fon: +49-721-78203-277 - Fax: +49-721-78203-10
[EMAIL PROTECTED]


Key-Work Consulting GmbH Karlsruhe, HRB 108695, HRG Mannheim
Geschäftsführer: Andreas Stappert, Tobin Wotring








Reply via email to