Bonjour à tous,
Je m'appelle Jean-Marc, actif depuis +/- 1 an dans une association de
Clermont-Ferrand, l'APIMA <https://apimatelier.org/>.
L'Apima utilisait Paheko (hébergé sur paheko.cloud) avant mon arrivée,
pour la gestion des adhérents.
Depuis, j'ai notamment migré la compta sous Paheko, et j'entame du
"ménage" et de la simplification.
Une précision: je suis un professionnel du développement logiciel
(depuis 40 ans ...).
Même si je ne suis pas un expert du SQL, je suis à l'aise pour récupérer
une copie de la BDD, et aller voir ce qui se passe "sous le capot".
Par contre, pas question d'écrire en base, sauf à passer par des
fonctions d'import prévues pour.
... et la question ...
Je m'attaque aujourd'hui à une problématique de migration, que je vais
essayer de décrire en faisant court.
- Nous avons une seule "vraie" activité: l'adhésion à l'assoc !
- Pourtant, 3 activités ont été créées, une par mode de règlement :-(
- Je souhaite revenir à une seule activité:
. Je dois donc inscrire tous mes adhérents à l'activité unique ...
. ... mais je dois "migrer" les infos (en particulier les dates)
des anciennes activités
J'ai regardé un peu dans la doc, mais je n'ai pas fait l'effort, pour
l'instant, de chercher dans les archives de la liste ...
... une réponse "cherches d'abord, ça s'y trouve" sera donc bien
acceptée ;-)
Dans un premier temps, je vais exporter tous mes adhérents et leurs
activités, pour faire du nettoyage de données, et valider précisément
l'état cible souhaité.
La difficulté, c'est une fois les valeurs cible validées, comment les
injecter (pas à la main si possible ...) ?
Dans la doc, j'ai regardé "Inscrire plusieurs membres en même temps à
une activité
<https://paheko.cloud/inscrire-plusieurs-membres-en-une-fois>", je
croyais avoir trouvé mon bonheur (import xls), mais j'avais pris mes
rêves pour des réalités :-(
De ce que je comprends, quelle que soit l'option (sélection, recopie
depuis une activité, ou membres d'une catégorie), je vais devoir saisir
des dates début/fin, qui seront les même pour toutes les inscriptions ?
Pour l'instant, ma meilleure option serait de recopier par catégorie
(membres actifs, +/- 300), et d'aller corriger les dates une par une.
Du coup, si l'un d'entre vous a une meilleure idée, je suis preneur !
Bien à vous,
JM
> Je m'attaque aujourd'hui à une problématique de migration, que je
> vais essayer de décrire en faisant court.
> - Nous avons une seule "vraie" activité: l'adhésion à
l'assoc !
> - Pourtant, 3 activités ont été créées, une par mode de règlement :-(
> - Je souhaite revenir à une seule activité:
> . Je dois donc inscrire tous mes adhérents à l'activité unique
> ... . ... mais je dois "migrer" les infos (en particulier les dates)
> des anciennes activités
>
> Dans un premier temps, je vais exporter tous mes adhérents et leurs
> activités, pour faire du nettoyage de données, et valider précisément
> l'état cible souhaité.
> La difficulté, c'est une fois les valeurs cible validées, comment les
> injecter (pas à la main si possible ...) ?
Voici ce que je suggérerais dans ton cas :
1. faire une sauvegarde de la BDD pour pouvoir revenir en arrière ;)
2. exporter tes membres, faire ton nettoyage, et réimporter en mode
"mise à jour des fiches de membres"
À ce stade tu aura nettoyé tes fiches de membres.
Pour les inscriptions, en supposant donc que tu n'as pas d'autres
activités :
3. exporter les inscriptions de chacune des 3 activités
4. créer une nouvelle activité "Adhésion"
5. modifier avec un tableur chacun des 3 fichiers d'export, pour
modifier le nom de l'activité et mettre "Adhésion" à la place (en
conservant donc les dates)
6. importer chacun de ces fichiers, un à un, qui iront donc inscrire
tes membres à ta nouvelle activité créée à l'étape 4.
7. vérifier que tout est bon, et là supprimer les 3 anciennes activités.
Je pense que ça répondra à ta problématique.
L'inconvénient il me semble est que tu perdra l'historique des
inscriptions, tu n'aura dans les exports que la dernière inscription en
date de chaque membre, mais pas les inscriptions plus anciennes.
Dans tous les cas ça n'affectera pas la compta.
Une autre solution c'est que tu crée juste une nouvelle activité
"Adhésion" et moi je modifie ta base de données pour transférer toutes
les inscriptions existantes dans la nouvelle activité. C'est assez
simple à faire de mon côté : un simple
UPDATE services_users SET id_service = XXX, id_fee = YYY;
En théorie ça devrait marcher sans souci, et t'épargner un peu de
manipulations manuelles, mais tu n'aura pas de contrôle fin si tu veux
"nettoyer" les inscriptions au passage. Il faut juste me le demander :)
Bonne journée :)
> Voici ce que je suggérerais dans ton cas :
>
> 1. faire une sauvegarde de la BDD pour pouvoir revenir en arrière ;)
> 2. exporter tes membres, faire ton nettoyage, et réimporter en mode
> "mise à jour des fiches de membres"
>
> À ce stade tu aura nettoyé tes fiches de membres.
>
> Pour les inscriptions, en supposant donc que tu n'as pas d'autres
> activités :
>
> 3. exporter les inscriptions de chacune des 3 activités
> 4. créer une nouvelle activité "Adhésion"
> 5. modifier avec un tableur chacun des 3 fichiers d'export, pour
> modifier le nom de l'activité et mettre "Adhésion" à la place
(en
> conservant donc les dates)
> 6. importer chacun de ces fichiers, un à un, qui iront donc inscrire
> tes membres à ta nouvelle activité créée à l'étape 4.
> 7. vérifier que tout est bon, et là supprimer les 3 anciennes activités.
>
> Je pense que ça répondra à ta problématique.
>
> L'inconvénient il me semble est que tu perdra l'historique des
> inscriptions, tu n'aura dans les exports que la dernière inscription en
> date de chaque membre, mais pas les inscriptions plus anciennes.
>
> Dans tous les cas ça n'affectera pas la compta.
>
> Une autre solution c'est que tu crée juste une nouvelle activité
> "Adhésion" et moi je modifie ta base de données pour transférer
toutes
> les inscriptions existantes dans la nouvelle activité. C'est assez
> simple à faire de mon côté : un simple
> UPDATE services_users SET id_service = XXX, id_fee = YYY;
>
> En théorie ça devrait marcher sans souci, et t'épargner un peu de
> manipulations manuelles, mais tu n'aura pas de contrôle fin si tu veux
> "nettoyer" les inscriptions au passage. Il faut juste me le demander
:)
>
> Bonne journée :)
Wow, c'est top ! Merci BohwaZ!
- Je n'avais pas rêvé, il y a bien une fonction "import" pour les
inscriptions, je ne la trouvais plus, mais ça fait le job :-) - C'est
sûr que l'update SQL, c'est quand même *la* solution, mais je n'avais
pas osé demander ce type d'intervention dans un cadre associatif ;-) -
Tu confirmes aussi que mon idée d'exporter les fiches membre, nettoyer
sous tableur, et ré-importer a du sens ...
Je peux d'ailleurs tout à fait décorréler les deux: - Migrer vers la
nouvelle activité d'abord - Faire de la qualité de données ensuite
Du coup, je crois que je vais te demander le petit update d'ici quelques
jours, après l'avoir validé sur ma copie locale ;-)
Nouvelle question du coup: j'aimerais bien (pour le principe) garder les
"anciennes" inscription, mais sauf erreur, elle apparaissent "en
retard"
sur la fiche membre, ce que je trouve perturbant. Est-ce bien le
comportement attendu ? Ou ai-je loupé qque chose ?
Merci encore, Amicalement à tous, JM
> Nouvelle question du coup: j'aimerais bien (pour le principe) garder
> les "anciennes" inscription, mais sauf erreur, elle apparaissent
"en
> retard" sur la fiche membre, ce que je trouve perturbant. Est-ce bien
> le comportement attendu ? Ou ai-je loupé qque chose ?
Normalement si la personne a une inscription à jour c'est marqué "à
jour". Ça sera marqué "en retard" si la personne a été inscrite à
l'activité, que l'inscription a expiré, ET qu'une autre inscription à
la même activité n'a pas été enregistrée entretemps.
Exemple : Kader s'inscrit le 21/01/2023 pour un an -> son inscription
sera marquée "en retard" à partir du 22/01/2024.
Il renouvelle son adhésion le 28/01/2024 (même activité, nouvelle
inscription) -> sa fiche de membre affichera "à jour" jusqu'au
28/01/2025.
Le 03/04/2024 à 21:10, BohwaZ/Paheko a écrit :
> Normalement si la personne a une inscription à jour c'est marqué
"à
> jour". Ça sera marqué "en retard" si la personne a été inscrite
à
> l'activité, que l'inscription a expiré, ET qu'une autre
inscription à
> la même activité n'a pas été enregistrée entretemps.
>
> Exemple : Kader s'inscrit le 21/01/2023 pour un an -> son inscription
> sera marquée "en retard" à partir du 22/01/2024.
>
> Il renouvelle son adhésion le 28/01/2024 (même activité, nouvelle
> inscription) -> sa fiche de membre affichera "à jour"
jusqu'au
> 28/01/2025.
Merci BohwaZ, je n'avais pas vu ta réponse !
(et curieusement, en envoyant cette réponse, j'ai eu un bounce indiquant
que je n'étais pas inscrit à la liste, j'ai dû m'inscrire à nouveau
???)
Le comportement que tu décris est très clair, et complètement logique.
C'est parce que je suis "à cheval" en ce moment entre mon existant (une
activité par mode de règlement ... de la même activité) que j'ai des
lignes qui apparaissent "en retard" (puisque dans la table ce sont deux
activités différentes).
Une fois à la cible, le comporte décrit donnera exactement le résultat
attendu, c'est parfait !
Je prépare ma migration tranquillement, et je te solliciterai quand il
sera temps de faire l'update.
A bientôt,
JM
Pour info la liste te désinscrit automatiquement si ton adresse est
injoignable, c'est sûrement ça qui s'est passé.