This would be the second attempt but I would like to start a discussion on a 
Shale subview component extension.

Currently, The shale subview jsf component provides a post-back method to the 
prerender method on the ViewController.  The id attribute of the component is 
assumed as the managed bean name.  This method would be very useful for staging 
data for the subview and promoting reuse.  

The extension would add the following features:

*  Fragments of a page could be created using a XML definition and the same 
node structure would cover all components making it very abstract.  A top-level 
component could be represented by a displayElement node and associated to the 
logical name of the JSF component using a componentType attribute.

*  The describing documents could be digested at application startup and all 
inheritance resolved at startup.  Checks for circular references would be 
applied.  

*  Like tiles, the metadata defining the subcomponent tree would support 
generalization inheritances and also composition inheritance.  Top-level 
displayElement definitions can extend other top-level dislpayElements.  
Composition is formed using the element node that includes and overrides 
attributes of the target top-level node.  

*  It would also allow a token replacement feature of the binding EL so that 
the metadata describing the construction of a subcomponent tree could be reused 
on multiple managed bean names.  Featured with the Shale life cycle methods on 
the ViewController, would provide many more reusable view compositions.


This composition technique could be used in conjunction with other methods too. 
 A sample application can be downloaded from the tracking system.  I removed 
the libraries to make the upload possible.  The example uses the myfaces JSF 
implementation and the Shale library.

http://issues.apache.org/bugzilla/show_bug.cgi?id=33752

Regards,
   Gary VanMatre

Reply via email to