Skip to content

Releases: assemblee-virtuelle/archipelago

v2.4.2

26 Dec 23:38
fe7a70a
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.4.1...v2.4.2

v2.4.1

23 Dec 00:09
5b22647
Compare
Choose a tag to compare

What's Changed

  • [patch] Change predicate from pair to as by @mguihal in #214

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

17 Dec 23:13
87870d1
Compare
Choose a tag to compare

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

12 Nov 23:23
35940aa
Compare
Choose a tag to compare

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

07 Oct 17:47
3fd605d
Compare
Choose a tag to compare

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

26 Aug 11:56
254c1f6
Compare
Choose a tag to compare

What's Changed

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 composant SimpleForm ou TabbedForm :
import { EditToolbarWithPermissions } from '@semapps/auth-provider';
...
<TabbedForm syncWithLocation={false} toolbar={<EditToolbarWithPermissions />}>

v2.1.1

02 Aug 21:49
25e359e
Compare
Choose a tag to compare

What's Changed

  • [patch] Display correctly organization location map by @mguihal in #191

Full Changelog: v2.1.0...v2.1.1

v2.1.0

26 Jul 21:49
269b3f9
Compare
Choose a tag to compare

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

15 May 20:15
36f0e06
Compare
Choose a tag to compare

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 faire nvm install v20.10.0, nvm use v20.10.0, puis réinstaller les dépendances avec yarn.
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

14 May 20:00
157c07d
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.2.0...v1.3.0