CHANGELOG.md 20.2 KB
Newer Older
Alexandre Morin's avatar
Alexandre Morin committed
1
2
# CHANGELOG

3
4
## Version 2.6

Cyril Vazquez's avatar
Cyril Vazquez committed
5
### Externalisation des fonctions Coffre-Fort Numérique
Cyril Vazquez's avatar
Cyril Vazquez committed
6
- `Changed` Le bundle `digitalSafe` a été déplacé vers la nouvelle extension éponyme, disponible dans le projet GitLab ![lien](https://labs.maarch.org/maarch/digitalSafe)
Cyril Vazquez's avatar
Cyril Vazquez committed
7

Cyril Vazquez's avatar
Cyril Vazquez committed
8
9
### Sécurité
- `Fixed` Erreur courante `Attemp to access without a valid token` du module de protection CSRF, et traduction du message en français
Cyril Vazquez's avatar
Cyril Vazquez committed
10
- `Fixed` Impossibilité de rattacher un compte de service de niveau Administrateur fonctionnel à une organisation (au lieu d'un service) 
Cyril Vazquez's avatar
Cyril Vazquez committed
11
- `Fixed` Faille XSS en faux positif sur la modale 404 "La page demandée n'existe pas"
Cyril Vazquez's avatar
Cyril Vazquez committed
12
13
- `Added` Gestion renforcée de la sécurité (option de configuration) : Gestion de niveaux de sécurité sur les rôles et privilèges, en lien avec les niveaux d'utilisateur
- `Changed` Filtrage des comptes d'utilisateurs et comptes de service en fonction du niveau de sécurité, notamment pour le compte utilisé dans le planificateur de tâches (si activé)
Cyril Vazquez's avatar
Cyril Vazquez committed
14
15

### Import et export de référentiels
Cyril Vazquez's avatar
Cyril Vazquez committed
16
17
- `Added` Fonctions d'import de référentiels par téléversement de CSV, avec option de remise à blanc ou de modification/fusion
- `Added` Fonctions d'export de référentiels par téléchargement de CSV
Cyril Vazquez's avatar
Cyril Vazquez committed
18

Cyril Vazquez's avatar
Cyril Vazquez committed
19
20
21
### Echanges transactionnels
- `Fixed` Traitements concurrents sur les mêmes bordereaux (hors versement, déjà corrigé en V2.5)
- `Fixed` Impossibilité de transmettre des chemins de fichiers ou URI pour les données transmises
Cyril Vazquez's avatar
Cyril Vazquez committed
22
23

### Traitement des binaires (versement et accès)
Cyril Vazquez's avatar
Cyril Vazquez committed
24
- `Changed` Réécriture complète des macanismes de traitement des contenus binaires reçus et transmis, afin de permettre la gestion de document numériques de grande taille (sup. à 1Go) sans dépassament de la mémoire
Cyril Vazquez's avatar
Cyril Vazquez committed
25
- `Changed` Dans l'adaptateur `FileSystem`, création des répertoires de stockage après résolution des parties variables et non plus récursivement pour améliorer les performances lors du stockage CEPH sur interface POSIX
Cyril Vazquez's avatar
Cyril Vazquez committed
26

Cyril Vazquez's avatar
Cyril Vazquez committed
27
28
29
### Description
- `Added` Option pour activer la valeur par défaut à la date du jour pour les métadonnées de type date et date+heure

Cyril Vazquez's avatar
Cyril Vazquez committed
30
31
32
### Classement
- `Fixed` Impossibilité de déplacer les services à la racine de l'organisation
- `Fixed` Erreur lorsqu'un service/une activité n'avait pas de rôle
Cyril Vazquez's avatar
Cyril Vazquez committed
33
- `Added` Fonction pour activer/désaciver des services/activités et ainsi empêcher les versements
Cyril Vazquez's avatar
Cyril Vazquez committed
34
35
36
37
38
39
40
41

### Traçabilité
- `Fixed` Recherche par terme impossible dans le journal de l'application
- `Fixed` Absence des données de règle de conservation avant modification dans le détail de l'événement
- `Fixed` Absence des noms d'organisation et services acteurs dans le détail des événements d'échange transactionnel
- `Added` Ajout d'un champ organisation dans la recherche d'évènement de journal, il assistera l'utilisateur avec une autocompletion regroupant l'ensemble des services et des organisations auxquels l'utilisateur est rattaché.
- `Added` Ajout de la possibilité de rechercher selon l'identifiant métier (renseigné par le client) en plus de l'identifiant technique dans la recherche d'évènement de journal.
- `Added` Information de résultat d'opération dans le tableau des événement des objets (archive et messages d'échange)
Cyril Vazquez's avatar
Cyril Vazquez committed
42
43
- `Changed` Téléchagrement des attestations depuis le détail des événements et non plus depuis la liste

Cyril Vazquez's avatar
Cyril Vazquez committed
44
45
46
47
48
### IHM
- `Fixed` Bouton de validation du formulaire de modification de règle de conservation qui se déplaçait au survol du curseur
- `Fixed` Effacement de la date déjà renseignée dans la zone de saisie, lorsque la même date était sélectionnée dans le sélecteur de date
- `Fixed` Fichier sans extension ni nom lors du téléchargement de fichier de profil d'archivage (SEDA par exemple)
- `Fixed` Affichage du point de menu "Echanges transactionnels" même lorsque l'utilisateur n'a accès à aucune transaction
Cyril Vazquez's avatar
Cyril Vazquez committed
49
50
51
52
- `Fixed` Erreur lors du classement de plusieurs archives das un dossier virtuel, après versement ou modification des métadonnées de l'une des archives de la liste de résultat
- `Added` Fonction pour déplier/replier toute un branche de l'organigramme des services
- `Added` Fonction de téléchargement des données de liste de résultat dans l'écran de gestion de l'Archive
- `Added` Mode de vue en liste pour la gestion de l'organisation (option de configuration) pour gérer les grands tableaux de gestion (milliers d'entrées)
Cyril Vazquez's avatar
Cyril Vazquez committed
53
54
55
56


### Pérennisation
- `Fixed` Erreur non interceptée lors de la détection de format lorsqu'un outil tiers appelé en ligne de commande (7z en l'occurence) se terminait en erreur
Cyril Vazquez's avatar
Cyril Vazquez committed
57

Cyril Vazquez's avatar
Cyril Vazquez committed
58
59
## Version 2.5.3
- `Fixed` Contenu binaire corrompu lors du dépôt direct d'objet numérique dans les archives
Cyril Vazquez's avatar
Cyril Vazquez committed
60

61
62
## Version 2.5.2

63
64
65
66
- `Fixed` Rétablissement des demandes de restitution d'archives.
- `Fixed` Les valeurs par défaut des paramètres de fonction dans JavaScript ont été retirées pour compatibilité à Internet Explorer 11.
- `Fixed` Les tableaux s'initialisent correctement lorsqu'un nombre important d'entrées doit être affiché.
- `Fixed` Rétablissement de la navigation entre archives liées.
67

68
69
70
71
### Thesaurus

- `Added` Ajout de la possiblité d'utiliser des fichiers CSV ou SKOS personnalisés comme référentiels de thesaurus (fonctionnalité de l'extension *archives publiques*).

Alexandre Goldstein's avatar
Alexandre Goldstein committed
72
73
74
75
## Version 2.5.1

- `Fixed` Correctif sur la vérification de validité du token de 'Mot de passe oublié'

Arnaud Pauget's avatar
Arnaud Pauget committed
76
77
## Version 2.5

78
79
### Sécurité

80
81
- `Fixed` Correction de la fonction permettant d'intégrer un fichier css personnalisé pour forcer à faire référence au fichier CSS et empêcher la remontée de répertoire grâce au chemin de celui-ci.  (Merci à *Vladimir TOUTAIN* et *Sammy FORGIT* pour le signalement et l'analyse).
- `Fixed` Déplacement de la route permettant la modification des utilisateurs pour éviter l'élévation de privilèges lorsqu'un utlisateur n'a pas les droits adéquats. (Merci à *Vladimir TOUTAIN* et *Sammy FORGIT*  pour le signalement et l'analyse).
82
83
- `Added` Trois niveaux d'utilisateurs basés sur les exigences de la NF Z 42-020 : Administrateur Général, Administrateur Fonctionnel et Utilisateur Simple.
- `Fixed` Attribution d'un "service par défaut à l'affichage" lors de la suppression du service par défaut d'un utilisateur.
84

85
86
### Open API

87
- `Added` Ajout d'un script de génération de documentation OpenAPI 2.0 exportable dans Swagger ou en documention HTML.
88

89
### Journalisation
90

91
92
93
- `Added` Génération et téléchargement manuel des attestations de dépôt, de validation d'intégrité et de destruction des archives à partir du journal de cycle de vie.
- `Fixed` Le nombre d'évènements sur l'archive n'est plus multiplié par le nombre de ressources qu'elle contient.
- `Fixed` L'accès aux évènements d'un journal chaîné est rétabli pour les utilisateurs non producteurs de cette archive de journal.
94
95

### Administration Technique
96

97
98
99
- `Added` Un fichier d'horodatage peut être généré par défaut lors du chaînage du journal, et associé à l'archive générée.
- `Added` Le nombre de résultats affichés dans les écrans est désormais paramétrable.
- `Changed` Si le niveau de service n'est pas déclaré par l'accord de versement ou par référence directe dans les données versées, c'est le niveau de service par défaut qui est désormais appliqué.
100

101
102
### Administration Fonctionnelle

103
104
- `Added` Le droit "Télécharger les attestations" est ajouté dans les privilèges de rôle.
- `Added` L'option "Autoriser les archives sans profil" est activable sur des profils de type dossier sans sous-profil déclaré.
Elodie Somé-Blad's avatar
Elodie Somé-Blad committed
105
106
- `Added` Une demande de modification d'une archive peut être envoyée, afin de notifier le service d'archives d'une correction d'erreur nécessaire ou d'un besoin d'ajout d'informations complémentaires.

107

Arnaud Pauget's avatar
Arnaud Pauget committed
108
109
### Métadonnées

110
111
- `Added` Des schémas de description d'archive peuvent être ajoutés dans l'application avec des métadonnées de type tableau ou objet.
- `Added` Les champs de métadonnées complexes (tableaux, objets) peuvent être ajoutés à un profil, complétés lors d'un versement, modifiés pendant la conservation et consultés via les écrans.
112
- `Added` Possibilité d'ajout de champ de description "clé valeur" de type énumération dans les données descriptives.
113
- `Added` Possibilité d'intégration de référentiels externes (exemple : CSV, base de données...) pour les données descriptives.
114
115
116
117
118
119
120
121
122
123
- `Added` Possibilité d'ajout d'un fichier permettant d'étendre le modèle de description d'un format d'échange (exemple : format d'échange SEDA 2.1 avec des champs complémentaires pour la modification).
- `Added` La métadonnée descriptive de type date peut comprendre une date complétée d'une heure (format livré par défaut : JJ-MM-AAAA HH:mm:ss).
- `Added` Les libellés des métadonnées descriptives qui sont référencées dans le dictionnaire sont affichés.
- `Added` Ajout d'un contrôle lors de la suppression d'un champ de données descriptives : si le champ est engagé dans un profil d'archive, la suppression sera bloquée.

### Gestion de l'archive

- `Added` Une ressource peut être ajoutée ou supprimée au sein d'une archive conservée, et la modification est tracée dans le journal du cycle de vie.
- `Added` Possibilité de versement par bordereaux XML/Medona.
- `Added` Les bordereaux entrants comportent le type d'empreinte poussé dans le système.
124
- `Changed` L'intégralité des échanges transactionnels MEDONA (extension thirdPartyArchiving) est désormais disponible dans le socle d'archivage. **L'extension thirdPartyArchiving est abandonnée à partir de cette version 2.5**.
125
- `Fixed` Correction de la fonction permettant de traiter plusieurs bordereaux de transfert par batch pour éviter le versement multiple d'une même archive.
Arnaud Pauget's avatar
Arnaud Pauget committed
126

127
128
### IHM

129
130
- `Fixed` Correction et/ou clarification de messages d'erreurs.
- `Fixed` Tri des résultats de recherche sur les champs date.
131

132
### Stockage / Conservation
Alexandre Goldstein's avatar
Alexandre Goldstein committed
133

134
135
- `Added` Possibilité de convertir unitairement des documents dans la modale de détail d'une archive.
- `Changed` Le nombre de sites de stockage minimum est ramené à 1.
Alexandre Goldstein's avatar
Alexandre Goldstein committed
136

137
### Modèle conceptuel
138

139
- `Added` Ajout de plusieurs index afin d'améliorer les performances de l'application.
140
141

## Version 2.4.4
142
143
144
145
146
147
148
149
150
151
152

### IHM

- `Fixed` Retrait de l’affichage des ressources si l'archive est en cours de suppression

### Métadonnées

- `Fixed` Ajout d'un bouton dans la modale de détail de l'archive permettant la conversion unitaire d'un document
- `Fixed` Rétablissement de l'affichage des fichiers convertis et des relations dans la modale de détails de l'archive
- `Changed` Différenciation entre le fichier d'origine et ses conversions dans l'arborescence du plan de classement

153
### Sécurité
154
155

- `Changed` Ajout du paramètre `lifetime` pour le jeton CSRF qui définit la durée de validité des jetons en secondes. Si omis, durée de 1 heure par défaut.
156
- `Fixed` Jeton CRSF consommé lorsqu'utilisé.
157

158
## Version 2.4.3
159
160
161

### Métadonnées

162
- `Changed` Le format interne _Name_ utilisé pour les codes de règles de conservation
163
et de communicabilité accepte désormais les caractères numériques en première position, ainsi que les tirets
164
- `Changed` Les appels au service de modification de la règle de conservation des archives
165
166
peuvent désormais n'envoyer que le code de la règle, le système utilisant le référentiel pour récupérer les durées et le sort final. Idem pour la règle de communicabilité et la durée qui y est associée.

167
### Exploitation
168

169
- `Changed` Nouveau paramètre pour les notifications, `mailSMTPAutoTLS` pour activer/désactiver le mode TLS
170
171
automatique, notamment pour les connexions sans authentification

172
## Version 2.4.2
Arnaud Pauget's avatar
Arnaud Pauget committed
173
174
175

### Script d'import

176
- `Fixed` Correction d'un bug lors de l'utilisation de cli
Arnaud Pauget's avatar
Arnaud Pauget committed
177
178
179
180
181
182
183
184
185
186
187
188

## Version 2.4.1

### IHM

- `Fixed` Le bouton 'Import' restait parfois grisé en cas d'erreur lors d'un versement

### Métadonnées

- `Fixed` Rétablissement de la fonctionnalité de création, diffusion et modification d'un fichier de profil d'archive de type
- `Changed` Suppression du bouton de modification des métadonnées descriptives SEDA dans la modale de détail du socle : le bouton est propre à l'extension archivesPubliques

Alexandre Goldstein's avatar
Alexandre Goldstein committed
189
190
191
192
193
## Version 2.4

### IHM

- `Changed` Nouveau design de la modale de détails des informations de l'archive
194
- `Changed` Modification du moteur de recherche : à présent insensible aux caractères spéciaux, ajout du symbole * qui permet de rechercher une archive débutant / finissant / contenant un terme spécifique (exemple* cherchera une archive débutant par le terme exemple, *exemple2* cherchera une archive contenant le terme exemple2)
Alexandre Goldstein's avatar
Alexandre Goldstein committed
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
- `Fixed` Blocage des imports multiples lors de clics répétés sur le bouton Importer
- `Fixed` Le bouton Annuler est également non cliquable durant l'execution d'un versement
- `Fixed` Le choix "sans profil" au versement d'une archive ne doit apparaître que si le dossier qui la receptionne l'autorise

### Métadonnées

- `Added` Une variable "actionWithoutRetentionRule" a été ajoutée dans le fichier de configuration pour permettre ou non l'élimination d'une archive n'ayant pas de règle (preserve : L'archive ne peut pas être supprimée si aucune règle n'a été définie OU dispose : L'archive peut-être éliminée si aucune règle n'a été définie)
- `Added` Mise à jour automatique de la date de dernière modification d'une archive

### Administration

- `Changed` Mise à jour dans la configuration des fichiers de signature Droid (v91 => v94)

### Accès

- `Changed` Les libellés des formats dans le tableau de documents indique désormais le nom du type de document au lieu de son identifiant
- `Fixed` Les routes d'évènements du journal de l'application ont été intégralement traduites en Anglais

## Extension

- `Added` L'extension Workflow permettant l'utilisation des flux de travail est désormais disponible

Alexandre Morin's avatar
Alexandre Morin committed
217
218
219
220
221
222
## Version 2.3

### Exploitation

- `Added` Compatibilité navigateur Microsoft (IE 11 / Edge)
- `Added` Compatibilité PHP 7.2
Cyril Vazquez's avatar
Cyril Vazquez committed
223
- `Fixed` Optimisation de l'utilisation de la mémoire pour la recherche dans les journaux volumineux
Alexandre Morin's avatar
Alexandre Morin committed
224
225
226

### IHM

Arnaud Pauget's avatar
Arnaud Pauget committed
227
- `Changed` Nouvau design de l'écran principal pour la navigation, la recherche et la consultation
Cyril Vazquez's avatar
Cyril Vazquez committed
228
229
- `Added` Personnalisation de la page de connexion avec une image de fonds et un style configurables
- `Fixed` Blocage des double-clics sur les boutons
Alexandre Morin's avatar
Alexandre Morin committed
230
231
232

### Administration

Cyril Vazquez's avatar
Cyril Vazquez committed
233
234
- `Fixed` Ajout d'un contact et/ou d'une adresse et/ou d'un moyen de communication aux organisations et services

Alexandre Morin's avatar
Alexandre Morin committed
235
236
237
238
239
## Version 2.2

### Exploitation

- `Added` Modification des règles de plusieurs archives sans modifier la date de départ
Fahène's avatar
Fahène committed
240
- `Changed` Gestion des jetons de compte de service
241
- `Changed` Ajout des routes disponibles pour les privilèges des comptes de service dans la configuration
Alexandre Morin's avatar
Alexandre Morin committed
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
- `Fixed` Uniformisation des formats de date

### Métadonnées

- `Added` Possibilité de mettre les métadonnées en lecture seule

### Classement

- `Added` Possibilité de définir un répertoire pour les archives des journaux

### IHM

- `Added` Ajout d'un message de confirmation avant la suppression
- `Added` Configuration d'un CSS spécifique
- `Added` Ajout d'un "À propos"
- `Changed` Amélioration de l'affichage des archives des journaux
- `Changed` Amélioration de l'affichage des événements de l'application

### Administration

- `Added` Modification rétroactive des règles de conservation

### Sécurité

- `Security` Amélioration de la protection contre le CSRF (Cross-Site Request Forgery)

Alexandre Morin's avatar
Alexandre Morin committed
268
269
270
271
272
## Version 2.1

### Exploitation
- `Added` Restriction des comptes de service disponibles pour la planification à ceux qui possèdent le privilège pour le service à exécuter
- `Changed` Liste des services disponibles pour la planification déplacée dans la configuration. Table `batchProcessing.task` supprimée
273
- `Fixed` Correction d'erreurs dans le calcul de la prochaine vacation après une en erreur
Alexandre Morin's avatar
Alexandre Morin committed
274
275
276
277

### Échéancier d'élimination
- `Added` Sort final non défini au versement ou à la modification désormais interprété comme *A définir ultérieurement*
- `Changed` Modification du statut final des unités d'archive en fonction de l'opération qui mène à leur ressortie : *Détruite*, *Restituée* et *Transférée*
278
- `Fixed` Interdiction de toute demande sur les unités d'archive gelées : élimination, restitution, modification, transfert
Alexandre Morin's avatar
Alexandre Morin committed
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334

### Élimination
- `Changed` La demande n'est valide que si l'unité d'archive et toutes ses unités contenues sont éliminables (à terme de la DUA ou sans règle de conservation, sort final *Détuire* ou sans sort final

### Versement
- `Added` Ajout du choix d'un niveau de service dans la plan de classement, comme complément au couple producteur-profil, et pris en compte lors du versement

### Sécurité
- `Added` Nouvelle fonction de verrouillage des rôles fonctionnels
- `Added` Liste noire des cas d'usage dans la configuration, afin de ne plus autoriser leur utilisation dans les rôles
- `Added` Demande de confirmation du nouveau mot de passe lors du changement par l'utilisateur
- `Changed` Les rôles fonctionnels peuvent désormais être supprimés
- `Changed` Modification du format autorisé pour les noms d'utilisateurs, autorisant les caractères spéciaux pour permettre l'emploi des adresses électroniques
- `Changed` Désactivation de l'auto-complétion pour les champs de saisie des us de passe, à la connexion et à la modification par l'utilisateur
- `Changed` Chaque utilisateur doit être rattaché à un service organisationnel dès sa création
- `Changed` Liste blanche des cas d'usage déplacée dans la configuration. Table `auth.publicUserStory` supprimée
- `Security` Amélioration de la protection contre les injections SQL, le XSS (Cross-Site Scripting), le CSRF (Cross-Site Request Forgery) et le ClickJacking

### IHM
- `Changed` Amélioration des champs de choix de service avec saisie intuitive et auto-complétion en deux temps, l'organisme d'abord et le service ensuite
- `Changed` Harmonisation des titres de menu, de services et d'écrans. Harmonisation des icônes de menu et d'écran
- `Fixed` Correction d'une erreur lorsque aucun service d'organisation n'était choisi par défaut pour l'utilisateur

### Classement
- `Changed` Les unités organisationnelles ne peuvent désormais plus être déplacées vers un autre organisme

### Accès
- `Added` Filtre par défaut sur la date de dépôt dans les écrans et fonctions de recherche

### Stockage
- `Changed` Type de données pour la taille des ressources numériques modifié en `bigint` pour autoriser les objets de taille supérieure à 2Go

### Traçabilité
- `Fixed` Correction d'un effet indésirable lorsqu'un journal était chaîné plusieurs fois dans la même seconde. La règle de détermination du dernier journal en date utilise la date du dernier événement contenu et non plus la date du premier

### Pérennisation
- `Fixed` Erreur lors de la détection du format de certains fichiers conteneurs, notamment OpenXML et Microsoft OOXML. Correction de l'appel au plugin de décompression pour extraire avec l’arborescence interne des dossiers

## Version 2.0

### IHM
- `Added` Écran principal pour l'accès par navigation et recherche, le classement en dossiers virtuels, le détail des métadonnées et la prévisualisation des données
- `Added` Fonction d'aperçu des documents, avec outils tiers d'échantillonnage (PDF: 2 pages, image si inférieur à 2Mo, etc)
- `Added` Formulaires de saisie dynamique pour les métadonnées des archives lors du versement et pour la modification

### Métadonnées
- `Added` Administration d'un dictionnaire des métadonnées
- `Added` Stockage de métadonnées en NoSQL (Json avec PostGre)
- `Added` Moteur de recherche dynamique sur les métadonnées

### Classement
- `Added` Profils d'archive décrits par l'administrateur
- `Added` Rattachement des profils autorisés aux services producteurs dans l'organigramme
- `Changed` Modification du format autorisé pour les identifiant d'organisation et de services, autorisant les caractères spéciaux pour permettre l'emploi des barres obliques, points, tirets et soulignements notamment

### Intégrité
335
- `Added` Stratégies de contrôle d'intégrité périodique définies dans les niveaux de service, avec fréquence de contrôle et taux d'échantillonnage
Alexandre Morin's avatar
Alexandre Morin committed
336
337
338

### Sécurité
- `Changed` L'administrateur de la sécurité ne peut désormais plus choisir le mot de passe temporaire. En remplacement, l'intégration d'un client de messagerie électronique permet d'envoyer un courriel à l'utilisateur comportant un mot de passe temporaire généré par l'application