Liste déroulante dans un modèle

cancel
Showing results for 
Search instead for 
Did you mean: 
falco-
Member II

Liste déroulante dans un modèle

Bonjour,
j'ai pour la première créé un modèle  et un aspect et visible sur le share . Je me suis inspiré de http://blogs.alfresco.com/wp/wabson/2010/02/25/adding-custom-aspect-support-in-alfresco-share/.

J'aimerai savoir comment créé dans ce modele une liste déroulante avec un vingtaine d'entrée. Il faut bien sûr pouvoir choisir dans cette liste.

Désolé j'ai pas trouvé sur le forum ce type d'info.

Merci
5 Replies
falco-
Member II

Re: Liste déroulante dans un modèle

Bonjour,
j'ai aussi consulté  ceci http://ecmarchitect.com/images/articles/alfresco-content/content-article.pdf mais je ne comprends pas comment faire une liste et quel bean utiliser ?

Je voudrais récupérer le model dublin-core également mais comment faire ?
Merci
falco-
Member II

Re: Liste déroulante dans un modèle

re,
J'ai  et fichier poubelle-model-context.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/springbeans.dtd'>
<beans>
  <!– Registration of new models –>
  <bean id="extension.dictionaryBootstrap" parent="dictionaryModelBootstrap"
    dependson="dictionaryBootstrap">
    <property name="models">
      <list>
        <value>alfresco/extension/poubelle-model.xml</value>
      </list>
    </property>
  </bean>
</beans>

et fichier poubelle-model.xml

<?xml version="1.0" encoding="UTF-8"?>
<!– Definition of new Model –>
<model name="appli:poubellemodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
  <!– Optional metadata about the model –>
  <description>appli Model</description>
  <author>falco</author>
  <version>1.0</version>
  <!– Imports are required to allow references to definitions in other models –>
  <imports>
    <!– Import Alfresco Dictionary Definitions –>
    <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d" />
    <!– Import Alfresco Content Domain Model Definitions –>
    <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm" />
  </imports>
  <!– Introduction of new namespaces defined by this model –>
  <namespaces>
    <namespace uri="http://www.alfresco.org/model/content/1.0" prefix="appli" />
  </namespaces>
  <aspects>
    <aspect name="appli:supertop">
      <title>appli supertop</title>
      <properties>
        <property name="appli:published">
          <type>d:date</type>
          <mandatory>true</mandatory>
        </property>
        <property name="appli:isActive">
          <type>d:boolean</type>
          <default>false</default>
        </property>
        <property name="appli:product">
          <type>d:text</type>
          <mandatory>true</mandatory>
        </property>
      </properties>
    </aspect>
</model>

et : web-extension/share-config-custom.xml
   
 <alfresco-config>

        <!– Document Library config section –>
        <config evaluator="string-compare" condition="DocumentLibrary">

                <!– Used by the "Manage Aspects" action For custom aspects, remember to
                        also add the relevant i18n string(s) cm_myaspect=My Aspect –>
                <aspects>
                        <!– Aspects that a user can see –>
                        <visible>
                                <aspect name="cm:generalclassifiable" />
                                <aspect name="cm:complianceable" />
                                <aspect name="cm:dublincore" />
                                <aspect name="cm:effectivity" />
                                <aspect name="cm:summarizable" />
                                <aspect name="cm:versionable" />
                                <aspect name="cm:templatable" />
                                <aspect name="cm:emailed" />
                                <aspect name="emailserver:aliasable" />
                                <aspect name="cm:taggable" />
                                <aspect name="app:inlineeditable" />
                                <!– <aspect name="kb:referencable" /> –>
                                <aspect name="appli:supertop" />
                        </visible>

                        <!– Aspects that a user can add. Same as "visible" if left empty –>
                        <addable>
                        </addable>

                        <!– Aspects that a user can remove. Same as "visible" if left empty –>
                        <removeable>
                        </removeable>
                </aspects>

        </config>

        <!– cm:content type (existing nodes) –>
        <config evaluator="node-type" condition="cm:content">
                <forms>
                        <!– Default form configuration used on the document details and edit
                                metadata pages –>
                        <form>
                                <field-visibility>
                                        <!– <show id="kb:documentRef" /> –>
                                        <show id="appli:published" />
                                </field-visibility>
                        </form>

                        <!– Document Library pop-up Edit Metadata form –>
                        <form id="doclib-simple-metadata">
                                <field-visibility>
<!– <show id="kb:documentRef" /> –>
                                        <show id="appli:published" />
                                </field-visibility>
                                <edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl" />
                        </form>

                        <!– Document Library Inline Edit form –>
                        <form id="doclib-inline-edit">
                                <field-visibility>
                                        <!– <show id="kb:documentRef" /> –>
                                        <show id="appli:published" />
                                </field-visibility>
                        </form>
                </forms>
        </config>

</alfresco-config>





et erreur :

GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) org.alfresco.repo.webdav.WebDAVSessionListener
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath:alfresco/application-context.xml]
Offending resource: ServletContext resource [/WEB-INF/web-application-context.xml]; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem
: Failed to import bean definitions from URL location [classpath*:alfresco/extension/*-context.xml]
Offending resource: class path resource [alfresco/application-context.xml]; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from f
ile [/home/user/alfresco/alfresco-4.1.1.3/tomcat/shared/classes/alfresco/extension/poubelle-model-context.xml]; nested exception is java.io.FileNotFoundException: http://www.springframework.org/dtd/s
pringbeans.dtd
aused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath*:alfresco/extension/*-context.xml]

MErci
jeanjot
Active Member

Re: Liste déroulante dans un modèle

Pour la création d'une liste déroulante :

Positionnez vous sur le dossier :
tomcat/shared/classes/alfresco/extension

Je pars du principe que vous avez déjà un fichier custom model avec le nom XXXModel.xml

1. Dans votre fichier XXXModel.xml créer une contrainte, par exemple :
    <constraint name="XXX:StatutDoc_constraint" type="LIST">
      <parameter name="allowedValues">
   <list>
     <value></value> <!– permet une recherche sans valeur –>
     <value>Création</value>
     <value>Modification</value>
     <value>Validation</value>
     <value>Publication</value>
     <value>Archivage</value>
   </list>
      </parameter>
    </constraint>
  </constraints>
2. toujours dans le même fichier ajouter la contrainte, par exemple à un aspect :
    <aspect name="XXX:StatutDoc">
      <title>XXX Statut Documentaire</title>
      <properties>
   <property name="XXX:Statut">
     <title>XXX - Statut Documentaire</title>
     <type>d:text</type>
     <default>Création</default>
     <index enabled="true">
       <atomic>true</atomic>
       <stored>false</stored>
       <tokenised>false</tokenised>
     </index>
     <constraints>
       <constraint ref="XXX:StatutDoc_constraint"/>
     </constraints>
   </property>
      </properties>
    </aspect>
A partir de la vous aurez fait l'essentiel.

La deuxième partie consiste à paramétré le fichier share-config-custom.xml qui se trouve dans : web-extension.

modification du fichier : share-config-custom.xml

1. rendre l'aspect visible :
 <!– Custom Types & Aspects –>   
  <config evaluator="string-compare" condition="DocumentLibrary">
    <aspects>
      <!– Aspects that a user can see –>
      <visible>
   <!– Ajout des aspects pour l'Application SIMAerotraining –>
   <aspect name="XXX:StatutDoc"/>
      </visible>
     
      <!– Aspects that a user can add. Same as "visible" if left empty –>
      <addable>
      </addable>
     
      <!– Aspects that a user can remove. Same as "visible" if left empty –>
      <removeable>
      </removeable>
    </aspects>
  </config>

2. Ajouter dans les forms pour la visualisation dans Share, exemple :
 <config evaluator="aspect" condition="XXX:StatutDoc">
    <forms>
    <!– configuration de la "form" par défaut utilisée pour les éditer et afficher les détails des méta-données du document par défaut –>
    <form>
      <field-visibility>
   <!– cm:content data –>
        ….
   <!– Métadonnées pour l'application XXX  Statut Documentaire –>
   <show id="XXX:Statut"/>
      </field-visibility>
    </form>
   </forms>
  </config>
3. compléter pour toutes les forms nécessaires, dans les structures :
  <config evaluator="node-type" condition="cm:content">
   …
  </config>

  <config evaluator="model-type" condition="cm:content">
   …
  </config>

Voilà les grande ligne pour la mise en place d'une liste déroulante.
N'oublier pas la mise en place des labels, notamment pour une utilisation multilingue.
falco-
Member II

Re: Liste déroulante dans un modèle

Bonjour,
c'est parfait et ça fonctionne.
Merci beacoup
jeanjot
Active Member

Re: Liste déroulante dans un modèle

De rien et Bonnes fetes de fin d'année 2012  Smiley Very Happy