5.2 Les dossiers

Les dossiers permettent de grouper des documents. Un dossier est un type de collection, comme les recherches et rapport.

Cette fonction est analogue à la fonction de répertoires présents dans les systèmes de fichiers mais présente de notables différences.

Un dossier ne gère que des références à des documents. Au contraire du répertoire qui, dans un système de fichiers, impose que les fichiers soient liés physiquement à un répertoire. Cela implique les faits suivants :

  • la suppression d'un dossier n'entraîne pas la suppression de ses références,
  • l'accès à un dossier ne contraint pas l'accès à une des ses références,
  • les références entre dossiers peuvent conduire à des boucles dans l'arborescence,
  • un document ou un dossier peut être référencé dans aucun, un seul ou plusieurs dossiers.

Par défaut, n'importe quelle famille de document peut être insérée dans un dossier. Un dossier peut être paramétré pour ne contenir que certaines familles de documents, c'est ce qu'on nomme la restriction.

5.2.1 Restrictions

La restriction d'un dossier est paramétrée à l'aide des attributs :

5.2.1.1 Attribut FLD_ALLBUT

L'attribut FLD_ALLBUT est un énuméré qui peut prendre deux valeurs (0 ou 1) et qui permet de spécifier le mode de restriction :

0 (tout sauf)
Autorise l'insertion de toutes les familles de documents à l'exception d'une liste déterminée de famille à exclure.
1 (seulement)
N'autorise que l'insertion de documents des familles déterminées.

5.2.1.2 FDL_FAMIDS

L'attribut FLD_FAMIDS est un attribut multivalué qui contient des identifiants de familles, et qui permet de spécifier la liste des familles à autoriser ou à exclure (en fonction de la valeur de l'attribut FDL_ALLBUT).

L'attribut FLD_SUBFAM est un attribut multivalué qui indique si la famille indiquée dans la restriction FLD_FAMIDS concerne aussi les sous-famille ou non. Les valeurs possible de FLD_SUBFAM sont :

  • yes : avec les sous-familles,
  • no : sans les sous-familles.

5.2.1.3 Exemple de paramétrage de restriction

N'autoriser que l'insertion de documents issus des familles FAM_A (et ses dérivées) et FAM_B (sans ses dérivées) dans le dossier My_FOLDER.

/**
 * @var Dir $myFolder
 */
$myFolder = new_doc(getDbAccess(), "My_FOLDER");
 
$idFamA = getIdFromName(getDbAccess(), 'FAM_A');
$idFamB = getIdFromName(getDbAccess(), 'FAM_B');
 
$myFolder->setAttributeValue(\Dcp\AttributeIdentifiers\Dir::fld_allbut, 1);
$myFolder->setAttributeValue(\Dcp\AttributeIdentifiers\Dir::fld_famids, array($idFamA, $idFamB));
$myFolder->setAttributeValue(\Dcp\AttributeIdentifiers\Dir::fld_subfam, array("yes","no"));
$myFolder->store();

5.2.2 Profil de dossier

Le profil de dossier hérite du profil de document.

La famille PDIR est le profil de dossier. En plus des droits du document "classique", deux droits spécifiques sont ajoutés :

  • open : Permet d'accéder au contenu du dossier.
  • modify : Permet d'ajouter ou de supprimer des références au dossier.

Note : Le droit edit n'est pas utilisé pour vérifier la modification du contenu mais il est utilisé pour vérifier la modification des informations sur le document dossier tel que son titre et sa description.

5.2.3 Profil de contenu

En terme de droit, le dossier possède une fonctionnalité spécifique. Il peut modifier les droits des documents qui sont insérés dans le dossier.

L'attribut fld_pdocid et fld_pdirid permettent d'indiquer le profil qu' acquiert un document lorsqu'il est inséré dans le dossier.

  • fld_pdocid : profil utilisé pour les documents "classique"
  • fld_pdirid : profil utilisé pour les documents "dossier"

Attention : Le profil d'un document inséré est modifié seulement s'il n'est pas déjà profilé (profid = 0) et seulement lors d'une insertion unitaire et non lors d'une insertion multiple.

5.2.4 Hook (hameçons) propres aux documents dossiers

La modification d'un profil de document inséré peut être personnalisée en utilisant les hameçons (hook) Dir::postInsertDocument() et postInsertMultipleDocuments().

5.2.5 Voir aussi

Voir la classe Dir qui contient les méthodes spécifiques aux dossiers.

×