Retour au journal des changements
Version 1.1 — Gestion de fichiers / refonte site web (avril 2021)
Nécessite désormais PHP 7.4 ou supérieur pour fonctionner.
Refonte gestion site web :
- Changement du langage de squelettes, vers Brindille, pour permettre plus de choses
- Transformation wiki en catégories et pages web
- Les pages wiki non publiques sont transformées en pages web "brouillon"
- Suppression de la notion de page interne / externe / restreinte à la même catégorie
- Possibilité de mettre une page en "brouillon" (non publiée en ligne)
- Déplacement de l'édition de squelette dans le menu Site web
- Stockage des squelettes dans la base de données, avec le reste des fichiers
- Transformation de la page wiki de bienvenue en fichier Skriv éditable, il faut maintenant aller dans "Configuration" pour modifier cette page.
- Suppression de la page wiki d'inscription (en attendant la possibilité de s'inscrire)
- Les pages chiffrées sont désormais accessibles publiquement (sauf si brouillon évidemment)
Ajout section "Documents" :
- Stockage dans le backend de fichiers de Garradin
- Possibilité de stocker les fichiers dans le système de fichier directement
- Gestion répertoires / fichiers
- Edition / prévisualisation de fichiers textes, images, PDF et audio/vidéo
- Upload de fichier
- Création de fichier texte
- Refonte gestion des fichiers dans les écritures comptables
- Recherche de fichier
- Déplacement/suppression de fichier en masse
- Limitation possible du quota de fichiers
- Téléchargement de tous les fichiers sous forme de ZIP
Membres :
- Possibilité d'avoir des champs de type fichier dans les fiches de membre, permettant de joindre un scan ou une photo (trombi) par exemple
Maintenance du code :
- Ré-écriture catégories de membres
- Ré-écriture configuration
- Pour les fermes à Garradin les templates compilés peuvent être partagés entre toutes les instances (gain de performance)
Divers :
- Ajout d'une API REST minimaliste
- Ajout du support des images WebP dans les fichiers
Stockage de fichiers
Les plugins, la base de données, les sauvegardes et les fichiers de cache sont désormais tous stockés dans un sous-répertoire data par défaut, afin de réunir tous les fichiers modifiés par Garradin dans le même dossier.
Les fichiers à l'intérieur de Garradin sont stockés par défaut dans la base de données SQLite. Il est également possible de les stocker dans le système de fichiers directement, via deux constantes de configuration dans le fichier config.local.php :
const FILE_STORAGE_BACKEND = 'FileSystem';
const FILE_STORAGE_CONFIG = __DIR__ . '/data/files';
Ceci stockera les fichiers dans le répertoire data/files de Garradin.
Une autre constante FILE_STORAGE_QUOTA permet de définir un quota maximum. Si cette constante n'est pas définie, le quota maximal est l'espace disponible sur le système de fichier.
Développeurs⋅ses et utilisateurs⋅trices experts
Squelettes :
- Les anciens squelettes du répertoire
squelettesne sont plus utilisés, si vous aviez des squelettes personnalisés votre site retournera aux squelettes par défaut. - Les squelettes sont désormais stockés dans la base de données, il vous faudra donc utiliser l'éditeur intégré (dans Site web -> Configuration) pour modifier les squelettes ou en créer de nouveaux.
- Le langage des squelettes a changé, nous utilisons maintenant Brindille, qui donne plus de possibilités, voir la documentation des squelettes pour plus de détails.
Plugins :
- Dans la condition d'affichage du menu (paramètre
menu_condition), les variables{$membre.DROIT_*}deviennent{ACCESS_*}. Penser aussi à renommer les colonnesdroit_*enperm_* - Ajout des signaux suivants (voir la documentation des plugins pour plus de détails) :
usertemplate.initentity.NAME.save.beforeentity.NAME.save.afterentity.NAME.delete.beforeentity.NAME.delete.afterfiles.ACTIONavec ACTION = move, delete, store ou mkdir
SQL :
- La table
membres_categoriesa été renommée enusers_categorieset ses colonnes ont été renommées en anglais (droit_*deviennentperm_*) - La colonne
id_categoriede la tablemembresa été renomméecategory_id - La version n'est plus stockée dans la table
configmais dansPRAGMA user_versionsous forme d'entier - La table
configa vu ses colonnes renommées en anglais - Les tables du wiki ont été supprimées
- La table
fichiersa été renomméefiles, etfichiers_contenuest devenuefiles_contents - La fonction
transliterate_to_asciiutilisée pour comparer desstringsunicode n'existe plus, à la place il est possible d'utiliser la collationNOCASEde SQLite, qui dans Garradin est alors remplacée par une comparaison insensible à la casse qui est également insensible aux accents Unicode. Donc il faut remplacerORDER BY transliterate_to_ascii(nom)parORDER BY nom COLLATE NOCASE, et remplacerWHERE transliterate_to_ascii(nom) = 'Kader Albert'parWHERE nom = 'Kader Albert' COLLATE NOCASE.
PHP :
- Les méthodes
Session->canAccessetSession->requireAccessattendent désormais une constante de typeSession::SECTION_en premier argument, et une constante de typeSession::ACCESS_en second argument - Les classes
Fichiers,Wiki,SqueletteetSquelette_Filtresont été supprimées - La classe
Membres\Categoriesest devenueUsers\CategoriesetEntities\Users\Categories
Templates :
- Le modifieur
strftime_fra été renomméstrftime - Le modifieur
html_moneya été renommémoney - Le modifieur
date_fra été renommédate - Le modifieur
format_bytesa été renommésize_in_bytes - Le modifieur
format_wikia été renommé enformat_skriv
Javascript :
- la méthode
g.load()qui permettait de faire une requête XHR a été supprimée. Il est conseille d'utiliser la promisefetchà la place.