forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thorsten Scherler <thors...@apache.org>
Subject Re: Lenya and forrest integration
Date Wed, 20 Apr 2005 23:48:29 GMT
On Wed, 2005-04-20 at 14:41 -0400, Gregor J. Rothfuss wrote: 
> Thorsten Scherler wrote:
> 
> > my customer wants to have forrest in lenya (or vice versa). :)
> > Lenya is officially supporting 2.1.6 (but 2.1.7 is working fine).
> > Forrest is using 2.2-dev.
> 
> 1.2.3 and trunk require 2.1.7
> 
> i'd think cocoon 2.2 would work too after we take the new cocoon.xconf 
> format (with includes) into account in the build process. also, there 
> might be some minor flowscript issues to work out, but otherwise i'd 
> expect it to work.
> 
> > What do both lists think how to overcome this problem?
> 
> we discussed whether to move trunk to cocoon trunk, but decided not to 
> do so for now. there were some noises on the cocoon list recently about 
> getting a 2.2 release out soon, which would help.
> 

My +1 for reconsidering the move under the above mentioned circumstances
to 2.2 (at least for trunk). 

> > I reckon I have to change the dir structure from either lenya or forrest
> > to make the forrest project files editable within lenya. Which app would
> > be best to "learn" the other site structure.
> 
> from what i understand, forrest has a superior concept of 'resource 
> types' (plugins in forrest lingo), pluggable sitemap components to 
> handle rendering of new sorts of content.
> 
> lenya has a superior concept for bundling functionality (java, etc) with 
> the usecase framework.
> 
> didn't you want to work on integrating forrest plugins into lenya?
> 

:) I will do as soon I get wrapped up the view concept in forrest. 
http://svn.apache.org/viewcvs.cgi/forrest/trunk/plugins/org.apache.forrest.plugin.view/
http://svn.apache.org/viewcvs.cgi/forrest/trunk/plugins/org.apache.forrest.plugin.viewHelper/

This is the first prototype implementation of a dispatcher view for
forrest. I hope to integrate this concept into lenya as well. The idea
is to easily have different page views for certain pages (e.g.
index.html will be rendered differently then other pages).

Abstract of the docu (with some modifications in the code example!): 
Together with the ViewHelper and the BusinessHelper (to be implemented)
plugin this plugin is following the DispatcherView pattern [1] and
building the final view which will be delivered to the client. This
implementation follows exactly the pattern shown on corej2eepatterns.com
[2]

A view will be configured by a config file which basically contains the
following tags (it is still evolving): 

<forrest:view type="xhtml">
  <forrest:css url="default.css"/>
  <forrest:contract name="meta"/>
  <forrest:hook name="container">
   <!--the following tags are not implement yet but will give the idea ;-)-->
   <forrest:contract name="deleteUser" nugget="lenya:usecase">
    <lenya:usecase name="deleteUser"/>
   </forrest:contract>
   <!-- 
    In forrest that will invoke a businessHelper that connects a lenya usecase
    and stores the result of the usecase (in forrest terms: nugget) 
    in the presentation model. This part of the presentation model will be
    transformed by a forrest:contract (fbit) with the same name.
    -->
   <forrest:contract name="feedback"/>
  </forrest:hook />
</forrest:view>

The view tag's @type determines the final output format. The idea is to
configure different output formats within a forrest:views. That means a
forrest:views can contain n different "forrest:view" configurations for
n different formats. 

In short: x outputs formats, one config. :)


> > What do both projects think which one should become the main app (lenya
> > or forrest)?
> 
> that's a funny question :)
> 

;-)

> 
> afaik forrest has no workflow, user management etc, so if you need 
> those, the answer would be pretty clear.
> 

I guess I should say lenya, ;-) but everything you just mentioned could be or is already
re-factored to a lenya plugin (usecase) in 1.4.

> from what i understand, forrest has a superior concept of 'resource 
> types' (plugins in forrest lingo), pluggable sitemap components to 
> handle rendering of new sorts of content.
> 

In forrest we support three kind of plugins:
-input
-internal 
-output

> 
> lenya has a superior concept for bundling functionality (java, etc) with 
> the usecase framework.

Actually I would like to have both concepts (bundling functionality and resource types) 
together. Lets each project concentrate on what is best on and have an interface connect
them both. It should be working in forrest and lenya via plugins (lenya2forrest) 
and usecases (forrest2lenya).

I wrote above:
"Together with the ViewHelper and the BusinessHelper 
(to be implemented) plugin this plugin is following the DispatcherView pattern"

Actually I see lenya as a business service. I am still thinking about the interface 
for the businessHelper plugin to connect to different business services. Maybe this
lists are best to discuss this.

Thoughts welcome. ;-)

> 
> > Another more lenya specific question is the usage of 1.4. for the
> > integration. We decided to release 1.4 within 2-3 month, do we consider
> > this release as (relatively) stable?
> 
> definitely do this on 1.4, since 1.2 does not have the usecase framework
> 

Yeah, I thought so, but is it ready for a production system?


salu2

[1] http://java.sun.com/j2ee/patterns/DispatcherView.html
[2] http://corej2eepatterns.com/Patterns2ndEd/DispatcherView.htm
-- 
thorsten

"Together we stand, divided we fall!" 
Hey you (Pink Floyd)


Mime
View raw message