Hi,

The templates created with the Nuxeo Webengine can now also be displayed 
by the NXThemes theme engine.

It means that views in the theme engine are registered either for the 
"jsf-facelets" template engine (default) or for "freemarker", e.g.

    <view name="vertical menu" template-engine="jsf-facelets">
      <element-type>fragment</element-type>
      <format-type>widget</format-type>
      <model-type>menu item</model-type>
      <template>nxthemes/jsf/widgets/vertical-menu.xml</template>
    </view>

When a theme is rendered, the theme engine will select the views that 
are compatible with the template engine.
If no view is found, an inline box e.g. "unregistered widget view: 
nuxeo5 logo" will be shown instead.

The idea is that if you already have created a theme for JSF/Facelets, 
you should be able to reuse it provided that you register the 
corresponding views for "freemarker" or by simply replacing unwanted 
fragments.

INSTALLATION:

- install the Nuxeo EP webengine module as usual 
(http://www.nuxeo.org/webengine/ReferenceDoc#heading_2.2)

- get the latest version of nuxeo-theme at 
https://hg.nuxeo.org/nuxeo/nuxeo-theme#5.2

$ cd nuxeo-theme/nuxeo-theme-webengine
$ mvn install -Dmaven.test.skip=true
$ cp target/nuxeo-theme-webengine-5.2-SNAPSHOT.jar 
/opt/jboss/server/default/deploy/nuxeo.ear/system/


CUSTOMIZATION (IMPORTANT)

by default the Nuxeo webengine will ignore the NXThemes theme engine 
altogether. You need to change the lines in every "*.ftl" file  in the 
web root /opt/jboss/server/default/data/NXRuntime/web/ that you want to 
render using NXThemes.

<@extends src="base.ftl">
...
</@extends>

to:

<@theme>
...
</@theme>

you only need to modify the files that contain <@extends src="...base.ftl">


TESTING

start JBoss:

$ cd /opt/jboss && bin/run.sh

log in and open the theme editor, go to http://localhost:8080/nuxeo/site
an example theme called "webengine" will appear alongside the other themes.

it is possible as with JSF/facelets to associate a theme page with a 
given action (@@create_form), or with a given perspective, etc.

There is currently only one type of fragment view called "Block Region" 
(the equivalent of "Facelets regions") which generates:

<@block name="...">...</@block>


feedback is welcome.

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

Reply via email to