nakala-release-notes.md 17.1 KB
Newer Older
1
2
# Dernières mises à jour de Nakala (API et Front)

3
## 27 septembre 2022 (API V3.4.0 - FRONT V3.2.0)
4

5
### A/ Corrections 
6

7
#### Gestion de l'arborescence dans les sites NAKALA Press
8
Une page d'un site NAKALA Press ne peut plus avoir comme parent elle-même. Cette possibilité générait un bug d'affichage des pages.
9

10
#### Les versions de données ne peuvent plus être dupliquées
11
12
Un bug dans la gestion du versionning générait des doublons avec perte des droits par le propriétaire. L'ajout de critères d'unicités supplémentaires devrait corriger ce comportement.

13
#### Suppression des cases à cocher inutiles
Sara Tandar's avatar
Sara Tandar committed
14
Sur les pages de gestion des données et collections dans le tableau de bord personnel, les cases à cocher présentes sur les listes de résultats ne permettaient pas pour l'instant de faire des actions groupées sur les données et/ou collections. Les cases à cocher ont donc été supprimées.
Hélène Jouguet's avatar
Hélène Jouguet committed
15

16
#### Corrections et modifications sur les visionneuses
17
18
- La visionneuse PDF générait une erreur sur les fichiers pdf de gros volume, la méthode de lecture a été modifiée pour corriger cela.
- Activation d'options sur la visionneuse Markdown : openLinksInNewWindow (ouvrir les liens HTML dans de nouveaux onglets du navigateur), parseImgDimensions (rendre possible de configurer la taille des images), SimplifiedAutoLink (générer automatiquement les liens HTML présents dans le fichier), tables (supporter la syntaxe pour créer des tableaux)
19

20
#### Vérification de l’intégrité des fichiers uploadés par navigateurs
21
Afin de renforcer la sécurisation des transferts de données, un contrôle d'intégrité des fichiers a été ajouté. Il permet de comparer les empreintes des fichiers faites par le poste du client (si disponible dans le navigateur) à celles calculées à l'arrivée des fichiers sur le serveur.
22

23
### B/ Suite du Chantier de nettoyage des métadonnées (amélioration de la qualité) :
24
Liste des encodages remplacés dans les données par xsd:string, puis retirés de la liste des encodages disponibles dans Nakala :
25

26
27
28
29
30
31
32
33
34
35
- xsd:ENTITY
- xsd:ID
- xsd:IDREF
- xsd:gYearMonth
- xsd:normalizedString
- xsd:name
- xsd:byte
- xsd:long
- xsd:integer

Sara Tandar's avatar
Sara Tandar committed
36
## 7 juillet 2022 (API V3.3.0 - FRONT V3.1.0)
37

38
### A/ Nouveautés
39

40
#### Chantier de nettoyage des métadonnées (amélioration de la qualité) :
Sara Tandar's avatar
Sara Tandar committed
41
42
Dans le cadre d'un chantier d'amélioration de la qualité des descriptions des données dans Nakala, 32 encodages ont été retirés de la liste disponible. Cette décision a été guidée par une analyse de leur pertinence dans le contexte de l'entrepôt NAKALA et du constat d'une absence totale d'utilisation par les déposants. 
Un deuxième lot d'encodages non pertinents sera prochainement retiré. Les déposants qui les auraient utilisés seront contactés afin de leur proposer des corrections et des alternatives.
43

44
Liste des encodages supprimés de Nakala : 
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
- http://purl.org/dc/terms/DDC
- http://purl.org/dc/terms/UDC
- http://purl.org/dc/terms/NLM
- http://purl.org/dc/terms/RFC1766
- http://purl.org/dc/terms/RFC4646
- http://www.w3.org/1999/02/22-rdf-syntax-ns#JSON 
- http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral 
- http://www.w3.org/2001/XMLSchema#ENTITIES 
- http://www.w3.org/2001/XMLSchema#IDREFS 
- http://www.w3.org/2001/XMLSchema#NCName 
- http://www.w3.org/2001/XMLSchema#NMTOKEN 
- http://www.w3.org/2001/XMLSchema#NMTOKENS 
- http://www.w3.org/2001/XMLSchema#NOTATION 
- http://www.w3.org/2001/XMLSchema#QName 
- http://www.w3.org/2001/XMLSchema#boolean 
- http://www.w3.org/2001/XMLSchema#decimal 
- http://www.w3.org/2001/XMLSchema#double 
- http://www.w3.org/2001/XMLSchema#float 
- http://www.w3.org/2001/XMLSchema#gDay 
- http://www.w3.org/2001/XMLSchema#gMonth 
- http://www.w3.org/2001/XMLSchema#gMonthDay 
- http://www.w3.org/2001/XMLSchema#int  
- http://www.w3.org/2001/XMLSchema#negativeInteger 
- http://www.w3.org/2001/XMLSchema#nonNegativeInteger 
- http://www.w3.org/2001/XMLSchema#nonPositiveInteger 
- http://www.w3.org/2001/XMLSchema#positiveInteger 
- http://www.w3.org/2001/XMLSchema#short 
- http://www.w3.org/2001/XMLSchema#token 
- http://www.w3.org/2001/XMLSchema#unsignedByte 
- http://www.w3.org/2001/XMLSchema#unsignedInt 
- http://www.w3.org/2001/XMLSchema#unsignedLong 
- http://www.w3.org/2001/XMLSchema#unsignedShort
78

79
Dans le même objectif d'amélioration de la qualité des descriptions, 4 propriétés ont également été supprimées : 
80

Sara Tandar's avatar
Sara Tandar committed
81
- owl:sameAs
82
83
- foaf:page
- foaf:theme
Sara Tandar's avatar
Sara Tandar committed
84
- foaf:publications
85

86
### B/ Corrections
87

88
#### API : Ajustement du moteur de recherche pour prendre en compte la notion de langue (recherche sur le champ titre)
Sara Tandar's avatar
Sara Tandar committed
89
Ajout de titleSearchLang permettant au moteur de recherche de prendre en compte la langue.
90

Sara Tandar's avatar
Sara Tandar committed
91
## 30 mai 2022 (API V3.2.0 - Front V3.0.0)
92

93
### A/ Nouveautés
94

Sara Tandar's avatar
Sara Tandar committed
95
96
97
98
#### Modification de configuration de la visionneuse de fichiers .csv 
La visionneuse pour les fichiers .csv permet d'afficher des fichiers, même s'ils comportent des anomalies.
Cependant, leur affichage pourra possiblement être perturbé.
Dans ces cas, la visionneuse signale tout de même l'anomalie : "Le fichier CSV contient des erreurs. Il peut ne pas être bien formé." 
Hélène Jouguet's avatar
Hélène Jouguet committed
99

100
### B/ Corrections
Sara Tandar's avatar
Sara Tandar committed
101
Sur Nakala_Press : amélioration de la gestion des sessions d'identification pour corriger un bug de perte de session.
Hélène Jouguet's avatar
Hélène Jouguet committed
102

Sara Tandar's avatar
Sara Tandar committed
103
## 14 février 2022 (API V3.1.0)
Hélène Jouguet's avatar
Hélène Jouguet committed
104

105
### Amélioration du moteur de recherche sur les données publiées
106
107
Le champ de recherche dans NAKALA permet d'utiliser les opérateurs booléens AND, OR et NOT et les caractères génériques : *, ?, (),"

Sara Tandar's avatar
Sara Tandar committed
108
La recherche sur des propriétés particulières est aussi possible en préfixant un terme de recherche par title, abstract, keyword ou str_dcterms_bibliographicCitation (liste non exhaustive) suivi du caractère ":".
109
110

### Modifications dans la gestion des collections sur une donnée
111
- Sur l'interface de présentation de la gestion des collections : révision du formulaire pour associer une donnée à une collection afin de le rendre plus ergonomique.
112
- Sur l'API datas (gestion des données), ajout d'une nouvelle requête PUT /datas/{id}/collection permettant le remplacement de l'ensemble des collections d'une donnée. 
113

Sara Tandar's avatar
Sara Tandar committed
114
### Ajout de vérifications sur les ORCID
115
Lorsque l'ORCID d'un auteur est renseigné, ajout d'une vérification sur la syntaxe de l'ORCID : https://orcid.org/{4chiffres}-{4chiffres}-{4chiffres}-{3 chiffres et (1 'X' ou un chiffre)}
Hélène Jouguet's avatar
Hélène Jouguet committed
116

117
118
`pattern : "/^\d{4}-\d{4}-\d{4}-\d{3}(\d|X)$/"`

119
### Possibilité d'accès direct à un fichier spécifique sur la page de présentation d'une donnée
120
121
Lorsqu'une donnée est constituée de plusieurs fichiers, vous pouvez ouvrir la page de présentation de cette donnée (landing page) sur un fichier en particulier, en ajoutant l'identifiant du fichier (le sha1) comme ancre, dans l'URL.

Sara Tandar's avatar
Sara Tandar committed
122
L'URL se présente ainsi : https://nakala.fr/{identifiant}#{fileID}
Hélène Jouguet's avatar
Hélène Jouguet committed
123

124
### Correction des URI retournées par l'API
Sara Tandar's avatar
Sara Tandar committed
125
Seules les données publiées sont déclarées auprès de Datacite et résolues par [doi.org](https://www.doi.org/).
126
127
128

Les autres URIs sont propres à Nakala.

Sara Tandar's avatar
Sara Tandar committed
129
L'API a été corrigée en conséquence :
130

131
132
- collections : https://nakala.fr/collection/{identifiant}
- donnée déposée non publiée : https://nakala.fr/{identifiant}
Hélène Jouguet's avatar
Hélène Jouguet committed
133

Sara Tandar's avatar
Sara Tandar committed
134
135
### Ajout d'un menu pour naviguer dans les versions d'une donnée
Il est désormais possible de parcourir les différentes versions d'une donnée depuis sa page de présentation (landing page) sur l'interface web. 
136
137

Sur l'API datas (gestion des données), ajout d'une nouvelle requête GET /datas/{id}/versions permettant la récupération de la liste des versions d'une donnée.
138
L'accès à la version spécifique d'une donnée ne se fait plus via un paramètre de requête (ex: ?version=2), mais en ajoutant à la fin de l'identifiant de la donnée un numéro de version.
Sara Tandar's avatar
Sara Tandar committed
139

140
Exemple : 10.34847/nkl.eabbbf68.v2 donne accès à la version 2 de la donnée 10.34847/nkl.eabbbf68
Hélène Jouguet's avatar
Hélène Jouguet committed
141
142

### Divers
Sara Tandar's avatar
Sara Tandar committed
143
144
145
- Les requêtes "GET /collections/{id}/datas" et "GET /datas/{id}/collections" retournent maintenant les résultats triés par ordre décroissant sur la date de création des données ou des collections.
- Lors de la création d'une nouvelle version d'une donnée, cette version a maintenant pour date de création, la date du jour. Elle n'hérite pas de la date de création de la version 1.
- Lorsqu'on supprime une donnée ayant des relations avec d'autres données, toutes ses relations ainsi que les relations inverses sont bien supprimées.
Hélène Jouguet's avatar
Hélène Jouguet committed
146

Sara Tandar's avatar
Sara Tandar committed
147
## 12 janvier 2022 (API V3.0.4)
148
149

### Prise en charge de nouveaux formats archives par la visionneuse
Sara Tandar's avatar
Sara Tandar committed
150
La visionneuse de NAKALA peut désormais afficher l'arborescence des dossiers et des fichiers contenue dans les archives au format suivant : .zip, .rar, .phar, .tar, .tgz, .gz, .bz2.
Hélène Jouguet's avatar
Hélène Jouguet committed
151

Sara Tandar's avatar
Sara Tandar committed
152
## 15 décembre 2021 (API V3.0.3)
153

154
### Ordre des fichiers d'une donnée
Sara Tandar's avatar
Sara Tandar committed
155
Ajout de la possibilité d'ordonner les fichiers d'une donnée suivant son choix. L'ordre modifié est conservé lors de la consultation de la donnée.
156

157
### Ajout d'un nouveau rôle (administrateur) pour les listes d'utilisateurs
Sara Tandar's avatar
Sara Tandar committed
158
Ajout de la possibilité de déléguer l'administration d'une liste d'utilisateurs à d'autres membres de la liste en leur attribuant le rôle "administrateur" de la liste.
159
160

Afin prendre en compte cette nouvelle fonctionnalité, les modèles suivants ont changé au niveau de l'API :
161

162
163
164
165
POST /groups et PUT /groups/{id}

Au lieu de ce contenu en JSON :

166
```
167
168
169
170
171
172
173
174
{
    "name": "HUMA-NUM",
    "users": [
        "pdupont",
        "jdubois",
        "lmartin"
    ]
}
175
176
```

177
178
179

Vous devez maintenant renseigner ceci :

180
```
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
{
    "name": "HUMA-NUM",
    "users": [
        {
            "username": "pdupont",
            "role": "ROLE_OWNER"
        },
        {
            "username": "jdubois",
            "role": "ROLE_ADMIN"
        },
        {
            "username": "pmartin",
            "role": "ROLE_USER"
        }
    ]
}
198
```
199
200
201
202
203

GET /groups/search

Au lieu de ce contenu en JSON :

204
```
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
[
    {
        "id": "b55e770c-849b-11ea-87ea-0242ac1b0003",
        "type": "user",
        "username": "pdupont",
        "name": "Pierre Dupont",
        "photo": null,
        "datemodify": "2020-05-10T10:18:24+00:00"
    },
    {
        "id": "g67e770c-349b-33ea-a2ea-1243ac1b0007",
        "name": "HUMA-NUM",
        "type": "group",
        "users": [
            {
                "username": "jdubois",
                "fullname": "Jacques Dubois",
                "photo": null
            },
            {
                "username": "lmartin",
                "fullname": "Laure Martin",
                "photo": null
            }
        ],
        "datemodify": "2020-04-28T09:39:34+00:00"
    }
]
233
234
```

235
236
237

L'API vous retourne désormais ce contenu :

238
```
239
240
241
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
268
269
270
271
[
    {
        "id": "b55e770c-849b-11ea-87ea-0242ac1b0003",
        "type": "user",
        "username": "pdupont",
        "name": "Pierre Dupont",
        "photo": null,
        "datemodify": "2020-05-10T10:18:24+00:00"
    },
    {
        "id": "g67e770c-349b-33ea-a2ea-1243ac1b0007",
        "name": "HUMA-NUM",
        "type": "group",
        "users": [
            {
                "username": "jdubois",
                "fullname": "Jacques Dubois",
                "photo": null,
                "role": "ROLE_OWNER"
            },
            {
                "username": "lmartin",
                "fullname": "Laure Martin",
                "photo": null,
                "role": "ROLE_ADMIN"
            }
        ],
        "datemodify": "2020-04-28T09:39:34+00:00",
        "isOwner": false,
        "isAdmin": false,
        "isMember": false
    }
]
272
```
273
274
275
276

GET /groups/{id}

Au lieu de ce contenu en JSON :
277
278

```
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
{
    "id": "g67e770c-349b-33ea-a2ea-1243ac1b0007",
    "name": "HUMA-NUM",
    "type": "group",
    "owner": {
        "username": "jdubois",
        "photo": null,
        "fullname": "Jacques Dubois"
    },
    "users": [
        {
            "username": "jdubois",
            "fullname": "Jacques Dubois",
            "photo": null
        },
        {
            "username": "lmartin",
            "fullname": "Laure Martin",
            "photo": null
        }
    ],
    "datemodify": "2020-04-28T09:39:34+00:00"
}
302
303
```

304
305
L'API vous retourne désormais ce contenu :

306
```
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
{
    "id": "g67e770c-349b-33ea-a2ea-1243ac1b0007",
    "name": "HUMA-NUM",
    "type": "group",
    "users": [
        {
            "username": "jdubois",
            "fullname": "Jacques Dubois",
            "photo": null,
            "role": "ROLE_OWNER"
        },
        {
            "username": "lmartin",
            "fullname": "Laure Martin",
            "photo": null,
            "role": "ROLE_ADMIN"
        }
     ],
    "datemodify": "2020-04-28T09:39:34+00:00",
    "isOwner": false,
    "isAdmin": false,
    "isMember": false
}
330
331
```

332

Sara Tandar's avatar
Sara Tandar committed
333
## 4 novembre 2021 (API V3.0.2)
334

Sara Tandar's avatar
Sara Tandar committed
335
336
337
### Ajout d'un champ de métadonnée permettant de signaler le lien entre deux données publiées dans Nakala
- Le champ "Relation vers d'autres données publiées dans Nakala" permet de déclarer le lien entre deux données
- Les relations disponibles sont celles de Datacite
338

339
340
341
342
343
344
#### Les requêtes suivantes ont été ajoutées à l'API de NAKALA :
    - GET /datas/{identifier}/relations : Récupération de liste des relations d'une donnée
    - POST /datas/{identifier}/relations : Ajout de relations sur une donnée
    - PATCH /datas/{identifier}/relations : Modification du commentaire d'une relation
    - DELETE /datas/{identifier}/relations : Suppression des relations d'une donnée
    - Les relations d'une donnée sont également accessibles depuis GET /datas/{identifier} et modifiables depuis PUT /datas/{identifier}.
345
346

### Les bugs suivants ont été corrigés :
347
348
    - Suppression ou remplacement d'un fichier d'une donnée "déposée" (pending)
    - Upload d'un fichier depuis NAKALA_PRESS
Sara Tandar's avatar
Sara Tandar committed
349
    - Visionneuse des fichiers .CSV
350

Sara Tandar's avatar
Sara Tandar committed
351
## 8 juillet 2021 (API V3.0.1)
352
353

### Ajout d'un rôle déposant
354
355
356
Un nouveau ROLE_DEPOSITOR est introduit avec cette version de l'API. Il désigne le déposant d'une donnée ou d'une collection. Ce rôle est attribué automatiquement à l'utilisateur authentifié au moment du dépôt et ne peut pas être modifié. Il n'y a pas de droit spécifique associé au ROLE_DEPOSITOR. Par défaut, le déposant d'une donnée est aussi le propriétaire.

Il est maintenant possible d'associer le ROLE_OWNER à un groupe d'utilisateurs lorsque l'on souhaite déposer une donnée ou une collection pour le compte d'un laboratoire ou d'un projet. Seuls les propriétaires d'une donnée ou d'une collection peuvent éditer le ROLE_OWNER. Il n'est pas possible de transmettre le ROLE_OWNER sans passer par un groupe d'utilisateurs.
357
358

### Affichage des droits
Sara Tandar's avatar
Sara Tandar committed
359
360
361
Uniformisation de l'affichage des droits sur une donnée ou une collection dans les réponses à l'API GET /search. 

Au lieu de :
362

363
```
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
"rights": [
    {
        "role": "ROLE_OWNER",
        "group": {
            "users": [
                {
                    "username": "mdupuis",
                    "givenname": "Marie",
                    "surname": "Dupuis"
                }
            ]
        }
    },
    {
        "role": "ROLE_ADMIN",
        "group": {
            "users": [
                {
                    "username": "pdupont",
                    "givenname": "Pierre",
                    "surname": "Dupont"
                }
            ]
        }
    }
]
390
```
391
392
393

L'API retourne maintenant les droits selon ce modèle :

394
```
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
"rights": [
    {
        "role": "ROLE_DEPOSITOR",
        "id": "01abcf299-ac17-11eb-ab7d-0242ac120009",
        "name": "Marie Dupuis",
        "type": "user",
        "username": "mdupuis",
        "givenname": "Marie",
        "surname": "Depuis"
    },
    {
        "role": "ROLE_OWNER",
        "id": "01abcf299-ac17-11eb-ab7d-0242ac120009",
        "name": "Marie Dupuis",
        "type": "user",
        "username": "mdupuis",
        "givenname": "Marie",
        "surname": "Depuis"
    },
    {
        "role": "ROLE_ADMIN",
        "id": "1a2gfh299-dc18-a1eg-e37c-1232gcf21004",
        "name": "Pierre Dupont",
        "type": "user",
        "username": "pdupont",
        "givenname": "Pierre",
        "surname": "Dupont"
    }
]
424
```
425
426
427

Dans le cas d'un groupe d'utilisateurs, le modèle est le suivant :

428
```
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
"rights": [
    ...,
    {
        "role": "ROLE_ADMIN",
        "id": "1110b97a-ad9c-11eb-94b4-0242ac120003",
        "name": "HUMA-NUM",
        "type": "group",
        "users": [
            {
                "username": "lcapelli",
                "givenname": "Laurent",
                "surname": "Capelli",
                "fullname": "Laurent Capelli"
            },
            {
                "username": "adesseigne",
                "givenname": "Adrien",
                "surname": "Desseigne",
                "fullname": "Adrien Desseigne"
            },
            ...
        ]
    }
]
453
```
454

Sara Tandar's avatar
Sara Tandar committed
455
## 18 décembre 2020 (API V3.0.0) (FRONT V3.0.0)
456
# Mise en production de la nouvelle API et des nouvelles interfaces web de NAKALA
457
458
La nouvelle version des API comprend :
 
459
460
461
462
463
464
    - créer, gérer et administrer vos dépôts 
    - un moteur de recherche 
    - un entrepôt OAI-PMH
    - un accès à l'API Image de IIIF 
    - une visionneuse pour les fichiers deposées 

Sara Tandar's avatar
Sara Tandar committed
465
Nouvelle API : [https://api.nakala.fr/](https://api.nakala.fr/)
466

467
La nouvelle interface est refondue pour faciliter le dépôt. Elle a été conçue selon les principes de l'UX design.
468

Sara Tandar's avatar
Sara Tandar committed
469
Nouvelles interfaces web : [https://nakala.fr/](https://nakala.fr/).
470