Newer
Older
# Migration 2.8 vers 2.9.4
Dans la section [medona], modification de la directive `packageSchemas` afin d'utiliser l'espace de nom SEDA 2.1 au lieu de SEDA 1 :
```
packageSchemas = "{
'seda2' : {
'label' : 'SEDA 2.1',
'xmlNamespace' : 'fr:gouv:culture:archivesdefrance:seda:v2.1',
'phpNamespace' : 'seda2',
'presenter' : 'seda2/message'
}
}"
```
# Migration 2.7 vers 2.8
## Vhost
Voir le fichier MIGRATION.md situé à la racine du socle applicatif.
### Changements globaux
Voir le fichier MIGRATION.md situé à la racine du socle applicatif.
### Changement AP
Dans la section [medona], ajout de tous les connecteurs disponibles pour l'application dans la directive `packageConnectors` qui est commentée.
Modification du presenter pour le schema Seda 2 dans la directive `descriptionSchemes` de la section [recordsManagement].
## Schéma SQL
Voir le fichier de migration de base de données socle dans le fichier MIGRATION.md situé à la racine du socle applicatif.
Voir le fichier spécifique
laabs/src/ext/archivesPubliques/data/sql/pgsql/apV2.7_V2.8.sql
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# Migration 2.6 vers 2.7
## Ajout dans la configuration
Dans la section [recordsManagement], ajout de la directive `archiveIdGenerator` qui permet de configurer la cotation automatique lors d'un versement dans l'application.
Dans la section [medona], ajout de la directive `packageConnectors` qui permet la configuration de connecteurs pour faciliter le versement de paquets externes au format incomplet.
Dans la section nouvellement créee [dependency.timestamp], la directive `pathToOpenSSL` a été ajoutée pour faciliter la prise en charge sur Windows :
```
pathToOpenSSL="C:\Program Files\OpenSSL-Win64\bin\openssl"
```
### Ajout du bundle Statistiques dans virtual host
Afin d'accéder aux fonctionnalités relatives aux statistiques, le bundle `Statistics` doit être ajoutée à l'instance dans le fichier vhost.conf :
```
SetEnv LAABS_BUNDLES audit;auth;batchProcessing;contact;digitalResource;lifeCycle;organization;recordsManagement;filePlan;medona;mades;digitalSafe;Statistics
```
Modifications liées à la configuration de la session :
```
SetEnv LAABS_SESSION_START Off
#SetEnv LAABS_SECURE_COOKIE On
```
## Modification de configuration
Dans la section [presentation.maarchRM], la directive `maxResults` livré par défaut est désormais à 500.
Dans la section [auth], modification de la configuration du CSRF :
```
csrfConfig = '{
"cookieName" : "Csrf",
"tokenLength" : 32
}'
```
Dans la section [recordsManagement], modification de la configuration des schémas de description :
```
descriptionSchemes = "{
'seda' : {
'label' : 'SEDA 1.0',
'type' : 'php',
'search' : 'archivesPubliques/content',
'uri' : 'archivesPubliques/content',
'controller' : '',
'presenter' : ''
},
'seda2' : {
'label' : 'SEDA 2.1',
'type' : 'php',
'search' : '',
'uri' : 'seda2/Content',
'controller' : '',
'presenter' : ''
},
'log' : {
'label' : 'log',
'type' : 'php',
'uri' : 'recordsManagement/log',
'search': 'recordsManagement/log'
}
}"
```
### Ajout d'un droit utilisateur
Le privilège se prénommant `Traiter les communications` a été ajoutée, ce privilège peut être attribué dans la catégorie de droits 'Communication'.
Un point de menu `Communications à finaliser` a été ajouté sur l'écran d'Echange pour effectuer le traitement manuel des communications:
## Schéma SQL
Voir le fichier spécifique
laabs/src/ext/archivesPubliques/data/sql/pgsql/apV2.6_V2.7.sql
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
# Migration 2.4 vers 2.5
Ajout des 2 dépendences PDF et CSRF dans le fichier vhost par défaut.
La dépendance PDF permet de mieux gérer la prévisualisation des ressources dans le navigateur.
Modification du fichier vhost par défaut (suppression de l'extension thirdPartyArchiving).
# Migration 2.3 vers 2.4
### Événement
Ajout de l'évènement recordsManagement/resourceDestruction dans la table "lifeCycle.eventFormat" qui permet la suppression d'une ressource détenue dans une archive.
# Migration 2.2 vers 2.3
## Configuration
**Toutes les modifications qui vont suivre seront à effectuer dans le fichier `configuration.ini`.
Afin de vous aider dans votre migration, le fichier `configuration.ini.default` peut vous servir de modèle.**
### Menu
Le menu général a été modifié.
#### Accès à l'accueil
Un nouveau point de menu permet de revenir à la page d'accueil,
alors qu'auparavant il fallait cliquer sur le logo dans la barre de navigation.
#### Accès aux échanges de données d'archive
Les points de menu correspondant aux 6 transactions d'échange de données d'archives
doivent être remplacés par un seul élément de menu qui amène à un nouvel écran de
suivi des transactions :
* Transferts entrants,
* Communication,
* Restitution,
* Elimination,
* Notifications,
* Transferts sortants
Ces 6 éléments de menu pour accéder aux transactions sont déplacés vers
la directive `menu` ajoutée à la section `[medona]`.
Le menu général avant :
```
menu = "[
{
'label' : 'Registre',
'href' : '/archivesPubliques/contentDescription',
'class' : 'fa fa-search fa-fw'
},
{
'label' : 'Transferts entrants',
'href' : '#',
'class' : 'fa fa-sign-in fa-fw',
'submenu' : [
{
'label' : 'Importer un bordereau',
'href' : '/transfer'
},
...
```
Le menu après, où tous les menus d'échange ont été "déplacés" vers la section "medona"
et l'accueil est accessible :
```
menu = "[
{
'label' : '',
'title' : 'Accueil',
'href' : '/',
'class' : 'fa fa-home fa-fw'
},
{
'label' : '',
'title' : 'Registre',
'href' : '/archivesPubliques/contentDescription',
'class' : 'fa fa-search fa-fw'
},
{
'label' : '',
'title' : 'Echanges',
'href' : '/medona/list',
'class' : 'fa fa-exchange fa-fw'
},
```
La configuration du menu dans la section "medona" :
```
[medona]
menu = "[
{
'label' : 'Transferts entrants',
'href' : '#',
'class' : 'fa fa-sign-in fa-fw',
'submenu' : [
{
'label' : 'Importer un bordereau',
'href' : '/transfer'
},
...
```
**Toutes les modifications qui vont suivre seront à effectuer dans le fichier `configuration.ini`.
Afin de vous aider dans votre migration, le fichier `configuration.ini.default` peut vous servir de modèle.**
Dans le but de regrouper la configuration dans un même fichier, nous avons copié le contenu des fichiers suivants dans le fichier principal `configuration.ini` :
- dependency#datasource.ini
- dependency#filesystem.ini
- dependency#html.ini
- dependency#json.ini
- dependency#localisation.ini
- dependency#logger.ini
- dependency#notification.ini
- dependency#repository.ini
- dependency#sdo.ini
Tous ces fichiers sont présents dans le dossier `conf.d`.
L'option `blackList` a été ajoutée dans la configuration. Cette option permet de désactiver une ou plusieurs route(s) de service.
Voici le paramétrage par défaut. Ce paramétrage désactive les routes inutiles pour l'archivage sphère publique.
; Blacklist of user stories
blacklistUserStories = "[
'archiveDeposit/deposit',
'adminArchive/descriptionField',
'archiveManagement/modifyDescription'
]"
```
### CSRF (facultatif)
Afin de nous protéger des attaques de "Cross-Site Request Forgery", nous avons ajouté une dépendance.
La dépendance "csrf" doit être ajoutée dans vos deux vhost (présentation et service) comme ci-dessous.
```bash
SetEnv LAABS_DEPENDENCIES repository;xml;html;localisation;datasource;sdo;json;fileSystem;notification;csrf
```
La dépendance amène une configuration associée.
Si cette configuration n'est pas ajoutée cela n'empêche en rien le bon fonctionnement de l'application.
[dependency.csrf]
whiteList = "['user/login']"
config = "{
'CSRFP_TOKEN' : '',
'logDirectory' : '/tmp',
'failedAuthAction' : {
'GET' : 0,
'POST' : 0
'errorRedirectionPage' : '',
'customErrorMessage' : '',
'jsUrl' : '/public/js/csrf/csrfprotector.js',
'tokenLength' : 10,
'cookieConfig' : {
'path' : '',
'domain' : '',
'secure' : false
'disabledJavascriptMessage' : 'This site attempts to protect users against <a href='https://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29'> Cross-Site Request Forgeries </a> attacks. In order to do so, you must have JavaScript enabled in your web browser otherwise this site will fail to work correctly for you. See details of your web browser for how to enable JavaScript.',
'verifyGetFor': {}
}"
Nous avons déplacé des informations techniques de la BDD vers le fichier de configuration.
Ces informations ne sont plus censées être modifiées après l'installation.
Le contenu doit être identique à la table `"auth"."publicUserStory"`.
Voici un exemple de contenu:
```bash
publicUserStory = "['app/*']"
```
*Voir sous-menu "Base de données" pour la suppression de la table "auth"."publicUserStory".*
### Task
Nous avons déplacé des informations techniques de la BDD vers le fichier de configuration.
Le contenu doit être identique à la table `"batchProcessing"."task"`.
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
Voici un exemple de contenu:
```bash
[batchProcessing]
tasks = "[
{
'taskId': '01',
'route' : 'audit/event/createChainjournal',
'description' : 'Chainer le journal de l\'application'
},
{
'taskId': '02',
'route' : 'lifeCycle/journal/createChainjournal',
'description' : 'Chainer le journal du cycle de vie'
},
{
'taskId': '03',
'route' : 'recordsManagement/archiveCompliance/readPeriodic',
'description' : 'Intégrité périodique'
},
{
'taskId': '04',
'route' : 'medona/ArchiveDelivery/updateProcessBatch',
'description' : 'Traiter les communications'
},
{
'taskId': '05',
'route' : 'medona/ArchiveDestruction/updateProcessAll',
'description' : 'Traiter les destructions'
},
{
'taskId': '06',
'route' : 'medona/ArchiveRestitution/updateProcessBatch',
'description' : 'Traiter les restitutions'
},
{
'taskId': '07',
'route' : 'medona/ArchiveTransfer/updateProcessBatch',
'description' : 'Traiter les transferts'
},
{
'taskId': '08',
'route' : 'medona/ArchiveTransfer/updateValidateBatch',
'description' : 'Valider les transferts'
},
{
'taskId': '09',
'route' : 'medona/message/deleteMessageDirectoryPurge',
'description' : 'Purge des bordereaux'
}
]"
```
*Voir sous-menu "Base de données" pour la suppression de la table "batchProcessing"."task".*
### Menu
Le menu a été restructuré.
Il vous suffit de remplacer le fichier "menu.ini" utilisé par votre application par celui livré par défaut dans le répertoire `data`.
Un fichier de migration a été mis en place pour faciliter la migration de données.
Ce fichier se nomme `apv2_v2.1.sql` et se situe dans le dossier `src/ext/archivesPubliques/data/sql/pgsql`.
Voici le detail des opérations réalisées dans ce script :
* Ajout d'une relation d'association entre le profil et le niveau de service. La fonctionnalité n'est pas disponible pour l'archivage public.
* Modification du type de la colonne "size" pour accepter les fichiers volumineux
* Ajout du processus de transfert sortant et distinction entre les transferts entrants et sortants
* Suppression des tables correspondants à la liste des tâches et des routes publiques.
* Ajout de la description d'événement pour la fonctionnalité "Reprise sur bordereaux" sur les transferts entrants.
* Modification des vues pour l'archivage public.