I looked at it, so actually there are two separate things :

  | * layout : it is what the portal dispatch to
  | * theme : it uses a set of JSP tags to output markup
  | 

so at the end, the layout can output its own markup or can delegate to the 
theme and renderers right ?

I want to keep the idea that the layout can choose between using custom markup 
or delegating to theme for integration purpose.

One nice thing with renderers is to introduce an AbstractFactory to give the 
capability to get a set of renderers based on the markup. Of course speaking of 
the future.

"mholzner" wrote : I commited a first draft of the new feature today. 
  | don't go crazy, it's still very early on, but here is the general idea, and 
my motivations: 
  | 
  | themes, layouts, skins , branding .....  they all have a lot in common, in 
fact : I don't know where one ends and the other one begins. So I tried to come 
up with the most flexible approach. 
  | 
  | I really like the clean separation of duties that is outlined in css 
zengarden (http://www.csszengarden.com/) .  It separates content from the rest, 
and gives the web designer the most power over the look and feel. 
  | You can find a sample app attached to the JIRA issue (JBTL-17)
  | 
  | So here is what a typical portal request looks like: 
  | * the portal determines the portal page to render, and calls the portlet 
container for each portlet on that page 
  | * once the portlet content is rendered, the theme takes over 
  | * themes are split into three major components: a layout, a theme, and a 
render set
  | * a layout is a JSP or a Servlet that the portal can request dispatch to. 
It is the piece that creates the root tag of the response (like HTML) 
  | * in case of a jsp. there are tags to render a region of the page, or a 
particular portlet, and one to inject the theme
  | * in case of a servlet, there is an API to get the same task done (the same 
API the tags are using)
  | * the region tag gets the list of results containing the rendered portlet 
content for the portlets on that page region. It then determines the render set 
for the current content type. 
  | * a render set is a collection of classes that implement a defined interface
  | * there are 4 renderer interfaces in a render set (region, portlet window, 
decoration, and portlet content)
  | * the theme is a set of css, js, and binary files. When the theme tag is 
injecting the theme content, it actually injects link and script tags 
  | * the layout, the renderer set and the theme all work together to get the 
final markup. 
  | * There are some dependencies between all of them, but for now there are no 
rules: each piece can be switched independently
  | 
  | I'll be providing more examples in the next days....
  | 
  | themes are in core/src/main/org/jboss/portal/core/theme/* 

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3873044#3873044

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3873044


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to