Ajout métadata et gestion des droits

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

Re: Ajout métadata et gestion des droits

Voila, ça marche …

1/ custom-model-context.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>
    <!– Registration of new models –>   
    <bean id="extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <property name="models">
            <list>
                <value>alfresco\extension\customModel.xml</value>
            </list>
        </property>
    </bean> 
</beans>


2/ customModel.xml
<?xml version="1.0" encoding="UTF-8"?>

<!– Custom Model –>

<!– Note: This model is pre-configured to load at startup of the Repository.  So, all custom –>
<!–       types and aspects added here will automatically be registered –>

<model name="custom:custommodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">

   <!– Optional meta-data about the model –>  
   <description>Epingler le statut d'un document</description>
   <author>Thomas Berment</author>
   <version>1.0</version>

   <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 –>
   <!– NOTE: The following namespace custom.model should be changed to reflect your own namespace –>
   <namespaces>
      <namespace uri="custom.model" prefix="custom"/>
   </namespaces>
  
  
   <constraints>
   <constraint name="custom:typestatut" type="LIST">
        <parameter name="allowedValues">
          <list>
            <value>Travail</value>
            <value>Relu</value>
            <value>Validé</value>
            <value>Archivé</value>
          </list>
        </parameter>
    </constraint>
    <constraint name="custom:typeclassification" type="LIST">
        <parameter name="allowedValues">
          <list>
            <value>BRDD</value>
            <value>CdC</value>
            <value>Chk-Reports</value>
            <value>Convention</value>
            <value>DCTG</value>
            <value>ETUTECH</value>
            <value>FDL</value>
            <value>ISTS</value>
            <value>Memo</value>
            <value>PA</value>
            <value>PGD</value>
            <value>Plan</value>
            <value>Pres</value>
            <value>SFD</value>
            <value>SFG</value>
            <value>STD</value>
            <value>StrRE7</value>
            <value>TabSuivEntretien</value>
            <value>TbbDoc</value>
            <value>TbbLiv</value>
            <value>TbbSuivRevues</value>
            <value>TU</value>
          </list>
        </parameter>
    </constraint>
    </constraints>
       
     <aspects>
        <aspect name="custom:Metadatastatut">
          <title>Statut du document</title>
          <properties>
            <property name="custom:statut">
              <title>Statut</title>
              <type>d:text</type>
              <mandatory>true</mandatory>
              <default>Travail</default>
              <constraints>
                <constraint ref="custom:typestatut"/>
              </constraints>
            </property>
          </properties>
        </aspect>
       
        <aspect name="custom:Classification">
          <title>Classification du document</title>
          <properties>
            <property name="custom:type">
            <title>Classification</title>
            <type>d:text</type>
            <mandatory>true</mandatory>
            <constraints>
                  <constraint ref="custom:typeclassification"/>
            </constraints>
            </property>
          </properties>
        </aspect>
      </aspects>  
     
</model>


3/ web-client-config-custom.xml
<!– Lists the custom aspect in business rules Action wizard –>
   <config evaluator="string-compare" condition="Action Wizards">
     <aspects>
      <aspect name="custom:Metadatastatut"/>
      <aspect name="custom:Classification"/>
     </aspects>
   </config>
  
   <!– Displays the properties in view details page –>
    <config evaluator="aspect-name" condition="custom:Metadatastatut">
    <property-sheet>
      <show-property name="custom:statut" display-label-id="statut"/>
    </property-sheet>
    </config>
   
    <config evaluator="aspect-name" condition="custom:Classification">
    <property-sheet>
      <show-property name="custom:type" display-label-id="type"/>
    </property-sheet>
    </config>
   
   
    <config evaluator="string-compare" condition="Advanced Search">
      <advanced-search>
         <!–<content-types>
            <type name="custom:custommodel" />
         </content-types>–>
         <custom-properties>
            <meta-data aspect="custom:Metadatastatut" property="custom:statut" />
            <meta-data aspect="custom:Classification" property="custom:type" />
         </custom-properties>
      </advanced-search>
   </config>

Je vous laisse mon code pour celui que ça intéresse. J'ai même rajouté les métadonnées dans la recherche avancée.


Par contre j'aurai une autre question, est-il possible de proposer à un utilisateur X de remplir le champ (pour mon cas "Type de document") au moment de l'ajout d'un document ? Si oui, comment je peux faire ?

Cordialement.
rguinot
Customer

Re: Ajout métadata et gestion des droits

le truc "pas très joli" c'est vous qui l'avez demandé. en effet, vous utilisez un séparateur avant le statut :

<separator name="sepCust1" display-label="Statut du document" component-generator="HeaderSeparatorGenerator" />

en l'enlevant votre statut devrait apparaître à la suite des autres métadonnées
thomasberment
Member II

Re: Ajout métadata et gestion des droits

le truc "pas très joli" c'est vous qui l'avez demandé. en effet, vous utilisez un séparateur avant le statut :

<separator name="sepCust1" display-label="Statut du document" component-generator="HeaderSeparatorGenerator" />

en l'enlevant votre statut devrait apparaître à la suite des autres métadonnées

Oui je m'en suis séparé dans mon dernier code, le statut apparait normalement, comme les autres métadonnées.
Par ailleurs, je répond à ma propre question juste au dessus, j'ai créer une règle qui demande directement le statut à l'ajout d'un document.

Merci en tout cas de votre aide à tous.
Si jamais j'ai des questions, ou même si j'en n'ai pas, je reviendrai vous voir…