Santiago Gala wrote:
> 
> Raphael Luta wrote:
> 
> >
> > Actually the issue is threefold:
> > - currently the Engine needs to initialize the Cocoon engine because
> >   it uses its MemoryStore component for caching in memory portlets.
> >   This implies that Cocoon *must* be correctly configured in order
> >   for Jetspeed to run at all, which adds to the install complexity
> >   and generates FAQ to the mailing-list.
> >   Turbine now offers perfectly good caching services natively and
> >   I think it would make life easier for everybody.
> >
> 
> If you feel it can be substituted easily, nothing to object. The MemoryStore
> is also used to report in the Admin associated component.
> 
> I have a fear: that the behaviour of both Store systems is different, and that
> it propagates as a set of bugs difficult to handle. If we where speaking about
> Jetspeed 2 I would say OK, but 1.2 should be close. Nothing to object if work
> is done in a branch after we have released 1.2b2, and we test before merging
> back.
> 
> The danger is that we can enter again a unstable HEAD problem, and have people
> scared of the stability of code.
> 

Unstable HEAD is not too much of a problem when the committer is there
to solve problems that may crop up.
You should also have a look at where the MemoryStore is used: nowhere
except in PortletCache, so the substitution should be pretty straightforward. 
The MemoryStorePortlet will have to be rewritten as PortletCachePortlet though.

> I will take a look at that, if nobody objects, as I wanted to clean up the
> code in the basic JetspeedDiskCache, and have it implemented as a similar
> service, instead of using our own interfaces. This will reduce dramatically
> the code in this area, and will make it simpler to use and to maintain.
>

Good luck, you'll need a lot of refactoring to clean this. 
The PortletCache is a real memory caching system, the JetspeedDiskCache is
an hybrid cache and remote document fetching object. 

> >
> > - the CocoonPortlet uses the Cocoon ProducerFromRequest in order to
> >   emulate servlet requests but the ProducerFromRequest has been/will
> >   be removed from Cocoon because of security issues (that's what
> >   Stefano told me at ApacheCon). There also has been a lot of issues
> >   with this portlet (clearing the repository, etc...).
> 
> That was the issue I was speaking about with Ricardo WRT Cocoon 1. We are also
> speaking about how to manage portlet paremeter isolation and URI management
> with the sitemap and the action classes in Cocoon 2, and testing this kind of
> integration at the conceptual level.
>

If you're talking about Cocoon 2 integration, I'm definitely interested in 
learning what Ricardo has to say.
 
> >
> >   All in all, to keep this functionality is good, but it should be
> >   done properly and outside the scope of Jetspeed engine. I think
> >   the most natural way to do it now is to implement a CocoonService
> >   as a TurbineService.
> >
> 
> You are right, I am convinced by now..
> 
> Do you think it will be better to discuss the issues with Cocoon people before
> switching?
>

Which switching are you talking about, the MemoryStore thing or 
the CocoonPortlet ?
I don't really see what the Cocoon people can say about our use of the
MemoryStore but they may definitely help us to build a robust bridge
between Jetspeed and Cocoon.
 
> Which API would be use from Cocoon as a service? servlet-like, or app-like?
>

App-like most likely.
 
> I thought about having a XML or Cocoon templating engine, which basically
> would handle parameters to XSLT (the way I did in SimpleTransform) or to
> Cocoon, and then Xalan or Cocoon would render the page as a template. It is
> similar to the way Velocity is handled, and it would integrate nicely with
> Turbine templating approach.
>

And this will integrate nicely with Jetspeed when the templating work is done.
 
> This would be less powerful than the Service approach, but it could be used
> for simple XSLT transformations, similar to what Juan Carlos and Roberto are
> doing currently.
> 

Velocity is implemented as a service, as well as all the other templating
systems in Turbine. I don't see why XSLT or Cocoon should be an exception.

> >
> > I hope it clarifies the issues and reasons why I'd like to drop
> > Cocoon dependency from the Jetspeed engine (but keep the
> > CocoonPortlet and util classes in the /module directory).
> >
> 
> Would you mind to wait until I have shown this info to Ricardo, and test with
> him? If you already have the code refactoring, replacement, etc., then I
> change my -1 for a +1, as now I see the whole picture.
>
> I agree that, whichever integration we have with Cocoon, it should be at the
> service level, and it should not create code dependencies.
> 

OK.

--
Rapha�l Luta - [EMAIL PROTECTED]


--
--------------------------------------------------------------
Please read the FAQ! <http://java.apache.org/faq/>
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Archives and Other:  <http://marc.theaimsgroup.com/?l=jetspeed>
Problems?:           [EMAIL PROTECTED]

Reply via email to