cancel
Showing results for 
Search instead for 
Did you mean: 

Extraction de métadonnées via une règle

sebus
Champ in-the-making
Champ in-the-making
Bonjour,

je travail sur un bundle alfresco 3.4.d

Je me tourne vers vous car je n'arrive pas à récupérer les métadonnées d'un document.

Je m'explique : je créé un document word, et je souhaite mapper ses métadonnées comme le titre ou la description dans mon model de donnée (comme le fait alfresco nativement dans son propre model de donnée)

J'ai pas ma lu sur le sujet, mais je n'y arrive toujours pas … mes règles de contenu semblent inefficaces !!

voici mon fichier model avec la déclaration de l'aspect ciblé :
   <aspects>
      <aspect name="oge:sport">
         <title>sport pratique</title>
         <properties>
            <property name="oge:discipline">
               <type>d:text</type>
            </property>
         </properties>
      </aspect>
   </aspects>

Voici le share-config-custom pour la déclaration de l'aspect dans share :
<config evaluator="string-compare" condition="DocumentLibrary">
   <aspects>
      <!– Aspects that a user can see –>
      <visible>
            <aspect name="oge:sport"/>
      </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>

Voici le fichier de configuration pour l'extracter :
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<!–
       This sample show how to modify the mappings properties of the new V2.1 Metadata Extractors.
       In this example, in addition to the default mappings, the field 'user1' is mapped to
       'cm:description'.  The available source properties is described on the Javadocs of the
       extracter class.
–>
<beans>

    <bean id="extracter.Office" class="org.alfresco.repo.content.metadata.OfficeMetadataExtracter" parent="baseMetadataExtracter" >
      <property name="inheritDefaultMapping">
         <value>true</value>
      </property>
      <property name="mappingProperties">
         <bean class="org.springframework.beans.factory.config.PropertiesFactoryBean">
            <property name="location">
               <value>classpath:alfresco/extension/someco-office-document-extractor-mappings.properties</value>
            </property>
         </bean>
      </property>
   </bean>
   
</beans>

et le fichier de properties :
namespace.prefix.oge=http://www.alfresco.org/model/demomodel/1.0
title=oge:discipline

J'ai ensuite créé un répertoire dans un site avec pour règles de contenu :
1) ajouter mon aspect à tout document entrant ou nouveau
2) Extraire des champs de metadonnées commun

mais après l'ajout quand je consulte mon document, la propriété de mon aspect n'est pas renseignée

le namespace du model repris dans le fichier properties a t il une importance ?
Pourriez vous aussi me décrire comment faire pour extraire des données d'un fichier xml pour remplir automatiquement des métadonnées SVP ?

Merci d'avance pour vos réponses, car je dois surement faire une bétise quelque part !!

sebus
2 REPLIES 2

sibe
Champ on-the-rise
Champ on-the-rise
!bonjour,


D'abord vous n'avez en aucun moment renseigner votre model à alfresco : Pour le faire créer un fichier *-context.xml dans tomcat\shared\classes\alfresco\extension (voir code ci dessous pour exemple) :

<?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/model/myModel.xml</value>
         </list>
      </property>
   </bean>
   
</beans>


Je vous invite à consulter l'article de Will Absson (disponible via le lien ci dessous) :
http://blogs.alfresco.com/wp/wabson/2010/02/25/adding-custom-aspect-support-in-alfresco-share/

Bon courage

sebus
Champ in-the-making
Champ in-the-making
Bonjour,

je ne l'avais pas précisé, mais si mon model est bien défini dans share via un fichier de context.

Je le dis implicitement dans mon message, l'aspect est bien ajouté au document mais la propriété du document word n'est pas mappée dedans.

Mais j'ai trouvé mon soucis !!!

le fichier que j'ajoute est en .docx (derniere version de microsoft word) alors qu'alfresco ne prends en compte que les .doc par defaut.
En passant mon fichier en .doc ce la fonctionne !!

merci qd mm pour ta réponse Smiley Wink