I had a short discussion about this with Dave following some comments I had about the first draft of the Atlas proposal and I wanted to follow up here on the list. I think that now is the right time to start to push the Planet aggregator specific code out into it's own project. Here are some reasons to do this ...
1. maintain proper decoupling of Roller and planet code. the core and planet code serve two very different functions which in many cases will want to be used independently. moving the planet code into its own project ensures that as we move forward there is no undesired dependencies between the two code bases. 2. keep Roller codebase as trimmed and clean as possible. by moving the planet code into its own project we not only trim down the Roller code base but we can also trim down on library dependencies, etc. this reduces maintenance overhead on Roller developers who are not as interested in working on the planet codebase, keeps the Roller webapp as compact as possible, and also lessens the learning curve for new Roller developers because there is less code. 3. makes it easier to use the planet code independently. i believe one of the ultimate goals of the planet code is to provide a standalone solution for content aggregation and it is much easier to do that if the code is in its own project. of course, we still want to allow for good integration between Roller and the planet code, but i don't think that will be hard. this also provides an opportunity for developers to work on the planet code who are not interested in working on Roller itself. As far as what is involved technically, I see these general steps which don't necessarily need to happen all at once ... 1. identify all existing planet specific code to be moved 2. identify what Roller code the planet code is reliant on 3. move all existing planet code into its own java package (depending on our approach this could be done inside the current roller "src" at first) 4. modify planet build process to be independent from Roller builds 5. copy/re-implement any Roller code that the planet code is reliant on The only downsides to doing this that I see are ... 1. creates some extra work to do, but i believe it is worth it. 2. we lose some of the very tight integration that we have now, but i don't think that is going to be very hard to overcome though. I'm pretty sure that Dave is really the only one who works on the planet code regularly, but does anyone else have thoughts on this? -- Allen