Releases: assemblee-virtuelle/archipelago
v2.4.2
v2.4.1
What's Changed
Full Changelog: v2.4.0...v2.4.1
Guide de migration
Deux nouvelles migrations ont été ajoutées, il faut les exécuter avec la commande suivante :
yarn run dbMigrate status
yarn run dbMigrate up --latest
v2.4.0
What's Changed
- [Minor] Add footer option for topMenu layout by @mguihal in #209
- [Minor] Upgrade Semapps dependencies by @mguihal in #210
- [Minor] 199 - Change default resources list fetching to LDP containers by @mguihal in #211
- [Minor] Better user management by @mguihal in #212
- [Minor] Users migrations by @mguihal in #213
Full Changelog: v2.3.0...v2.4.0
Guide de migration
1/ Surcharge de fichiers
Si vous avez surchargé des services backend, veillez à bien faire attention aux changements apportés par cette release pour éventuellement les reporter dans vos surcharges si elles sont toujours nécessaires.
2/ Migration en base de données
Un souci a été identifié sur les migrations, corrigé dans la release v2.4.1. Merci de mettre à jour vers cette nouvelle version pour effectuer les migrations.
3/ Suppression des données personnelles en base de données
Il est nécessaire de supprimer les données personnelles éventuellement stockées des utilisateurs si cela correspond à votre besoin, via l'exécution des deux requêtes suivante (via l'interface web de Fuseki, ou via TripleAdmin par exemple)
# Suppression des données FOAF/*
DELETE {
?s ?p ?o
} WHERE {
?s ?p ?o .
FILTER(?p IN (
<http://xmlns.com/foaf/0.1/name>,
<http://xmlns.com/foaf/0.1/familyName>,
<http://xmlns.com/foaf/0.1/email>,
<http://xmlns.com/foaf/0.1/nick>
))
}
# Suppression des données PAIR/e-mail pour les personnes
DELETE WHERE {
?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://virtual-assembly.org/ontologies/pair#Person> .
?s <http://virtual-assembly.org/ontologies/pair#e-mail> ?o
}
Après avoir effectué ces migrations et requêtes, il est nécessaire de vider le cache Redis utilisé.
v2.3.0
What's Changed
- [minor] 200 - Create Aside component for sidebars by @mguihal in #201
- [Minor] 200 - Move view components to common layout folder by @mguihal in #202
- [Minor] 200 - Move existing layout to create new "leftMenu" layout by @mguihal in #203
- [Minor] 200 - Add "topMenu" Layout by @mguihal in #205
- [Minor] 200 - Add documentation for layouts by @mguihal in #207
- [Patch] 200 - Mobile form toolbar hidden behind bottom navigation by @mguihal in #208
Full Changelog: v2.2.1...v2.3.0
Guide de migration
1/ Fichier de configuration
Le fichier de configuration a changé, il faut désormais ajouter les attributs suivants :
{
title: "Nom de l'app", // auparavant dans /frontend/src/App.jsx
layout: {
name: "leftMenu",
options: {},
},
}
Il est également possible de renforcer le typage de la configuration en incluant ce code dans le fichier de configuration
import { LayoutOptions } from "../layouts/LayoutContext";
interface ConfigInterface {
middlewareUrl: string;
mapboxAccessToken: string;
importableResources: string[];
title: string;
layout: LayoutOptions;
}
const config: ConfigInterface = {
...
}
Toute la documentation pour le fichier de configuration est ici : https://github.com/assemblee-virtuelle/archipelago/blob/master/docs/configuration.md
2/ Modification de App.jsx
Si vous avez surchargé le fichier /frontend/src/App.jsx
, il est nécessaire de le modifier en rajoutant ces lignes
import CssBaseline from '@mui/material/CssBaseline';
import config from './config/config';
import { Layout } from './common/layout'; // Le chemin du fichier à importer a changé
import { LayoutProvider } from './layouts/LayoutProvider';
...
<ThemeProvider theme={customTheme}>
<CssBaseline />
<LayoutProvider layoutOptions={config.layout}>
<Admin
...
title={config.title}
...
>
...
</Admin>
</LayoutProvider>
</ThemeProvider>
...
3/ Customisation du layout
Si vous avez surchargé des fichiers dans /frontend/src/layout
, vous pouvez suivre la documentation pour utiliser un des deux layouts proposés : https://github.com/assemblee-virtuelle/archipelago/blob/master/docs/layouts.md
4/ Autres fichiers modifiés
Si vous avez surchargés d'autres fichiers, notamment ceux dans /frontend/src/resources
, il est nécessaire de changer les imports des composants Create
, Edit
, Show
, List
. Une lecture attentive des fichiers modifiés est nécessaire pour voir quels changements sont appropriés à votre cas.
v2.2.1
What's Changed
- [Patch] 192 - Relationships pagination by @mguihal in #195
- [Patch] 193 - Fix referenced attributes on edit pages (bis) by @mguihal in #197
Full Changelog: v2.2.0...v2.2.1
Guide de migration
Si vous avez surchargé un fichier de type resources/**/*Edit.js, il faut mettre à jour les imports du ReferenceInput pour passer de import { ReferenceInput } from @semapps/input-components;
à import { ReferenceInput } from react-admin;
v2.2.0
What's Changed
- [Minor] Migrate Layout folder to Typescript by @mguihal in #185
- [Minor] Simplify view imports by @mguihal in #194
Full Changelog: v2.1.1...v2.2.0
Guide de migration
-
Si vous avez surchargé des fichiers du dossier /frontend/src/layout, il faut renommer ces fichiers en .tsx pour que la surcharge continue de faire effet.
-
Si vous avez surchargé des fichiers du dossier /frontend/src/resources, il peut être nécessaire de modifier le chemin d'importation des composants Create, List, Show et Edit. Ca continuera de fonctionner si la modification n'est pas effectuée, mais ce n'est pas garanti pour le futur.
// Le chemin relatif donné ici est un exemple
// Avant
import Create from '../../../../layout/create/Create';
import List from '../../../../layout/list/List';
import Show from '../../../../layout/show/Show';
import Edit from '../../../../layout/edit/Edit';
// Après
import { Create } from '../../../../layout';
import { List } from '../../../../layout';
import { Show } from '../../../../layout';
import { Edit } from '../../../../layout';
- Si vous avez surchargé des fichiers *Edit.jsx du dossier /frontend/src/resources, alors il faut rajouter le paramètre
toolbar
sur le composantSimpleForm
ouTabbedForm
:
import { EditToolbarWithPermissions } from '@semapps/auth-provider';
...
<TabbedForm syncWithLocation={false} toolbar={<EditToolbarWithPermissions />}>
v2.1.1
v2.1.0
What's Changed
- [patch] Fix derefence mixin when resources are not found by @mguihal in #182
- [Minor] Ajouter un champ description sur les personnes by @rmkni in #183
- Proposition d'alternative au DereferenceMixin - Gestion de MembershipAssociation côté frontend by @mguihal in #175
- [patch] Validate multi-url input by @mguihal in #178
- [Minor] Upgrade Semapps dependencies by @mguihal in #186
New Contributors
Full Changelog: v2.0.0...v2.1.0
v2.0.0
What's Changed
- [Major] Upgrade to react-scripts 5 and node 18+ by @mguihal in #153
- [Major] (v2.0.0) Change bundler to Vite by @mguihal in #172
- [Patch] (v2.0.0) Wrong display of TabbedForm component by @mguihal in #179
- [Minor] (v2.0.0) Upgrade to Semapps middleware v0.7.0 by @mguihal in #180
- [Release] v2.0.0 by @mguihal in #162
Full Changelog: v1.3.0...v2.0.0
Guide de migration
1/ Passage en Node 20
- Pour les dévelopements en local, il faut supprimer les dépendances du frontend et middleware (avec
rm -rf node_modules
), upgrader votre version de Node (si vous utilisez nvm, vous pouvez fairenvm install v20.10.0
,nvm use v20.10.0
, puis réinstaller les dépendances avecyarn
.
rm -rf frontend/node_modules
rm -rf middleware/node_modules
nvm install v20.10.0
nvm use v20.10.0
cd frontend && yarn && cd -
cd middleware && yarn && cd -
- Pour les instances en production, il faut remplacer le Dockerfile par celui présent dans le répertoire
deploy
.
2/ Changement d'arborescence des ressources
- Si dans les fichiers personnalisés de votre instance Archipelago, vous appeliez les ressources avec la ligne
import * as resources from './resources';
il faut désormais utiliser
import resources from './resources';
3/ Changement de nom du dossier contenant les fichiers buildés
Le dossier cible contenant les fichiers buildés est maintenant /dist
et non plus /build
.
Il est nécessaire de changer ce dossier dans le Dockerfile de la partie frontend (comme fait ici)
4/ Changement d'emplacement du fichier index.html
Le fichier html qui charge l'application était auparavant situé dans le dossier /public/index.html
, il est maintenant situé directement à la racine /index.html
.
Il contient également la ligne suivante en plus à la fin du body (à rajouter si ce fichier est personnalisé):
<script type="module" src="/src/index.tsx"></script>
5/ Changement des commandes de dev
Auparavant, pour démarrer le frontend en mode dev, il fallait faire yarn start
, désormais il faut faire yarn dev
.
La commande pour builder l'application reste inchangée : yarn build
.
Une nouvelle commande yarn preview
s'ajoute, pour tester l'application localement une fois buildée (voir https://vitejs.dev/guide/cli.html#vite-preview)
6/ Changement des variables d'environnement
Auparavant, les variables d'environnement (REACT_APP_MIDDLEWARE_URL et REACT_APP_MAPBOX_ACCESS_TOKEN) étaient utilisés à divers endroits du code. Désormais, elles sont regroupées dans le fichier /config/config.ts
pour plus de maintenabilité.
De plus, ces variables sont renommées désormais en VITE_MIDDLEWARE_URL
et VITE_MAPBOX_ACCESS_TOKEN
.
7/ Utilisation de Typescript
Une configuration Typescript a été mise en place (/tsconfig.json).
Pour l'instant, seuls deux fichiers ont été migrés en Typescript :
/src/index.tsx
: Appelé avec son extension dans le index.html, donc difficilement renommable par la suite/src/config/config.ts
: Potentiellement customisable et surchargé par les instances, donc autant le renommer dès maintenant
Pour les instances qui surchargent le fichier /src/config/config.js
actuellement, il est nécessaire de renommer le fichier en .ts
.
Le reste des fichiers sera migré dans un second temps.
8/ Utilisation de ESLint
Une configuration ESLint a été mise en place (/.eslintrc.js), ainsi qu'une configuration basique Prettier (dans package.json).
Une commande yarn lint
a été rajoutée permettant de valider les fichiers via ESLint.
Pour l'instant le linting n'est pas automatisé. Il convient à chacun de paramétrer son IDE pour ces outils.
9/ Migrations en base de données à effectuer
Suite à la mise-à-jour de Semapps middleware en 0.7.0, il est nécessaire de faire une migration en base de données.
Celle-ci peut être effectuée via la commande yarn run dbMigrate up --name 1715265397910_archipelago-updateActivitypubCollections
v1.3.0
What's Changed
- refactor dereference mixin by @simonLouvet in #159
- Upgrade SemApps packages to 0.6 by @srosset81 in #157
- bugfix when no reified predicat exists by @simonLouvet in #174
New Contributors
- @simonLouvet made their first contribution in #159
Full Changelog: v1.2.0...v1.3.0