J'essaie d'obtenir tous les tags (nodeRefs et noms) d'alfresco en utilisant CMIS.Obtenir tous les tags Alfresco avec CMIS
La version Alfresco est 3.4. Avant de googler beaucoup, je ne trouve pas de bonne requête pour le faire? Aucun conseil?
J'essaie d'obtenir tous les tags (nodeRefs et noms) d'alfresco en utilisant CMIS.Obtenir tous les tags Alfresco avec CMIS
La version Alfresco est 3.4. Avant de googler beaucoup, je ne trouve pas de bonne requête pour le faire? Aucun conseil?
Je ne peux pas trouver une énorme quantité de détail écrit sur le Alfresco wiki sur la façon dont le service de marquage fonctionne, donc si quelqu'un a envie de prendre cela et mettre à jour le wiki qui pourrait être utile!
Il y a trois éléments clés à tagging:
nœuds Tag vivent sous un nœud spécial workspace://SpacesStore/tag:tag-root
qui est en /cm:categoryRoot/cm:taggable
. Les noeuds d'étiquette sont de type cm:category
et cm:name
est l'étiquette
Ensuite, vous souhaitez appliquer une étiquette à un noeud. S'il s'agit d'une nouvelle balise, elle doit d'abord être créée dans la racine du tag. S'il s'agit de la première balise d'un nœud, ajoutez l'aspect cm:taggable
. Obtenez le noderef du noeud de tag, puis ajoutez-le à la propriété cm:taggable
à valeurs multiples sur le noeud. (Le service de marquage fera tout cela pour vous si vous appelez addTag(NodeRef,String)
Enfin, divers nœuds de la hiérarchie parentale primaire du nœud que vous venez de marquer peuvent être définis comme une portée de point (par exemple le nœud de site). , les nœuds avec l'aspect cm:tagscope
ont la propriété cm:tagScopeSummary
mise à jour cm:tagScopeSummary
contient la liste des balises utilisées par les enfants du nœud, ainsi que le nombre de fois que l'étiquette est utilisée pour vous aider à déterminer les balises les plus populaires ce morceau de l'arbre, ainsi que de travailler quelles étiquettes sont utilisées, et quand un tag n'est plus utilisé par l'arbre.Une fois, le TaggingService met à jour tout cela pour vous
AFAIK, les différentes propriétés de l'étiquette (cm:taggable
et cm:tagScopeSummary
) ne sont pas exposés via CMIS. Vous auriez besoin d'utiliser l'une des API Alfresco normales, soit à partir de l'API publique, ou quelque chose comme script/org/alfresco/collaboration/tagQuery.get
qui vous permettra d'obtenir la liste des balises appliquées à un nœud. Je vous suggère de vous assurer que le nœud dont vous effectuez la requête est une portée de tag, donc c'est rapide et agréable. Le site est toujours un tag tag, c'est donc un bon point de départ.
Bonne réponse. Je vous remercie. Je pense, corrigez-moi si je me trompe, le service de marquage addTag commence à partir de la version 4.0 de Liferay. n'est-ce pas? Donc, je ne peux pas le faire fonctionner seulement avec les API alfresco-opencmis-extension et chemistry-opencmis? Puis-je utiliser les services Web en option? Remarque: AVERTISSEMENT! Je suis un débutant avec Alfresco. – Pymoo
Je ne sais rien à propos de liferay, désolé. Je crois que vous devrez faire un appel api non-CMIS REST pour obtenir les données que vous voulez, en appelant directement à Alfresco. – Gagravarr
Excuse je voulais dire Alfresco 4.0 pas Liferay. Pour beaucoup de guerres ouvertes, désolé :-( – Pymoo
Voulez-vous obtenir les étiquettes sur un nœud donné, ou voulez-vous obtenir les nœuds qui représentent des étiquettes spécifiques? – Gagravarr
Merci pour votre réponse Gagravarr. Je vais essayer de clarifier la question. J'ai besoin de montrer tous les tags sur un Node (dossier) récursivement, car dans mon intégration je dois créer un formulaire pour télécharger des fichiers et l'utilisateur veut ajouter des tags existants au document en ce moment. – Pymoo
Est-ce que ce doit juste être les balises utilisées par ce dossier + les enfants, ou est-ce que les balises utilisées sur le site contenant le dossier seraient OK? (Seul Alfresco gère déjà la liste de ces derniers pour vous) – Gagravarr