Great to see version 2.0 discussions kicking off! Thanks for putting the ideas on confluence, Emmanuel. :-)

Some notes around the ideas outlined on the wiki:
1)  Architecture
Moving to JSE 5 and JPA is a good idea \o/, it been fairly overdue ;-).
1-1) Can you please elaborate a bit on relationships among - services, various types of facades and entities. A concrete example would help. 1-2) I would like to bring Guice to the mix. I think it is worth investigating for Continuum 2.0 - WDYT?

2) Database
I am not hard and fast on any particular JPA provider. If Toplink cuts it, we should go with it. I have been toying around with OpenJPA, but I haven't used Toplink to comment on how both compare. OpenJPA is comprehensively documented and has a good support available on mailing lists. Having said that, JPA providers would ultimately be swap'able under the hood.

Also, I think we should stick with JPA annotations on model entities instead of using Modello. I hope writing the data access code from scratch implies the current ContinuumStore will be refactored into something which is less verbose than what we have currently, and so would the Continuum interface.

3) Builders > Build definitions
Just thinking out loud here...
Does anyone else see the current Continuum model to be centered around 'Project'? What do you think about 'Build' or BuildDefinition being central? You can add one or more Projects to a Build - we don't need Project Groups, as all we deal with is a Build. Order and dependency can be imposed on a Build composed of more than one project. Notifiers are added to a Build and BuildResult(s) produced for a Build.

4) Remote Builders
I like this idea, but not sure how the build results will be aggregated from remote builders, but may be that is something that needs some more thought.

5) Plugins
Is this similar to what AntHill Pro has? Are we going to have a notion of Build lifecycle (and phases) to support this? Is this something that can be borrowed in concept (and possibly implementation) from Maven?

6) External Access and UI improvements
I am +1 for supporting different types of mechanisms to access and control Continuum. Web interface has been the primary interface until now and I totally agree that it needs to be improved to give a better user experience. I welcome the idea of using GWT for this.

I am keen to focus more on Reporting as well for this version. As already outlined on the wiki, it would be nice if the reporting can be extended via plugins or some such mechanism.

7) Documentation
I would like to add and emphasize here on documenting the code itself as we write it. We are not going to get down to user documentation from day one but there will be users in the community who start consuming the code and contributing back as soon as we starting cooking it! :-) I would like to propose having Checkstyle to flag undocumented source code in codebase.

8) Installation
Lastly, I think it would nice to have a core Continuum install to be lean and small with features that can be added by dropping in relevant JARs (and minimal or no configuration). We can actually try different options with development releases before finalizing what should go into the main distro (if at all we break it up) - sounds reasonable?


Emmanuel Venisse wrote:

I started a document [1] with my ideas about Continuum 2.
As you can see in this doc, I want to add lot of things in the next version.

Feel free to comment on it.



Reply via email to