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

Reply via email to