Return-Path: Delivered-To: apmail-maven-continuum-dev-archive@www.apache.org Received: (qmail 930 invoked from network); 5 Feb 2008 23:09:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 5 Feb 2008 23:09:34 -0000 Received: (qmail 10443 invoked by uid 500); 5 Feb 2008 23:09:26 -0000 Delivered-To: apmail-maven-continuum-dev-archive@maven.apache.org Received: (qmail 10407 invoked by uid 500); 5 Feb 2008 23:09:26 -0000 Mailing-List: contact continuum-dev-help@maven.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: continuum-dev@maven.apache.org Delivered-To: mailing list continuum-dev@maven.apache.org Received: (qmail 10390 invoked by uid 99); 5 Feb 2008 23:09:26 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Feb 2008 15:09:26 -0800 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [210.50.30.235] (HELO mx05.syd.iprimus.net.au) (210.50.30.235) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Feb 2008 23:09:09 +0000 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAOV6qEfKQ1oV/2dsb2JhbAAIrhU X-IronPort-AV: E=Sophos;i="4.25,309,1199624400"; d="scan'208";a="93552900" Received: from unknown (HELO [192.168.237.213]) ([202.67.90.21]) by smtp05.syd.iprimus.net.au with ESMTP; 06 Feb 2008 10:08:58 +1100 Message-Id: <74F6D09E-E6F8-4986-87D0-18149E9A65F4@apache.org> From: Brett Porter To: continuum-dev@maven.apache.org In-Reply-To: Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v915) Subject: Re: [Discussion] Continuum 2.0 Roadmap Date: Wed, 6 Feb 2008 10:08:47 +1100 References: X-Mailer: Apple Mail (2.915) X-Virus-Checked: Checked by ClamAV on apache.org This looks very exciting, and agree with most of the thread that follows. I'm just going to reply in summary - most of my thoughts are actually non-technical :) Regarding databases: I don't think xml files are the solution (except for the configuration where it makes a lot more sense :) - the data needs to be queryable. I think Andy made a good point in his comment on the roadmap - we need to look at the actual problems. Here's what I think needs to be improved: - better centralisation of access. The architecture of Continuum bleeds JDO decisions all through the code since you access lazy stuff for the first time in obscure places. - I think this might be that the model is too complicated (sorry, my fault) - it assumes complex relationships are handled easily. It seems to be going ok these days, but I feel it would be hard to modify. I haven't looked at Rahul's branch yet, but I think we should consider a more decoupled database (ie, lookup build results for a project but keep them separate in the model to avoid the need to lazyload 90% of the time), and more centralised database logic. I would consider JPA just because it gives more options in terms of an implementation. It is quite easy to use from a development standpoint. But we also need to consider what functionality is needed up front - I think high on the list needs to be migrations between versions. Also, We are probably going to need to store more data in the future, and be able to query it (particularly historical datapoints). On the container: I would prefer to move off Plexus simply because it's a moving target and it's a barrier to entry for new developers. Now, my more general observations. Firstly, the roadmap doesn't appear to have any features - these are all technology changes. Some of that might be cool and a feature in itself, but I think there needs to be a balance between evolution, features, and bugfixing. I would also emphasise that features should be creative new things Continuum can do (for which we've had plenty of ideas), not just catching up to other CI servers :) I think the first part of the roadmap is key - separating the layers out, and basically building Continuum to be lightweight and distributed from the ground up. I hope that's the focus of the development. Note this also impacts the database as it should store much less information on builder machines (it can ship history back to the main server). I also think that supporting plugins is a good idea - it has been a huge bonus in other apps and in Maven itself. I'd like to investigate using OSGi for this. But by far the biggest question I have is what happened to 1.2? I think Continuum needs to set a target to achieve, but get there in gradual steps that at each stage sees a production release. The long 1.1 cycle really set Continuum back - a lot of it was changing features, but there was also a lot of changing technologies :) I don't think Continuum will survive another year-and-a-half release cycle. So the start could be to break all the actions out (plexus, not webwork) into services and add some features, then the next release could adjust the database model and add some other features. And as we split these things out we make sure they are nicely documented and tested. That's my thoughts :) Cheers, Brett On 30/01/2008, at 9:34 AM, Emmanuel Venisse wrote: > Hi > > 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. > > > [1] > http://docs.codehaus.org/display/CONTINUUM/Continuum+2.0+Design+Discussion > > Emmanuel