Onglet métadonnée customizé et schémas associé
----------------------------------------------
Key: NXP-2206
URL: http://jira.nuxeo.org/browse/NXP-2206
Project: Nuxeo Enterprise Platform 5
Issue Type: Question
Reporter: Nicolas Lecart
Assignee: Thierry Delprat
Bonjour,
Nous définissons plusieurs extensions de document avec des méta données
spécifiques pour chaque type de document, en utilisant l'extension de type
schéma....
En s'inspirant de votre existant, j'essaie de reprendre la philosophie du
fichier d'édition des méta données type Nuxeo en m'inspirant du fichier
"document_metadata_edit.xhtml" pour qu'on puisse éditer les métadonnées de nos
documents.
J'ai donc créer le mien qui appelle un layout que j'ai défini et qui pour
l'instant ne devrait afficher que qques métadonnées du schema dublincore.
Voici ma conf :
un fichier layouts-contrib.xml assez simple :
<?xml version="1.0"?>
<component name="org.nuxeo.ecm.platform.forms.layouts.webapp">
<extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
point="layouts">
<layout name="lto-generic">
<templates>
<template mode="any">/layouts/layout_default_template.xhtml</template>
</templates>
<rows>
<row>
<widget>source</widget>
</row>
<row>
<widget>created</widget>
</row>
<row>
<widget>modified</widget>
</row>
<row>
<widget>contributors</widget>
</row>
</rows>
<widget name="source" type="text">
<labels>
<label mode="any">label.dublincore.source</label>
</labels>
<translated>true</translated>
<fields>
<field>dc:source</field>
</fields>
<properties widgetMode="edit">
<property name="styleClass">dataInputText</property>
</properties>
</widget>
<widget name="created" type="datetime">
<labels>
<label mode="any">label.dublincore.created</label>
</labels>
<translated>true</translated>
<fields>
<field>dc:created</field>
</fields>
<properties widgetMode="any">
<property name="pattern">#{nxu:basicDateAndTimeFormater()}</property>
</properties>
<widgetModes>
<mode value="any">view</mode>
</widgetModes>
</widget>
<widget name="modified" type="datetime">
<labels>
<label mode="any">label.dublincore.modified</label>
</labels>
<translated>true</translated>
<fields>
<field>dc:modified</field>
</fields>
<properties widgetMode="any">
<property name="pattern">#{nxu:basicDateAndTimeFormater()}</property>
</properties>
<widgetModes>
<mode value="any">view</mode>
</widgetModes>
</widget>
<widget name="contributors" type="template">
<labels>
<label mode="any">label.dublincore.contributors</label>
</labels>
<translated>true</translated>
<fields>
<field>dc:contributors</field>
</fields>
<properties mode="any">
<property name="template">
/widgets/contributors_widget.xhtml
</property>
</properties>
<properties widgetMode="edit">
<property name="styleClass">dataInputText</property>
</properties>
</widget>
</layout>
</extension>
</component>
J'ai rajouté une entrée ds le MANIFEST pour qu'il soit pris en compte.
Manifest-Version: 1.0
Bundle-ManifestVersion: 1
Bundle-Name: Nuxeo Sample project
Bundle-SymbolicName: fr.defense.dga.ltoboa.gdc.web.newsfolder;singleton:=true
Bundle-Version: 1.0.0
Bundle-Vendor: Nuxeo
Provide-Package: fr.defense.dga.ltoboa.gdc.web.newsfolder
Require-Bundle: org.nuxeo.runtime,
org.nuxeo.ecm.core.api,
org.nuxeo.ecm.core,
org.nuxeo.ecm.webapp.core
Nuxeo-Component: OSGI-INF/core-types-contrib.xml,
OSGI-INF/search-contrib.xml,
OSGI-INF/ui-types-contrib.xml,
OSGI-INF/lifecycle-contrib.xml,
OSGI-INF/actions-contrib.xml,
OSGI-INF/content-template-contrib.xml,
OSGI-INF/layouts-contrib.xml
Le contenu du code de mon onglet :
<div xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:nxl="http://nuxeo.org/nxforms/layout">
<h:form id="metadata_edit">
<nxl:layout name="lto-generic" mode="edit" value="#{currentDocument}" />
<table class="dataInput" border="0">
<tbody>
<tr>
<td class="labelColumn"></td>
<td class="fieldColumn"><h:commandButton type="submit"
value="#{messages['command.save']}" styleClass="button"
action="#{documentActions.updateCurrentDocument}" /></td>
</tr>
</tbody>
</table>
</h:form>
</div>
Finalement, au lancement, en cliquant sur mon onglet, j'obtiens l'erreur
suivante :
2008-03-17 17:16:05,609 ERROR
[org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/nuxeo].[Faces
Servlet]] Servlet.service() for servlet Faces Servlet threw exception
org.nuxeo.ecm.platform.forms.layout.api.exceptions.LayoutException: Layout
lto-generic not found
at
org.nuxeo.ecm.platform.forms.layout.service.WebLayoutManagerImpl.getLayout(WebLayoutManagerImpl.java:332)
at
org.nuxeo.ecm.platform.forms.layout.facelets.LayoutTagHandler.apply(LayoutTagHandler.java:111)
at
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
at
com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:295)
at
com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:165)
at
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
at
com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
at
com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
at
org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:248)
at
org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:289)
at
org.nuxeo.theme.jsf.facelets.vendor.DefaultFacelet.include(DefaultFacelet.java:271)
at
org.nuxeo.theme.jsf.facelets.vendor.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:129)
at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:60)
at
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
at com.sun.facelets.tag.ui.DefineHandler.apply(DefineHandler.java:58)
at
org.nuxeo.theme.jsf.facelets.CompositionHandler.apply(CompositionHandler.java:162)
at
org.nuxeo.theme.jsf.facelets.vendor.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:278)
at
org.nuxeo.theme.jsf.facelets.vendor.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:250)
at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
at
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109)
at
com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
at
com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
Pourquoi mon layout n'est il pas déployé ?
Merci
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets