[ 
https://issues.apache.org/jira/browse/JSPWIKI-38?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659407#action_12659407
 ] 

Murray Altheim commented on JSPWIKI-38:
---------------------------------------

Since there seems to be some perception that my comments are overly critical 
I'll preface this with the note that my entire motivation for writing this is 
in hope that I'll be able to continue to use JSPWiki 3.0 following the 
migration. There are a number of factors that effect that, the biggest being 
time available. [Apologies for the length.]

As Andrew has alluded, I'm not one who appreciates complexity for complexity' 
sake. I doubt Janne is either and I'm assuming his motivations for this are as 
he has stated. Reading over his comments above (27/Dec/08 03:26 AM) I think I 
agree with most of them, particularly that our priority is to produce the 
WikiEngine. I certainly don't require an API to that, which would only limit my 
abilities. [And *please* don't create private packages or begin using dashes in 
package names. Ugh.]

In the case of the JAXP API I can see the rationale for separating the API from 
the implementations, since the latter are derived from a number of disparate 
code bases. But in this case we are developing a *wiki*, which traditionally 
has been one of the simplest software applications, and we're developing an 
implementation that is: (a) likely to be the main if only implementation; (b) 
has no prior API commitments; and (c) is going to break all previous 
implementations, given it is going to (by design) recommend and/or require that 
all previous extensions (frameworks, plugins, etc.) use the new implementation 
since that implementation is guaranteed to change (with at least a package name 
change). This latter point might seem to suggest the need for an API, but that 
would also be satisfied by a relatively stable implementation (which has been 
the status quo). A package name change would maintain that stability more than 
changes to the fundamental architecture.

I must confess that I don't know why we *really* need a separate API package. 
For the past few years I've been able to follow the changes to the 
implementation as it has gradually gone from version to version. Would such an 
API be any more stable? Really? I'm probably a good test case on how much 
access to the innards of the engine will be available via the API. While Janne 
is rightfully critical of my armchair statements, not having attempted to 
migrate my Assertion Framework to 3.0, at this point I'd be a fool to do so 
even if I had the time. It's a bit of a chicken and an egg problem, as I'd much 
prefer to wait until the 3.0 code has stabilised before doing that, yet I'd be 
the first to note any deficiencies for extension classes as I hit those 
limitations, so any API 1.0 would likely need to become an API 1.1 as I found 
places in the API that needed opening. 

While I'd really hate to lock the project into the 2.x code, I'm going to have 
a tough time convincing management of what is (to an outside observer) going to 
look like architectural changes with few if any user benefits. I.e., I'd be 
spending a large amount of time coding to remain with the 3.0 code base with 
little obvious benefit in the outward application. I'd have to rewrite *all* of 
the custom plugins (which includes all the CeryleWikiPlugins plus others not 
publicly available), the Assertion Framework, and (on the side, unrelated to 
paid work) all of the integration code used to make JSPWiki work embedded in 
Ceryle (if that will even be still possible, which remains to be seen since 
they're fairly tightly integrated). I don't know how much work that'd be but it 
hardly sounds trivial. 

Merely changing the package names is by comparison almost a trivial exercise 
(accomplished e.g., via a sed script). While not wanting to sound sour about 
3.0 you might begin to see that my perspective on this is based on looking 
ahead at what *sounds like* a great deal of work (with little in-house support 
for it), which is why I'm a bit worried. I am enthusiastic as I've said before 
about Priha since I can likely justify that to my boss and perhaps even use 
that in other places. But wholesale architectural changes for what is an wiki 
project seem to me to be overkill, at least for 3.0.

If put to a vote I'd agree with Andrew's recommendation that we simply rename 
the packages for now.  If there's a need for an API for the rendering engine, 
we make a simple API for that within the package hierarchy. I don't see the 
need for a separate package for that API. If an API really simplifies things 
for me, well, then great; I just don't yet see that.

In a nutshell, this is again simply a call for simplicity where possible.

Murray

PS. While this may seem tangential to any arguments here, my time on this is 
until sometime in the coming year very limited, as like many here I've got a 
busy project schedule. I've basically got to apply to my boss if I'm going to 
spend a substantial amount of time doing the migration, which means I need to 
convince him of the need. The Assertion Framework was "unfunded" by a rather 
useless director who just resigned, so following his happy disappearance I've 
got to re-apply in the new year to get the project re-funded, and the amount of 
time required will have a lot to do with the decision, given the organisation 
has a lot of pressing needs that I'm qualified to satisfy. I don't want to fork 
the code, or be forced into using a fork, but I can say that looking at our 
organisation for the next three years we're going to be under a very restrained 
budget. We're also moving out of the current building during a renovation with 
all that entails for a . I simply won't have the time to do large changes. I 
know that none of this is anyone else's concern but I doubt I'm the only one in 
a similar situation. Maybe I am and I'm therefore ignorable. I don't know. 

> Rename packages to "org.apache.jspwiki"
> ---------------------------------------
>
>                 Key: JSPWIKI-38
>                 URL: https://issues.apache.org/jira/browse/JSPWIKI-38
>             Project: JSPWiki
>          Issue Type: Task
>            Reporter: Janne Jalkanen
>            Assignee: Janne Jalkanen
>             Fix For: 3.0
>
>


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to