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


Reply via email to