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