cubicweb/misc/cwfs/cwfs-spec.txt
changeset 11057 0b59724cb3f2
parent 0 b97547f5f1fa
child 12792 e2cdb1be6bd9
equal deleted inserted replaced
11052:058bb3dc685f 11057:0b59724cb3f2
       
     1 =======================
       
     2  Specification cubicwebfs
       
     3 =======================
       
     4 
       
     5 Remarque: cubicwebfs c'est le siamois de yamsfs
       
     6 en fait c'est un yamsfs avec une interrogation
       
     7 de base RQL
       
     8 
       
     9 Modèle
       
    10 -------
       
    11 
       
    12 Description du modèle;
       
    13 ::
       
    14   societe
       
    15   nom
       
    16   ville
       
    17 
       
    18   affaire
       
    19   ref
       
    20 
       
    21   document
       
    22   annee 
       
    23   mois 
       
    24   jour
       
    25   type {RAP,CLI,OFR,FCT}
       
    26   fichier
       
    27 
       
    28 document concerne affaire
       
    29 affaire concerne societe
       
    30 
       
    31 Contenu de la base exemple
       
    32 ---------------------------
       
    33 
       
    34 societe  | nom     | ville    |
       
    35          | CETIAD  | Dijon    |
       
    36          | EDF R&D | Clamart  |
       
    37          | Logilab | Paris    |
       
    38 
       
    39 affaire  | ref    | concerne  |
       
    40          | CTIA01 | CETIAD    |
       
    41          | EDFR01 | EDF R&D   |
       
    42          | EDFR02 | EDF R&D   |
       
    43 
       
    44 document | annee | mois | jour | type | concerne | fichier                                     |
       
    45          | 2004  | 09   | 06   | PRE  | CTIA01   | depodoc/2004/09/CTIA01-040906-PRE-1-01.pdf  |  
       
    46          | 2005  | 02   | 01   | CLI  | EDFR01   | depodoc/2005/02/EDFR01-050201-CLI-1-01.pdf  |  
       
    47          | 2005  | 03   | 22   | OFR  | EDFR01   | depodoc/2005/02/EDFR01-050322-OFR-1-01.pdf  |  
       
    48 
       
    49 
       
    50 Exemples de chemins/recherches
       
    51 -------------------------------
       
    52 
       
    53 Cherche documents de mars 2005;
       
    54 ::
       
    55   /document/annee/2005/mois/03/
       
    56 
       
    57 
       
    58 Dont le contenu successif serait;
       
    59 
       
    60 Test::
       
    61 
       
    62   $ ls /document
       
    63   annee/	mois/		jour/		type/
       
    64   affaire/	concerne/	CTIA01-040906-PRE-1-01.pdf
       
    65   EDFR01-050201-CLI-1-01.pdf	EDFR01-050322-OFR-1-01.pdf	
       
    66 
       
    67   $ ls /document/annee/
       
    68   2004/		2005/
       
    69 
       
    70   $ ls /document/annee/2005/
       
    71   mois/		jour/		type/		affaire/
       
    72   concerne/	EDFR01-050201-CLI-1-01.pdf	EDFR01-050322-OFR-1-01.pdf
       
    73 
       
    74   $ ls /document/annee/2005/mois/
       
    75   02/		03/
       
    76 
       
    77   $ ls /document/annee/2005/mois/03/
       
    78   jour/		type/		affaire/	concerne/
       
    79   EDFR01-050322-OFR-1-01.pdf
       
    80 
       
    81 
       
    82 Question: est-ce que fichier/ ne va pas nous manquer ?
       
    83 
       
    84 
       
    85 Cherche documents relatifs à CTIA01; 
       
    86 ::
       
    87   /affaire/ref/CTIA01/document/
       
    88 
       
    89 Dont le contenu des répertoires successifs serait:
       
    90 
       
    91 Test::
       
    92 
       
    93   $ ls /affaire/
       
    94   ref/		societe/	concerne/	document/
       
    95   concerne_par/	CTIA01		EDFR01		EDFR02
       
    96 
       
    97   $ ls /affaire/ref/
       
    98   CTIA01/	EDFR01/		EDFR02/
       
    99 
       
   100   $ ls /affaire/ref/CTIA01/
       
   101   societe/	concerne/	document/	concerne_par/
       
   102   
       
   103   $ ls /affaire/ref/CTIA01/document/
       
   104   annee/	mois/		jour/		type/
       
   105   CTIA01-040906-PRE-1-01.pdf
       
   106 
       
   107 
       
   108 Cherche documents des affaires qui concernent CETIAD;
       
   109 ::
       
   110   /societe/nom/CETIAD/affaire/document/
       
   111 
       
   112 Dont le contenu des répertoires successifs serait;
       
   113 
       
   114 Test::
       
   115 
       
   116   $ ls /societe/
       
   117   nom/		ville/		affaire/	concerne_par/
       
   118   CETIAD	EDF R&D		Logilab
       
   119 
       
   120   $ ls /societe/nom/
       
   121   CETIAD	EDF R&D		Logilab
       
   122 
       
   123   $ ls /societe/nom/CETIAD/
       
   124   ville/	affaire/	concerne_par/	CETIAD		Logilab
       
   125 
       
   126   $ ls /societe/nom/CETIAD/affaire/
       
   127   ref/		societe/	concerne/	document/
       
   128   concerne_par/	CTIA01		
       
   129 
       
   130   $ ls /societe/nom/CETIAD/affaire/document/
       
   131   annee/	mois/		jour/		type/
       
   132   affaire/	concerne/	CTIA01-040906-PRE-1-01.pdf
       
   133 
       
   134 
       
   135 En particulier, pour la recherche ci-dessus on ne peut pas écrire;
       
   136 ::
       
   137   /document/affaire/concerne/societe/CETIAD/
       
   138 
       
   139 La logique est que si on est dans un répertoire document, il faut
       
   140 qu'il contienne des documents.
       
   141 
       
   142 Cherche documents de 2002 qui concernent des affaires 
       
   143 qui concernent CETIAD;
       
   144 ::
       
   145   /societe/CETIAD/affaire/document/annee/2002/
       
   146 
       
   147 Question: est-ce que les relations doivent être des composants
       
   148 du chemin ?
       
   149 Question : si les relations ne font pas partie du chemin, il faudrait
       
   150 pouvoir faire des recherches en utilisant des relations anonymes (ce
       
   151 qui est impossible en RQL par exemple);
       
   152 ::
       
   153   /document/affaire/... s'il existe plusieurs relations entre
       
   154   les entités document et affaire, on ne peut pas s'en sortir
       
   155 
       
   156 Question: que va-t-il se passer pour des chemins du type;
       
   157 ::
       
   158   /affaire/CTIA*/document/
       
   159 
       
   160 Nicolas: à mon avis on a rien à faire, car c'est le shell qui
       
   161 s'en occupe. De la même façon, le système de fichier n'a pas
       
   162 à se préoccuper de ~/ et les programmes reçoivent pas le "qqch*"
       
   163 en argument, mais directement la liste.
       
   164 
       
   165 Attention: si jamais l'arborescence est sans fond, les
       
   166 commandes récursives vont prendre du temps...
       
   167 
       
   168 Attention: dans un premier temps, un système de fichiers en
       
   169 lecture seule est satisfaisant. on verra ensuite pour l'édition.
       
   170 pour l'édition, on peut s'inspirer du external editor de zope
       
   171 et avoir un format d'échange XML entre le serveur et l'éditeur.
       
   172 
       
   173 Le cas suivant est débile, faut-il l'interdire ?
       
   174 ::
       
   175   /document/affaire/societe/concerne_par/affaire/concerne_par/document
       
   176 
       
   177 
       
   178 NB: manque détail d'un cas comme /document/annee/2005/concerne/affaire/
       
   179 
       
   180