cancel
Showing results for 
Search instead for 
Did you mean: 

Créer des liens de site Share depuis l'extérieur

kizux_3453
Champ in-the-making
Champ in-the-making
Bonjour à tous,
J'ai comme mission de développer une petite application en JavaScript qui permettra aux utilisateurs d'ajouter un lien à un site Alfresco Share sans passer par l'interface web de Share.
J'aimerai vous soumettre mon plan d'attaque afin de savoir si je vais bien m'y prendre, avoir vos avis et ne pas chercher une solution inutile pour rien :

Dans un premier temps je devrais lier ma mini application au Content Repository d'Alfresco grâce à l'API JavaScript
Après vérification de l'utilisateur et du site Share où l'utilisateur souhaite ajouter son lien :
Créer un noeud approprié avec les bonnes propriétés dans le dossier links du site Share en question.

J'en profite pour poser les questions suivantes : Où sont situés les noeuds concernant les liens de site Share ? et où trouver une documentation claire de l'API qui m'aiderai à réaliser cela ?

Merci de votre future aide
20 REPLIES 20

kizux_3453
Champ in-the-making
Champ in-the-making
Vous dites que dans un modèle on peut définir des types et des aspects :
{http://www.alfresco.org/model/linksmodel/1.0}link
est donc un type, (dans mon esprit je traduis ca par class en POO)

{http://www.alfresco.org/model/linksmodel/1.0}description
Lui est une propriété (un attribut ou un membre si je continue en POO)

Mais les deux sont référencés dans le même modèle (le type et la propriété) c'est pour ca que je m'embrouillais facilement !
Avec le navigateur de noeud, peut on consulter les modèles afin de différencier les types, aspects et propriétés ?

Merci beaucoup pour tout l'aide déjà apportée en tout cas !

bertrandf
Champ on-the-rise
Champ on-the-rise
Un type et un aspect sont composés de plusieurs propriétés.
Un type peut hérité d'un autre type (<parent>cm:content</parent> par exemple).

On peut donc se retrouver avec un nœud qui a des propriétés issus de plusieurs modèles.

Avec le navigateur de nœuds, vous pouvez consulter les propriétés des nœuds (chaque propriétés étant préfixée par l'URI du modèle ou elle a été définie), les permissions, leurs enfants et également les aspects.
Cependant vous n'aurez pas moyen de savoir quelle propriété est rattachée à quel type ou quel aspect (vous aurez seulement une idée en vous fiant à l'URI).

Pour connaitre les propriétés liées à chaque type ou aspect, il faut aller fouiller dans la déclaration des modèles.
Pour cela, vous pouvez aller faire un tour dans le dossier : /tomcat/webapps/alfresco/WEB-INF/classes/alfresco/model/

En espérant ne pas vous avoir dit de bêtises.

Voici le modèle pour un lien :
   <namespaces>
      <namespace uri="http://www.alfresco.org/model/linksmodel/1.0" prefix="lnk"/>
   </namespaces>

   <types>
      <type name="lnk:link">
         <parent>cm:content</parent>
         <properties>
            <property name="lnk:title">
               <title>Link Title</title>
               <type>d:text</type>
               <mandatory>false</mandatory>
            </property>
            <property name="lnk:url">
               <title>Link URL</title>
               <type>d:text</type>
               <mandatory>false</mandatory>
            </property>
            <property name="lnk:description">
               <title>Link Description</title>
               <type>d:text</type>
               <mandatory>false</mandatory>
            </property>
         </properties>
      </type>
   </types>

   <aspects>
      <aspect name="lnk:internal">
         <title>Internal Link</title>
         <properties>
            <property name="lnk:isInternal">
               <title>Is Internal</title>
               <type>d:text</type>
               <mandatory>true</mandatory>
            </property>
         </properties>
      </aspect>
   </aspects>

kizux_3453
Champ in-the-making
Champ in-the-making
Ok j'ai vraiment compris beaucoup de choses avec vos réponses de cette après midi, je vous en remercie grandement tous les deux !
Me voila donc apte à commencer mon code l'esprit clair  Smiley Very Happy

Juste une tout dernière question histoire de boucler le sujet :
Donc en créant un noeud de type lnk:link, il aura les propriétés défini dans le model, par default elles seront toutes vides (cad avec une valeur null) , auront une valeur par default, ou n'existeront même pas ?

Merci infiniment

michaelh
Champ on-the-rise
Champ on-the-rise
[…] en POO […]
Etape suivante, la POA  :wink:

kizux_3453
Champ in-the-making
Champ in-the-making
Bonjour tout le monde,

Alors j'arrive à faire des scripts qui marchent (enfin), c'est impeccable !
Voici un exemple de bout de script tout bête que j'utilise:
var test = companyhome.childByNamePath("sites").childByNamePath("test").childByNamePath("links");
var link = test.createNode("nom du lien", "lnk:link");

link.properties["lnk:title"] = "le titre du lien";
link.properties["lnk:description"] = "la description du lien";
link.properties["lnk:url"] = "http://www.google.fr";

link.save();

J'aimerai maintenant qu'on puisse exécuter ce script depuis l'extérieur d'alfresco explorer, malheureusement je ne vois pas comment m'y prendre (je suis en train de fouiller du côté du web script framework)

Merci de vos aides

bertrandf
Champ on-the-rise
Champ on-the-rise
Je vous conseille de créer un webscript http://wiki.alfresco.com/wiki/Web_Scripts

Il vous suffit de créer un fichier de description (*.desc.xml), un fichier JavaScript (ou vous pourrez reprendre ce que vous avez déjà fait) et un template pour le rendu.
Ces fichiers sont ensuite a déposer dans une arborescence précise.

Vous pouvez vous inspirer du helloword ou des webscripts existants par défaut dans alfresco.

jayjayecl
Confirmed Champ
Confirmed Champ

kizux_3453
Champ in-the-making
Champ in-the-making
Super, ca marche impeccablement bien, j'aime de plus en plus cet ecm !

Bon j'ai juste un tout petit soucis, existe il (je suppose que oui) un moyen de récupérer les variables get ou post dans mon fichier .js ?

Merci de votre aide

bertrandf
Champ on-the-rise
Champ on-the-rise

kizux_3453
Champ in-the-making
Champ in-the-making
Merci beaucoup de votre aide, je pense que j'ai tout les outils en main maintenant pour finaliser mon script  Smiley Very Happy
Juste au cas où, le renvoi d'args est de type string ?