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

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

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

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
Active Member

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

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
Member II

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

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
Active Member

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

[…] en POO […]
Etape suivante, la POA  :wink:
kizux_3453
Member II

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

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
Active Member

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

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
Active Member II

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

kizux_3453
Member II

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

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
Active Member

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

kizux_3453
Member II

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

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 ?