AnsweredAssumed Answered

creer une fiche produit dans share

Question asked by pascalb on Jun 9, 2010
Bonjour à tous,

J'aurais besoin de créé un nouveau modéle afin de pouvoir creer un nouveau contenu dans SHARE à partir de ce nouveau modele.

Voici où j'en suis  :  création du modele dans tomcat/shared/classes/alfresco/extension.
pattern-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>
<!– ici on enregistre notre modèle  avec les bundles des labels –>   
    <bean id="pattern.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <property name="models">
            <list>
                <value>alfresco/extension/patternModel.xml</value>
            </list>
        </property>
        <property name="labels">
      <list>
         <value>alfresco/extension/pattern-model</value>
      </list>
   </property>
    </bean>
</beans>


patternModel.xml
<?xml version="1.0" encoding="UTF-8"?>

<!– Definition of new Model –>
<model name="pa:patternmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">

   <!– imports de modèles de base alfresco M1  –>    
   <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>

<!– notre modèle M2 pour ce projet  –>

   <!– on définit le namespace de notre modèle M2 –>
   <namespaces>
      <namespace uri="http://www.pattern.com/model/content/1.0" prefix="pa"/>
   </namespaces>
 
   <types>
      <!– The pattern type –>
      <type name="pa:pattern">
          <title>pattern</title>
         <parent>cm:content</parent>
         <properties>
            <property name="pa:name">
               <title>Name</title>
               <type>d:text</type>
               <mandatory>true</mandatory>
           </property>
            <property name="pa:author">
               <title>Author</title>
               <type>d:text</type>
            </property>
            <property name="pa:type">
               <title>Type</title>
               <type>d:text</type>
               <mandatory>true</mandatory>
            </property>
            <property name="pa:problem">
               <title>Problem</title>
               <type>d:text</type>
               <mandatory>true</mandatory>
            </property>
            <property name="pa:context">
               <title>Context</title>
               <type>d:text</type>
               <mandatory>true</mandatory>
            </property>
       </properties>
      
       <associations>
            <!–  ci-dessous l'association qui lie le produit à ses images   –>
            <association name="pa:solution">
               <target>
                  <class>pa:solution</class>
                 <mandatory>true</mandatory>
                  <many>false</many>
               </target>
            </association>
         </associations>
      
       <!–  on greffe les aspect/comportements versionable et auditable  –>
       <mandatory-aspects>
          <aspect>cm:versionable</aspect>
          <aspect>cm:auditable</aspect>
       </mandatory-aspects>
      </type>

     <!– The product image –>
     <type name="pa:solution">
        <title>Solution</title>
         <parent>cm:content</parent>
         <properties>
            <property name="pa:solutiontext">
               <title>Text</title>
               <type>d:text</type>
               <mandatory>false</mandatory>
            </property>
       </properties>
      </type>
     
    </types>
  
</model>

==> pas d'erreur apres relance du tomcat/Alfresco

Est-ce que cette definition de type est correct et me permet-elle de pouvoir créer un formulaire dans Share afin de creer des contenus alfresco avec les "rubriques" défini dans le modele (en regardant dans alfresco client je ne trouve aucune trace de mes types nouvellement créé ==> mais ce ne sont apparament pas des meta-données). Plus généralement (l'exemple est tiré et transformé de koossery http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/?page=tutorial-alfresco-client-web), je voudrais être sûr qu'à partir d'un formulaire  share (reprenant les "rubrique" défini dans le modele), je puisse déclencher une action me permettant d'enregistrer les données saisie, qu'alfresco les reconnaissent comme défini dans le modele, puis qu'il les transforme en .pdf (via jasper report) afin de les enregistrer dans le repository.
==> avantage = recherche full text (mais ceci est "la cerise sr le gateau").

L'exemple du Koossery est en référence à alfresco-client et non Share ==> http://wiki.alfresco.com/wiki/Custom_Document_Library_Action peut-être une bonne piste de départ mais il reste un peu flou pour moi, simple Newbee en Alfresco (notamment la partie "repository web-script").

Auriez-vous d'autres piste pour la génération du formulaire et de l'action "create" ou "Update" d'un nouveau document selon le modele. (le formulaire devrait être accéssible depuis un bouton, positionné sur le bandeau "title" (fichier collaboration-title.get.html.ftl) et serait défini aussi bien au niveau de ce webscript mais aussi au niveau du repertoire share/WEBINF/classes/alfresco/site-webscripts/org/alfresco/modules/   ==> j'ai bon jusqu'a là ? :roll:

Outcomes