Hi, I had a look on the wiki page you posted and it gave me some really good ideas for the view plugin I am working on in forrest.
http://svn.apache.org/viewcvs.cgi/forrest/trunk/plugins/org.apache.forrest.plugin.view/?rev=160476 http://svn.apache.org/viewcvs.cgi/forrest/trunk/plugins/org.apache.forrest.plugin.leather/?rev=160476 Together with another plugin (right now called leather but will be renamed to ViewHelper) it is following the DispatcherView pattern http://java.sun.com/j2ee/patterns/DispatcherView.html and building a unit. I am using right now a different approach then you but it seems we are trying to solve the same problem. Have a look at http://svn.apache.org/viewcvs.cgi/forrest/trunk/plugins/org.apache.forrest.plugin.view/src/documentation/default.fv?view=markup That is a view on a site. The link is the default view for the site but you can define a new view for each page of your webapp. A view basically contains three tags (for now - it is in a really early stage): <forrest:view xmlns:forrest="http://apache.org/forrest/templates/1.0" type="xhtml"> <forrest:contract name="meta"/> <forrest:hook name="container"> <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 via a view. That is the biggest different to your approach. Each forrest:hook will be transformed into a <div/> tag (in html output). This tags are designed to help web-designers to freely move around and group contracts into design container. Each forrest:contract will dispatch a xml file that contains xsl:stylesheets for the different output formats, a contract can implement. For html, the only format that I have implemented so far, we have three different kind of templates: <xsl:templates name="{contract/@name}-css/> <xsl:templates name="{contract/@name}-head/> The view follows exactly the pattern shown here. http://corej2eepatterns.com/Patterns2ndEd/DispatcherView.htm Right now it is implemented for the forrest way of producing the models for the view but I am planing to create independent BusinessHelper to access all BusinessServices you may have in your application. On Wed, 2005-04-06 at 16:42 +0200, Messing, Elad wrote: > Hello again Stavors > I am now looking at your example. It works great BTW, and in deeded the > new features are worth the wait :) > I was wondering why you use the "base-url" global (that needs to be > changed for every installation) if you can just use the regular relative > paths that the web browser maintain for you. > I mean - all of your links are under the root directory of Othello , so > why bother ? > > Thanks > > Elad > > -----Ursprngliche Nachricht----- > Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Gesendet: Dienstag, 5. April 2005 17:34 > An: [email protected] > Betreff: Re: AW: AW: AW: Design note - Building a template mechanism > > > hi > > i have update this wiki page > http://wiki.apache.org/cocoon/TemplateBasedWebSite > > now there is an new sample as attachement > > > regards > > stavros > > On Tue, 5 Apr 2005 [EMAIL PROTECTED] wrote: > > > On Tue, 5 Apr 2005, Elad Messing wrote: > > > > > Hi again. > > > I have added the fixes. I am not sure that they are all correct, as I > > > am quite a newbie.. They do however make it work :) > > > Feel free to remove what is not needed. > > > > > > Hope it will help somebody someday - like it helped me.. > > > > > > Elad > > > > thnx > > > > i'll post the link for the demo site in this thread afternoon > > > > > > > > --stavros > > > > > > > > > > > -----UrsprΓngliche Nachricht----- > > > Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > > Gesendet: Dienstag, 5. April 2005 13:26 > > > An: [email protected] > > > Betreff: Re: AW: AW: Design note - Building a template mechanism > > > > > > On Tue, 5 Apr 2005, Elad Messing wrote: > > > > > > > I understand. > > > > So - I would very much like to learn the new implementation ! A demo > > > > site could be great ! > > > > > > > > In Parallel - I am going through the example in the wiki and finding > > > > some errors in code. What do you think about me adding the fixes to > > > > make the example work by copy paste ? Is it needed ? > > > > > > > > Elad > > > > > > > > > > > > > your comments/fixes are welcome > > > > > > :-) > > > > > > > > > > -----UrsprΞ“Ξngliche Nachricht----- > > > > Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > > > Gesendet: Dienstag, 5. April 2005 12:22 > > > > An: [email protected] > > > > Betreff: Re: AW: Design note - Building a template mechanism > > > > > > > > On Tue, 5 Apr 2005, Elad Messing wrote: > > > > > > > > > Hello Stavros and all > > > > > Thanks for the reply. I think I understand the usage of it as > > > > > you > > > > > explained in the "TemplateBasedWebSite" wiki page. > > > > > I also found the Othello example in the Scratchpad. > > > > > > > > > > Currently I am studying the wiki example, trying to build the > > > > > same > > > > > in my environment. > > > > > > > > > > Do you think the wiki example is still valid today, or you > > > > > would > > > > > have done this in a different way in Cocoon 2.1.7 ? This is actually > > > > > my question :) > > > > > > > > > > Thanks > > > > > > > > > > Elad > > > > > > > > > > > > > the idea described in wiki is the same, the impementation has changed > > > > > > > > (more features, cleaner code etc) > > > > > > > > > > > > > > > > > > > > > > > > > > > -----UrsprΞΒngliche Nachricht----- > > > > > Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > > > > Gesendet: Dienstag, 5. April 2005 11:38 > > > > > An: [email protected] > > > > > Betreff: Re: Design note - Building a template mechanism > > > > > > > > > > > > > > > hi elad > > > > > > > > > > i'm using this approach to create static web static web sites the > > > > > goals are: > > > > > - yu have one layout file (.xhtml). then i get the content form > > > > > each request (requested web page) and put it inside this layout (now > > > > > i'm close to have pages (web requests) that make an exception and > > > > > use an alternative > > > > > layout) > > > > > > > > > > - you can define blocks with static content (html fragments) that > > > > > can be reused in any page > > > > > > > > > > - you can define your own elements that are translated to complex > > > > > html > > > > > > > > > > - there is a simple html 2 pdf transformation, so you are able to > > > > > server content pages as simple pdfs > > > > > > > > > > - you can change the theme for your site > > > > > > > > > > all this out of the box without to touch the sitemap.xmap > > > > > > > > > > there is a sample in cocoon sample /scratchpad called Othello than > > > > > demostrate all this but it's quite old > > > > > > > > > > i have a new version with many modification but i dont have found > > > > > time to make a pacth in bugzilla > > > > > > > > > > if you want i can pack my working directory with some demo site to > > > > > take a look > > > > > > > > > > > > > > > regards > > > > > -stavros > > > > > On Tue, 5 Apr 2005, Elad Messing wrote: > > > > > > > > > > > Hello All ! > > > > > > I am now in the design phase of the web-application I am > > > > > > working on. > > > > > > The application will have a fixed structure - header, footer, > > > > > > content in the middle, and menu on the side - and I am looking for > > > > > > the > > > > > best > > > > > > practice to build this template mechanism in Cocoon. > > > > > > > > > > > > I have found in the wiki this page > > > > > > :http://wiki.apache.org/cocoon/TemplateBasedWebSite but - It is > > > > > > from > > > > > 10.2003 > > > > > > - and mention working with version 2.0.4. > > > > > > I was wondering whether this is still a best practice or maybe > > > > > > a > > > > > > new better feature allows for another practice - which is better. > > > > > > (might be > > > > > that > > > > > > the Xinclude is involved ? Not sure).. > > > > > > > > > > > > Thanks in advance. > > > > > > > > > > > > Elad Messing > > > > > > -- thorsten "Together we stand, divided we fall!" Hey you (Pink Floyd) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
