cancel
Showing results for 
Search instead for 
Did you mean: 

Donner une Référence personnalisée à des documents [RESOLU]

kim_9547
Champ in-the-making
Champ in-the-making
Bonsoir,

j'ai parcouru le forum et la question de donner une référence personnalisée à ses documents (exemple FIN001, FIN0002, etc.)
est bien évoquée mais je n'ai pas compris les solutions proposées.
Bon besoin est de pouvoir faire attribuer à tout document importé une référence comportant un préfixe (FIN pour les documents du service financier, CONT pour les documents du service contentieux, etc) et un numéro d'ordre généré automatiquement pour donner des référence du type FIN0001, CONT003. Je pense que cela est possible mais je n'ai pas trouvé comment faire.

Merci,

Kim.
8 REPLIES 8

rguinot
Confirmed Champ
Confirmed Champ
Cela est tout à fait possible par exemple via la définition d'un aspect personnalisé, qui contiendrait une propriété de type texte, avec une contrainte de TYPE REGEX :

http://wiki.alfresco.com/wiki/Constraints

En revanche vous devrez à mon sens faire un peu de dév Java, si vous souhaitez que la contrainte soit dynamique et également liée "au contexte", c'est à dire une valeur à respecter en fonction de l'espace dans lequel vous vous trouvez par exemple.

kim_9547
Champ in-the-making
Champ in-the-making
Bonjour,

merci pour votre réponse.
je ne suis pas sûr de comprendre. J'essaie de reprendre vos indications :
1) je définis un aspect personnalisé
2) qui contiendrait une propriété de type texte
3) avec une contrainte de TYPE REGEX
Je crois comprendre qu'avec ces trois points j'obtiens mon préfixe "FIN", par exemple, comme une propriété à part entière se retrouvant dans tous mes documents.
Je ne vois pas comment je passe à l'incrémentation automatique, qui me permettrait d'obtenir FIN001, FIN002,etc.
J'ai trouvé ce matin cette page http://wiki.alfresco.com/wiki/Display_Object_DBID, qui évoque la propriété sys:node-dbid, qui semble bien remplir la fonction d'incrémentation. Est-ce que cela peut m'être utile d'après vous ?

Je suis tout à fait prêt à renoncer à la gestion du contexte dans un premier temps et d'avoir tout mes documents référencés avec d'une part un préfixe qui s'applique à tous les espaces (le nom de ma direction) et d'autre part un simple numéro d'incrément. Cela est-il possible sans développement Java ?

Merci,

Kim.

michaelh
Champ on-the-rise
Champ on-the-rise
bonjour,

Je pense qu'un coup d'œil à L'API Javascript pourrait être suffisant pour ce type de problématique …
En tout cas vous verrez vite les possibilités de renommage, ou de lecture/écriture de propriétés.

http://wiki.alfresco.com/wiki/JavaScript_API
http://wiki.alfresco.com/wiki/JavaScript_API_Cookbook

kim_9547
Champ in-the-making
Champ in-the-making
Bonsoir à tous,

merci pour ces indications qui vont m'aidé à comprendre, je l'espère. Depuis ce matin, je suis tombé sur le post suivant http://forums.alfresco.com/viewtopic.php?f=12&t=3533&start=15&st=0&sk=t&sd=a qui indique la même méthode que vous, ce me semble :

by TheOrbix on 30 Sep 2007, 21:07
Ok, I did it… and no Java coding was required, just some JavaScript.

Here are the steps:
1) I've created a custom aspect called "DocID"
2) I've assigned the aspect to a Space
3) I've set up a rule in the space. On every new document stored in the space the rule does two things:
- assigns the "DocID" aspect to the document
- runs a certain JavaScript script

And here is the content of the script:

____
// Retrieve the last DocID value from the counter at the Space level
LastDocID = parseInt(space.properties["customSmiley Very HappyocID"]);
// Generate new DocID value
NewDocID = LastDocID + 1;

// Store the new value in the space
space.properties["customSmiley Very HappyocID"] = NewDocID;
space.save();

// Store the DocID in the document's metadata
document.properties["custom:numprotocollo"] = NewDocID;
document.save();

PS : je ne sais toujours pas à quoi sys:node-dbid  peut servir …

rguinot
Confirmed Champ
Confirmed Champ
La méthode que vous mentionnez est différente. Elle consiste à placer un compteur sur un noeud de l'arborescence, et incrémenter ce compteur via une règle à l'ajout de contenu pour pouvoir placer une référence numérotée sur le nouveau document. cela semble effectivement être une solution.
Vous pourrez également avoir un préfixe qui pourra dépendre de l'arborescence par exemple.

Dans cet exemple, le DBID ne vous servira à rien. c'est une métadonnée système interne Alfresco qu'il n'est ss doute pas recommandé de manipuler à la légère.

kim_9547
Champ in-the-making
Champ in-the-making
Bonjour,

merci beaucoup pour votre aide et vos conseils.
Je ne suis qu'un utilisateur débutant mais je trouve qu'Alfresco est outil très puissant.

Bravo à vous tous,  Smiley Very Happy.

Kim.

tototurbo
Champ in-the-making
Champ in-the-making
Bonjour,

Ce besoin est couvert par le module "RecordsManagement" d'Alfreco. On peut définir un suffixe particulier par espace, et chaque document placé dans l'espace recoit ensuite une référence contenant le suffixe + un numéro d'incrémentation. Les possibilités du module RM sont plus vastes, mais il permet au moins d'avoir cette numérotation auto sans développement.

Pour l'installation du module RM : Télécharger le fichier .amp correspondant (sur le site Alfresco), le placer dans le dossier /alfresco/amps, puis lancer le fichier apply_amps.bat (ou .sh) situé sous la racine d'alfresco.

kim_9547
Champ in-the-making
Champ in-the-making
Bonsoir,

merci pour ce dernier conseil. Je viens d'installer le composant RecordsManagement. Cela a l'air vraiment pas mal.

Merci,

Kim.