Hi,

The new FaceletViewHandler used by the theme engine is now implemented (see http://jira.nuxeo.org/browse/NXP-1010).

it is activated by setting:

   <context-param>
<param-name>org.apache.myfaces.trinidad.ALTERNATE_VIEW_HANDLER</param-name> <param-value>org.nuxeo.theme.jsf.facelets.NXThemesFaceletViewHandler</param-value>
   </context-param>

in org.nuxeo.ecm.platform/nuxeo-platform-ui-web/src/main/resources/OSGI-INF/deployment-fragment.xml

The NXThemesFaceletViewHandler class completely replaces SeamFaceletViewHandler (and hence FaceletViewHandler), with the main difference that it also allows to invalidate themes in the facelets cache (this is done using an internal event system in NXThemes). The main advantage is that there are no more "memory leaks".

More practically, here is a summary of what to expect when using facelets together with the theme engine:

- first of all, facelets work as usual, you can use the usual configuration parameters (facelets.DEVELOPMENT, facelets.REFRESH_PERIOD, ..) to control the way pages will be compiled, debugged, etc. Using a facelets.REFRESH_PERIOD >= 1 means that templates will be reloaded after a given period if the file has been modified on the file-system. This is useful for most .xhtml files located under nuxeo.war/ (including those containing the <nxthemes:composition>, <ui:define ...> tags). Templates won't be reloaded if the refresh period is set to -1.

- the other templates (usually located in nuxeo.war/incl/) used by NXThemes widgets can be reloaded without recompiling the application, simply by hitting the "Refresh" button in the theme editor. This will work no matter what value facelets.REFRESH_PERIOD has.

- The "Refresh" button does not reload presets yet (color palettes, backgrounds, ...), but this is planned.

/JM

_______________________________________________
ECM mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm

Reply via email to