Artifact ID: | 2f86b4e661c15a3553d847dc09d776ed7ed8917599842f7fb6f303f505c8ba85 |
---|---|
Page Name: | Roadmap |
Date: | 2022-04-14 14:21:54 |
Original User: | bohwaz |
Mimetype: | text/x-markdown |
Parent: | 5ef5a07c2abe85526f26e46766a456dbc2a586232c6560875c0e24892726a15d (diff) |
Next | 9598cf4bd9750bf6600723b33f4aa99bcd1d340e7e6d5ac238fca682533776bb |
Feuille de route
Les bugs sont corrigés et publiés dans la version stable, les nouvelles fonctionnalités sont ajoutées dans la version de développement (branche dev
) qui sera publiée quand les objectif de cette version seront atteints.
Une liste plus précise de fonctionnalités demandées est également listée dans les tickets (mais on n'a pas forcément le temps de créer un ticket pour chaque fonctionnalité !).
État actuel des fonctionnalités
Fonctionnalité | Statut | État | Remarques |
---|---|---|---|
Membres | Implémenté | Code à moderniser | Refactoring / ré-écriture partielle à faire, code à passer en anglais |
Comptabilité | Implémenté | Satisfaisant | Quelques détails à revoir pour améliorer la simplicité et l'accessibilité |
Activités et cotisations | Implémenté | Satisfaisant | Permettre d'enregistrer plusieurs membres en même temps |
Fichiers | Implémenté | Satisfaisant | Base fonctionnelle. Fonctionnalités à ajouter |
Site web | Implémenté | Refactoring à terminer | Passer à un modèle d'édition de page proche de Kirby |
Mailing | Implémenté | À améliorer | Pas de gestion des retours, texte simple, pas de possibilité d'exporter la liste des destinataires facilement |
Documentation | Plutôt bonne | En cours | À mettre mieux en évidence dans le logiciel directement |
Tests unitaires | Inexistants ou presque | À écrire… | |
Tests fonctionnels | Dépassés | À refaire |
Prochaines versions
Version 1.2 — Modernisation membres
- Sécurité : ajout d'un journal des actions utilisateur, permettant de voir ce qui a été effectué par qui et quand
Sécurité : ajout d'une limite au nombre de connexions infructueuses
Améliorations recherche :
- 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)
Membres :
- Refonte du code de la gestion des membres
- 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 type de champ : mois et année
- Affichage du nom de la catégorie du membre dans la colonne de la recherche avancée
- Possibilité de faire une recherche avancée en utilisant l'inscription à une activité [97c2d18bbc]
- 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
À faire :
- Date de modification d'une fiche membre eb40b2de1
- Indique le nombre de membres par catégories dans la partie membres [47aaac6782]
- Import de membres : afficher toutes les erreurs d'un coup [928c70ca27]
- possibilité d'importer la catégorie du membre depuis un CSV, cf. https://fossil.kd2.org/garradin/tktview?name=8136fedb24
Webmasters :
- 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.
Plugins :
- Important : dans le fichier
garradin_plugin.ini
de chaque plugin, renommernom
enname
etauteur
enauthor
- suppression du signal
membre.nouveau
, utiliserentity.Users\User.save.after
à la place - suppression du signal
membre.suppression
utiliserentity.Users\User.delete.after
à la place - suppression du signal
rappels.auto
- le signal
email.envoi
est renomméemail.send
- le signal
motdepasse.compromis
est renommépassword.compromised
Développeurs⋅ses :
- La classe
Membres
disparaît et est remplacée dans ses fonctionnalités parUsers\Users
- La classe
Recherche
est séparée en plusieurs : une entitéSearch
représentant les recherches enregistrées, et des classesAdvancedSearch
pour le formulaire de recherche avancée - La classe
Membres\Champs
disparaît, ses fonctionnalités sont dans la classeUsers\DynamicFields
- La classe
Membres\Session
est renomméeUsers\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, notammentnom_asso
,email_asso
, etc. qui deviennentorg_name
,org_email
etc.
SQL :
- Une table
config_users_fields
a été créée, elle contient la liste des champs d'une fiche membre, et remplace la variable de configurationchamps_membres
dans l'objetConfig
- La table
membres
a été renomméeusers
- La table
recherches
a été renomméesearches
et ses colonnes ont aussi été renommées en anglais - La table
plugins_signaux
a été renomméeplugins_signals
et ses colonnes ont aussi été renommées en anglais - Une table
logs
contenant un journal des actions utilisateur a été créée
Version 1.3 — Modèles de documents
Les squelettes Brindille sont désormais utilisables dans l'administration de l'association. Ils permettent de créer et modifier des modèles de documents simples, à imprimer, mais aussi de créer des formulaires et des "mini-applications" directement dans l'administration.
Exemples fournis :
- Reçu fiscal
- Reçu de don simple
- 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 Fonctions avancées puis Squelettes.
Un squelette déjà fourni dans Garradin peut être modifié, et en cas de problème il peut être remis dans son état d'origine.
Autres exemples d'utilisation :
- Déclaration liste dirigeants à la préfecture
- Compte de résultat et bilan conforme au modèle du plan comptable
- Cartes de membres
- Formulaires sur le site web
Gestion de matériel
Utilisation de la syntaxe Brindille
Possibilité d'accéder aux données sauvegardées du formulaire en JSON avec SQLite et via une variable
$data
:{{$data.nom}}
Ajout section
{{#load key="config"}}{{$title}}{{/load}}
Ajout fonction
{{:save key="config" title="Toto"}}
qui permet d'enregistrer un formulaire en base de donnéesAjout fonction
email
, exemple :{{:email to="...@..." subject="Contact reçu sur le site" body="Message reçu sur le site : %s"|args:$_POST.message}}
Autres modifications
- Ajout d'une image de signature dans Configuration > Personnalisation
Webmasters et développeurs
- Les squelettes par défaut du site web ont été déplacés : ils ne sont plus dans
www/skel-dist
mais dansskel-dist/web
(ce changement ne devrait avoir aucun impact) - Les squelettes utilisateur du site web qui étaient dans
skel
ont été déplacés dansskel/web
- L'inclusion de squelette (
{{:include file="fichier.html"}}
) étant absolue à la racineskel
par défaut, les anciens appelsinclude
des squelettes du site web ont été modifiés pour être relatifs au répertoire courant (skel/web
) pour continuer à fonctionner.
Brindille
- Ajout des fonctions
input
,link
,linkbutton
,icon
,button
,error
,save
,read
,admin_header
,admin_footer
etsignature_url
- Ajout des filtres
money_raw
,spell_out_number
,parse_date
,math
,money_int
,strpos
,substr
,strrpos
,boolval
,intval
,floatval
. - Ajout des sections
load
,users
,transactions
,transactions_users
- Ajout du support de
having
dans les sectionssql
- Amélioration des fonctionnalités de
assign
Voir la référence de Brindille pour les détails.
Version 1.4 — Amélioration site web
Site web :
Re-design formulaire édition de page web
- Les pages comportent des "blocs", chaque bloc peut être soit un bloc texte (markdown), soit une image, soit un fichier, soit un tableau (éditeur de tableau simple à intégrer), soit le résultat d'une requête SQL (sous forme de tableau ou de graphique)
- Les blocs d'une page peuvent être réordonnées un peu comme dans Content Tools : http://getcontenttools.com/
Génération de thème simplifiée (couleurs / police / etc.)
Liste pêle-mêle des fonctionnalités prévues mais pas encore planifiées
Prioritaire
[Documentation] !
Fichiers :
- Stockage de versions de fichiers avec l'algo Delta de Fossil
- Possibilité de restreindre un fichier/dossier à certains membres / catégories
- Possibilité de créer des notes format texte, HTML (avec Content Tools) et markdown (https://gist.github.com/jbroadway/2836900 ou https://github.com/erusev/parsedown pour la conversion Markdown et https://github.com/commit-intl/micro-down pour la prévisu et enfin https://github.com/asvd/syncscroll pour la synchro de prévisualisation)
- Stockage webdav https://evertpot.com/167/ pour le porte-documents
- Possibilité d'utiliser un autre backend de stockage de fichiers via WebDAV, NextCloud, Mercurial, etc.)
- Intégration de OnlyOffice pour éditer/visualiser les documents Libre Office en ligne
Divers :
- Amélioration gestion des emails de retour
- Magasin de plugins dispo depuis la page extensions de la config (pas besoin de télécharger le plugin à la main et le recopier)
- Sauvegarde incrémentale (utilisation de Fossil deltas) automatique
- Mise à jour de la doc pour les boucles de documents
- Utilisation de KD2Brindille pour les templates de mails de rappel
- Tests unitaires et d'intégration
- Renommer les tables
membres
,membres_sessions
,plugins
,plugins_signaux
etrecherches
en anglais
Securité :
- OTP : Enregistrer des codes de secours à usage unique à utiliser en cas de perte du code secret qui génère des OTP
Comptabilité :
- Ajout stockage relevé bancaire (joindre un fichier) dans le rapprochement, par période
- Ajout total débit/crédit par mois dans le rapprochement
- Possibilité de valider une écriture (déjà partiellement implémenté dans la 1.0)
- Signature et hashage de chaque écriture validée dans une blockchain (déjà partiellement implémenté dans la 1.0)
- Archivage des données de l'exercice lors de la clôture
- Suivre les instructions du ministère des finances concernant l'archivage des données comptable, cf. PDF
Adhérents :
- Inscription autonome en ligne
- Possibilité de définir une page wiki utilisée comme "conditions d'inscription" à accepter à l'inscription
- Journal des actions utilisateur
- Suppression/anonymisation automatique des fiches des anciens adhérents
- Log des accès aux fiches de membre en lecture / écriture
- Log des tentatives de connexion
- Possibilité pour les adhérents de se connecter seulement avec l'adresse email, sans mot de passe (s'ils n'en ont pas choisi un), pour changer leurs infos et suivre leurs cotisations
Divers
- Possibilité de gérer les adhérents, la compta, le wiki etc. via la ligne de commande
Moins prioritaire
Comptabilité :
- Lettrage
- Budget prévisionnel
- lier plusieurs cotisations à une écriture
- lier les membres aux lignes de l'écriture et non à l'écriture elle-même
- supprimer une écriture comptable à la suppression d'une cotisation
- supprimer une cotisation à la suppression d'une écriture comptable
Adhérents :
- Annuaire de membres accessible aux autres membres (avec opt-in de chaque membre)
Plugins :
- Caisse
- Suivi du temps bénévole/salarié, et inscription dans la compta du temps bénévolat
- Agenda collectif
- Saisie de note de frais simplifiée