Overview

Artifact ID: 46636f799add02746c2b088c9f23c7b0aa48fbaed5008e1cedf3070cb1a8f396
Page Name:Changelog/1.2
Date: 2022-09-15 15:36:29
Original User: bohwaz
Mimetype:text/x-markdown
Parent: 28492a336917178a7b356d2db2b5f7133e4c2936a32b3e5b63b284130533bb6b (diff)
Next f5b904e0f9d9d5b258ad32cdaa62992d5f797ad9844cba2a6dc36b2fa70bb006
Content

***** Note : la version 1.2 est en cours de développement *****

Modifications apportées dans la version 1.2

Cette version requiert désormais SQLite 3.31 ou supérieur pour fonctionner.

Pour des raisons de simplicité du développement, cette version 1.2 ne peut ouvrir que les bases de données de Garradin 1.1.19 et supérieur.

Attention : si vous aviez une vieille version pas à jour, il est d'abord nécessaire d'avoir fait la mise à jour vers une version 1.1.19 ou supérieure avant de pouvoir mettre à jour vers la version 1.2 !

Nouveautés

Fichiers

(en cours)

* Support du protocole standard WebDAV pour pouvoir gérer les fichiers de l'association depuis un ordinateur ou smartphone * Support des applications de bureau et mobile NextCloud : * accéder aux fichiers de l'association depuis le mobile * synchroniser les fichiers entre un ordinateur et l'instance de l'association

Modernisation de la gestion des membres

Sous le capot, la gestion des membres a été entièrement ré-écrite :-)

  • Possibilité d'envoyer un message collectif aux membres inscrits à une activité
  • On peut désormais avoir plusieurs adresses email par fiche membre [97c2d18bbc], chaque adresse recevra les messages envoyés
  • Possibilité de rattacher des membres à d'autres membres, cela permet notamment de créer des "familles" de membres, ou autre structures similaires.
  • Avertissement si on essaye d'ajouter un membre dont le nom existe déjà.
  • Un e-mail est envoyé automatiquement au membre quand on modifie son identifiant de connexion (s'il a un mot de passe).
  • Les administrateurs peuvent désormais modifier leur fiche membre et leur mot de passe directement
  • Les actions de modification / création ou suppression (de membre, d'écriture, etc.) peuvent être enregistrées dans un journal (loguées) pour suivre qui a fait quoi
  • On peut se connecter à la place d'un membre pour voir l'interface à laquelle il a accès

  • Refonte de la modification des fiches de membre :

    • possibilité de ré-ordonner les champs dans les fiches par drag-and-drop
    • on peut définir la valeur par défaut d'un champ membre [725e75351d4de624245b2ff80b49544f548604db]
    • simplification : champ privé / champ caché deviennent modification / visibilité par administrateurs ou par le membre
    • nouveau types de champs : mois+année, et année seule
    • nouveaux champs prédéfinis : année de naissance, date d'inscription, âge (calculé à partir de la date ou de l'année de naissance) et ancienneté (calculé à partir de la date d'inscription)
  • Améliorations de la recherche :

    • On peut désormais faire une recherche avancée en utilisant l'inscription à une activité [97c2d18bbc]
    • affichage du nombre de résultats
    • tri simplifié, par colonne
    • pagination
    • possibilité de sélectionner des colonnes à afficher dans le résultat de la recherche (sans rechercher dans ces colonnes)
    • export de la recherche (CSV/ODS/XLSX)
    • affichage du nom de la catégorie du membre dans la colonne de la recherche avancée

Sécurité

  • Refonte et simplification de la page "Mes informations de connexion et de sécurité"
  • Ajout d'un bouton permettant de déconnecter toutes les sessions actives dans la page "mes informations de sécurité"
  • Désormais si une clé PGP a été fournie par le membre, tous les mails envoyés au membre seront chiffrés (y compris les pièces jointes)
  • Ajout d'une limite au nombre de connexions infructueuses (maximum 10 en 20 minutes)
  • Ajout d'un captcha accessible sur la page de connexion après 3 tentatives de connexion infructueuses
  • Ajout d'un journal de connexion pour chaque membre, permettant de voir les dates et heures de connexion
  • Ajout d'un journal des actions utilisateur, permettant de voir ce qui a été effectué par qui et quand (création/suppression de membre/écriture/etc.)
  • Configuration de la durée de rétention des journaux
  • Seuls les administrateurs peuvent désormais créer des fichiers HTML et JS dans les documents

Formulaires

On peut désormais générer, configurer, et même modifier ou créer des formulaires. On peut ainsi même créer de petites applications dans l'administration de l'association, pour s'adapter à ses besoins.

Ces formulaires utilisent la syntaxe Brindille, comme les squelettes du site web.

Voir la documentation des formulaires pour plus de détails.

Exemples fournis :

  • Reçu fiscal
  • Reçu de don simple
  • Bordereau de remise de chèque
  • Cartes de membres
  • Devis et factures
  • Liste de contacts

Ces exemples sont développés directement avec Brindille et peuvent être modifiés depuis le menu Configuration, onglet Formulaires.

Un squelette déjà fourni dans Garradin peut être modifié, et en cas de problème il peut être remis à son état d'origine.

Divers

  • Ajout d'une image de signature dans Configuration > Personnalisation
  • Amélioration visualisation des droits des membres (icônes + changement des couleurs)

Administrateurs système et hébergeurs

Brindille

  • Nouvelle section load permettant de récupérer des données liées à un formulaire
  • Nouvelle fonction save pour enregistrer les données d'un formulaire
  • Ajout des fonctions :
    • input
    • link
    • linkbutton
    • icon
    • button
    • error
    • read
    • admin_header
    • admin_footer
    • signature
  • Ajout des filtres :
    • money_raw
    • spell_out_number
    • parse_date
    • math
    • money_int
    • strpos
    • substr
    • strrpos
    • boolval
    • intval
    • floatval
  • Ajout des sections :
    • users
    • transactions
    • transactions_users
  • Ajout du support de having dans les sections sql
  • Amélioration des fonctionnalités de assign

Voir la référence de Brindille pour les détails.

Changements qui pourraient affecter webmasters et développeurs

  • La constante de configuration PREFER_HTTPS a été supprimée, la définir n'a plus d'effet. Si vous n'êtes pas encore 100% en HTTPS, utilisez une redirection d'URL via le serveur web.
  • Une nouvelle constante de configuration LEGAL_LINE a été ajoutée, permettant

Plugins

  • Important : dans le fichier garradin_plugin.ini de chaque plugin, renommer nom en name et auteur en author
  • suppression du signal membre.nouveau, utiliser entity.Users\User.save.after à la place
  • suppression du signal membre.suppression utiliser entity.Users\User.delete.after à la place
  • le signal motdepasse.compromis est renommé password.check

Squelettes du site web

  • Les squelettes par défaut du site web ont été déplacés : ils ne sont plus dans www/skel-dist mais dans skel-dist/web (ce changement ne devrait avoir aucun impact)
  • Les squelettes utilisateur du site web qui étaient dans skel ont été déplacés dans skel/web
  • L'inclusion de squelette ({{:include file="fichier.html"}}) étant absolue à la racine skel par défaut, les anciens appels include des squelettes du site web ont été modifiés pour être relatifs au répertoire courant (skel/web) pour continuer à fonctionner.

Développeurs⋅ses

  • La classe Membres disparaît et est remplacée dans ses fonctionnalités par Users\Users
  • La classe Recherche est séparée en plusieurs : une entité Search représentant les recherches enregistrées, et des classes AdvancedSearch pour le formulaire de recherche avancée
  • La classe Membres\Champs disparaît, ses fonctionnalités sont dans la classe Users\DynamicFields
  • La classe Membres\Session est renommée Users\Session
  • Une entité Users\User a été créée pour représenter un membre
  • Les propriétés de la classe Config ont été renommées en anglais, notamment nom_asso, email_asso, etc. qui deviennent org_name, org_email etc.
  • Les fiches de membre peuvent maintenant accueillir des champs calculés (colonne de type GENERATED)

SQL :

  • La table membres a été renommée users
  • Une table config_users_fields a été créée, elle contient la liste des champs d'une fiche membre, et remplace la variable de configuration champs_membres dans l'objet Config
  • La table recherches a été renommée searches et ses colonnes ont aussi été renommées en anglais
  • La table plugins_signaux a été renommée plugins_signals et ses colonnes ont aussi été renommées en anglais
  • Une table logs contenant un journal des actions utilisateur a été créée

Diff du code