You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ace.apache.org by Mike Haney <tx...@gmail.com> on 2010/06/01 00:36:13 UTC

Contributing code

Hello.  I have been designing a provisioning and licensing system for our
suite of applications, and I came across ACE which it looks like will give
me a big headstart in implementing these features.  However, I know there
are some requirements that won't be fulfilled by ACE.  For example, we will
need to be able to integrate with a third party licensing system, and also
be able to deploy user-specific configuration data either as property files
or nodes in a JCR repository.  It occurred to me that some of those
capabilities might be useful for other users as well, so I would like to be
able to contribute them back to the community if they are something people
think would be generally useful.

What would be the best way to structure my development environment so that I
can modify ACE as needed to make it work for us, but still be able to easily
commit those changes later?  I've never contributed to an open-source
project before, so maybe there is a standard way to isolate our changes from
the development trunk that I'm not aware of.  Any pointers to documentation
or tips in this area would be greatly appreciated.

Thanks,

Mike

Re: Contributing code

Posted by Toni Menzel <to...@okidokiteam.com>.
On Tue, Jun 1, 2010 at 10:44 PM, Mike Haney <tx...@gmail.com> wrote:
> Thanks for the info Marcel.  We use Eclipse 3.5.x (actually Springsource
> Tool Suite, built on Eclipse) and use Maven for our builds.  I also do a lot
> of SVN stuff at the commandline (usually admin-type stuff) and use Tortoise
> SVN quite a bit for browsing and such.  We typically use Windows dev boxes
> and Linux (Ubuntu) servers at work, and at home (where I do most of my work
> actually) I alternate between Windows and Linux.  So between all that I
> hopefully have the tools for the job.
>
> I see there's a "Create Patch" menu item in Eclipse, but I've never used
> it.  I'll create a dummy project and play around with that to get familiar
> with it.  I'll also take a look at the Apache info to get familiar.  We've
> used Apache and other open-source tools for years and benefitted greatly
> from them.  It's exciting to have a chance to give something back.

If can get yourself in a friendly mood with the svn commandline, then use that.
svn diff is simple, fast and reliable.
For maven integration for eclipse you might have already a solution
found - recent m2eclipse builds are fairly good - for being eclipse
based.

Welcome, btw ;)

Toni


>
> On Tue, Jun 1, 2010 at 6:33 AM, Marcel Offermans <
> marcel.offermans@luminis.nl> wrote:
>
>> Hello Mike,
>>
>> On May 31, 2010, at 23:36 , Mike Haney wrote:
>>
>> > Hello.  I have been designing a provisioning and licensing system for our
>> > suite of applications, and I came across ACE which it looks like will
>> give
>> > me a big headstart in implementing these features.
>>
>> Great, we're looking forward in collaborating on this.
>>
>> > However, I know there
>> > are some requirements that won't be fulfilled by ACE.  For example, we
>> will
>> > need to be able to integrate with a third party licensing system,
>>
>> Actually, we did keep that in mind when developing ACE. If you have a third
>> party licensing system that basically can determine which "licenses" (or
>> distributions as we call them in ACE) are licensed to which "targets" then
>> there is an API for feeding that information programmatically to the system.
>>
>> > and also
>> > be able to deploy user-specific configuration data either as property
>> files
>> > or nodes in a JCR repository.
>>
>> For configuration data we currently implement the Auto Config spec, which
>> builds on Deployment Admin and Configuration Admin. On top of that we have
>> some highly experimental templating system that allows you to have an
>> artifact with certain parameters, where these parameters will be substituted
>> based on attributes attached to targets.
>>
>> > It occurred to me that some of those
>> > capabilities might be useful for other users as well, so I would like to
>> be
>> > able to contribute them back to the community if they are something
>> people
>> > think would be generally useful.
>>
>> Definitely, we would welcome that.
>>
>> > What would be the best way to structure my development environment so
>> that I
>> > can modify ACE as needed to make it work for us, but still be able to
>> easily
>> > commit those changes later?
>>
>> Contributions are usually submitted back as patches. These patches are
>> attached to Jira issues, so we can track their status.
>>
>> > I've never contributed to an open-source
>> > project before, so maybe there is a standard way to isolate our changes
>> from
>> > the development trunk that I'm not aware of.
>>
>> There are no special things in place for that. Just checkout the project,
>> make your changes and create a patch from that.
>>
>> > Any pointers to documentation
>> > or tips in this area would be greatly appreciated.
>>
>> http://www.apache.org/foundation/how-it-works.html provides some general
>> information on how the Apache Software Foundation works.
>>
>> How to best create patches depends on your favourite IDE. What are you
>> using?
>>
>> Greetings, Marcel
>>
>>
>



-- 
Toni Menzel
Independent Software Developer
Professional Profile: http://okidokiteam.com
toni@okidokiteam.com
http://www.ops4j.org     - New Energy for OSS Communities - Open
Participation Software.

Re: Contributing code

Posted by Mike Haney <tx...@gmail.com>.
Thanks for the info Marcel.  We use Eclipse 3.5.x (actually Springsource
Tool Suite, built on Eclipse) and use Maven for our builds.  I also do a lot
of SVN stuff at the commandline (usually admin-type stuff) and use Tortoise
SVN quite a bit for browsing and such.  We typically use Windows dev boxes
and Linux (Ubuntu) servers at work, and at home (where I do most of my work
actually) I alternate between Windows and Linux.  So between all that I
hopefully have the tools for the job.

I see there's a "Create Patch" menu item in Eclipse, but I've never used
it.  I'll create a dummy project and play around with that to get familiar
with it.  I'll also take a look at the Apache info to get familiar.  We've
used Apache and other open-source tools for years and benefitted greatly
from them.  It's exciting to have a chance to give something back.

On Tue, Jun 1, 2010 at 6:33 AM, Marcel Offermans <
marcel.offermans@luminis.nl> wrote:

> Hello Mike,
>
> On May 31, 2010, at 23:36 , Mike Haney wrote:
>
> > Hello.  I have been designing a provisioning and licensing system for our
> > suite of applications, and I came across ACE which it looks like will
> give
> > me a big headstart in implementing these features.
>
> Great, we're looking forward in collaborating on this.
>
> > However, I know there
> > are some requirements that won't be fulfilled by ACE.  For example, we
> will
> > need to be able to integrate with a third party licensing system,
>
> Actually, we did keep that in mind when developing ACE. If you have a third
> party licensing system that basically can determine which "licenses" (or
> distributions as we call them in ACE) are licensed to which "targets" then
> there is an API for feeding that information programmatically to the system.
>
> > and also
> > be able to deploy user-specific configuration data either as property
> files
> > or nodes in a JCR repository.
>
> For configuration data we currently implement the Auto Config spec, which
> builds on Deployment Admin and Configuration Admin. On top of that we have
> some highly experimental templating system that allows you to have an
> artifact with certain parameters, where these parameters will be substituted
> based on attributes attached to targets.
>
> > It occurred to me that some of those
> > capabilities might be useful for other users as well, so I would like to
> be
> > able to contribute them back to the community if they are something
> people
> > think would be generally useful.
>
> Definitely, we would welcome that.
>
> > What would be the best way to structure my development environment so
> that I
> > can modify ACE as needed to make it work for us, but still be able to
> easily
> > commit those changes later?
>
> Contributions are usually submitted back as patches. These patches are
> attached to Jira issues, so we can track their status.
>
> > I've never contributed to an open-source
> > project before, so maybe there is a standard way to isolate our changes
> from
> > the development trunk that I'm not aware of.
>
> There are no special things in place for that. Just checkout the project,
> make your changes and create a patch from that.
>
> > Any pointers to documentation
> > or tips in this area would be greatly appreciated.
>
> http://www.apache.org/foundation/how-it-works.html provides some general
> information on how the Apache Software Foundation works.
>
> How to best create patches depends on your favourite IDE. What are you
> using?
>
> Greetings, Marcel
>
>

Re: Contributing code

Posted by Marcel Offermans <ma...@luminis.nl>.
Hello Mike,

On May 31, 2010, at 23:36 , Mike Haney wrote:

> Hello.  I have been designing a provisioning and licensing system for our
> suite of applications, and I came across ACE which it looks like will give
> me a big headstart in implementing these features.  

Great, we're looking forward in collaborating on this.

> However, I know there
> are some requirements that won't be fulfilled by ACE.  For example, we will
> need to be able to integrate with a third party licensing system,

Actually, we did keep that in mind when developing ACE. If you have a third party licensing system that basically can determine which "licenses" (or distributions as we call them in ACE) are licensed to which "targets" then there is an API for feeding that information programmatically to the system.

> and also
> be able to deploy user-specific configuration data either as property files
> or nodes in a JCR repository.  

For configuration data we currently implement the Auto Config spec, which builds on Deployment Admin and Configuration Admin. On top of that we have some highly experimental templating system that allows you to have an artifact with certain parameters, where these parameters will be substituted based on attributes attached to targets.

> It occurred to me that some of those
> capabilities might be useful for other users as well, so I would like to be
> able to contribute them back to the community if they are something people
> think would be generally useful.

Definitely, we would welcome that.

> What would be the best way to structure my development environment so that I
> can modify ACE as needed to make it work for us, but still be able to easily
> commit those changes later?  

Contributions are usually submitted back as patches. These patches are attached to Jira issues, so we can track their status.

> I've never contributed to an open-source
> project before, so maybe there is a standard way to isolate our changes from
> the development trunk that I'm not aware of.  

There are no special things in place for that. Just checkout the project, make your changes and create a patch from that.

> Any pointers to documentation
> or tips in this area would be greatly appreciated.

http://www.apache.org/foundation/how-it-works.html provides some general information on how the Apache Software Foundation works.

How to best create patches depends on your favourite IDE. What are you using?

Greetings, Marcel