incubator-jspwiki-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig L Russell <Craig.Russ...@Sun.COM>
Subject Re: Vote requested: package renaming
Date Tue, 30 Dec 2008 18:37:06 GMT

I'll put my mentor hat on, for now.

It's good to have the discussion over the future of the project, and  
it looks like the discussion here is timely.

Janne's reply regarding timing of the rename is worth respecting. I  
would like to see more communication to the group regarding the  
expected conclusion of the JCR work. I would not like to see JCR delay  
the project for more than a couple of months. One reason for a  
community of folks working on the project. So while there's no need to  
rush things that are coming up quickly, we should try to avoid losing  

The rest of this post is my technical feedback.

Refactoring interfaces from classes needs a corresponding class  
factory. Has this been thought through? There are good reasons for  
interfaces with factories, primarily driven by needing multiple  
independent implementations. But classes with exernally-written  
subclasses are also a good approach if most subclasses just need to  
change a small bit of behavior.

Splitting the stable interfaces apart from the implementation doesn't  
necessarily need a new package name. Either org.apache.jspwiki or  
org.apache.jspwiki.api could be used.


On Dec 30, 2008, at 8:48 AM, Andrew Jaquith wrote:

> Most of you have probably been following the debate on package
> renaming, and the associated creation of a separate .api package --
> with bated breath I'm sure. It's time to get a consensus from the
> group about the direction to proceed.
> I ask the group for three votes:
> ITEM 1.
> Immediate renaming of all packages from com.ecyrd.jspwiki to
> org.apache.jspwiki, so that we can move to release an early alpha
> Apache build.
> Details: This would cause all packages currently named
> com.ecyrd.jspwiki to be renamed to org.apache.jspwiki
> Recommendation: I vote +1 for this item, and recommend the same to  
> the group.
> ITEM 2.
> Refactoring concrete classes (e.g., WikiEngine) into interfaces
> whenever possible, and supplementing them with factory interfaces if
> warranted (e.g., interface WikiEngineFactory).
> Details: For those of you who use Eclipse, this is similar to an
> "Extract interface" refactoring step, where concrete classes like
> WikiEngine are turned into interfaces that are meant to be stable. The
> concrete class WikiEngine would be renamed to something like
> DefaultWikiEngine.
> Recommendation: I vote +1 for this item, and recommend the same to  
> the group.
> ITEM 3.
> Creation of the .api package/package tree, and creation of various
> types in this package/package tree (e.g., WikiEngine, WikiPage) for
> stable interfaces.
> Details: The org.apache.jspwiki.api package has been proposed by Janne
> (and partially implemented) as a dedicated package tree where stable
> interfaces would live, separate from the existing com.ecyrd.jspwiki
> and future org.apache.jspwiki package trees. See the debate at
> for details. This is
> essentially a retroactive vote: majority approval would commit us to
> this direction; majority disapproval would cause contents of the .api
> package to be reincorporated into the existing tree.
> Recommendation: I vote -1 (veto) for this item. I prefer the status
> quo, to keep stable interfaces in the existing package tree.
> Summary of my votes here:
> Item 1: +1
> Item 2: +1
> Item 3: -1

Craig L Russell
Architect, Sun Java Enterprise System
408 276-5638
P.S. A good JDO? O, Gasp!

View raw message