Comment je modifie le formulaire proposé au moment du drag'n drop?
Bonjour,
J'ai bien compris que quand je maintiens mon drag il m'est proposé de pouvoir saisir des valeurs dans un formulaire qui seront utilisées pour créer les documents.
J'ai modifier dans mon workspace le type créé par défaut avec le drag'n drop en faisant la manipulation suivante:
- dans l'onglet Management > Local Configuration
- j'active Document types configuration
- Je choisi mon type documentaire dans le champ “Default type”
Maintenant j'aimerais pouvoir modifier le formulaire proposé pour exposer des champs que mon type documentaire implémenter. Comment fais-je ?
En studio, c'est simple:
Contribuer cette action dans Advanced Settings > XML Extensions
<extension target="org.nuxeo.ecm.platform.actions.ActionService"
point="actions">
<action id="Chain.FileManager.ImportWithMetaDataInSeam"
link="/nuxeo/dndFormCollector.faces?schema=yourschema&layout=dndEdit%40create@create"
order="30" label="label.smart.import.with.md"
help="desc.smart.import.with.md">
<category>ContentView</category>
<filter-id>create</filter-id>
</action>
</extension>
yourschema est le nom du schéma qu'implémente votre type documentaire (valeur dans votre définition de type documentaire, dans l'onglet Schema dans le champ prefix.
Puis créer un Layout dans Search And Listings > Layout que vous nommerez dndEdit. Ensuite créer votre formulaire que vous voudrez exposer dans l'onglet Creation Layout
Ou bien par Nuxeo IDE, c'est un peu plus compliqué notamment dans la définition du layout:
Le formulaire affiché lorsque vous sélectionnez “Import intelligent avec méta-données” correspond au layout dndEdit@create défini dans cette contribution en bas de la page
Afin d'inclure la saisie d'une méta-donnée personnalisée, vous devez surcharger cette définition, avec une contribution ressemblant à celle ci-dessous, (bb représente le schema de votre doc type que je ne connais pas):
<?xml version="1.0"?>
<component name="org.nuxeo.ecm.platform.forms.layouts.webapp.override">
<require>org.nuxeo.ecm.platform.forms.layouts.webapp</require>
<extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
point="widgets">
<widget name="myprojectmyschemaname1" type="widgetTypeYouWant">
<labels>
<label mode="any">label.stm.schema</label>
</labels>
<translated>true</translated>
<fields>
<field>bb:yourField</field>
</fields>
</widget>
<widget name="myprojectmyschemaname2" type="widgetTypeYouWant">
<labels>
<label mode="any">label.stm.schema</label>
</labels>
<translated>true</translated>
<fields>
<field>bb:yourField</field>
</fields>
</widget>
...etc...
</extension>
<extension target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager"
point="layouts">
<layout name="dndEdit@create">
<templates>
<template mode="any">/layouts/layout_default_template.xhtml</template>
</templates>
<rows>
<row>
<widget>myprojectmyschemaname1</widget>
</row>
<row>
<widget>myprojectmyschemaname2</widget>
</row>
...
</rows>
</layout>
</extension>
</component>
En espérant que ces informations vous permettront d'implémenter votre solution
Cordialement,
Thierry & Benjamin
<action id="Chain.FileManager.ImportWithMetaDataInSeam"
link="/nuxeo/dndFormCollector.faces?
schema=File&#038;layout=dndEdit&#064;create"
order="30" label="label.smart.import.with.md"
help="desc.smart.import.with.md">
<category>ContentView</category>
<filter-id>create</filter-id>
</action>
J'ai ensuite créé mon propre layout dans Listing and Views / Form Layouts ==> dndEdit
Or à présent, l'option d'import intelligent ne m'est plus du tout proposée… le fichier est directement importé.
Où fais-je une erreur ? Merci infiniment
Peut-on mettre deux schémas différents dans l'action id="Chain.FileManager.ImportWithMetaDataInSeam" ?
Car je souhaiterais renseigner deux méta-données qui se trouvent dans deux schémas (dublincore, myschema).
Bonne journée