Archives de la liste a​i​d​e​@p​a​h​e​k​o​.c​l​o​u​d​

Présentation et première question

jm.apima at jmdi.org via aide

01/04/2024 16:05:47

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

Présentation et première question

BohwaZ/Paheko

01/04/2024 16:24:48

> 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 :)

Présentation et première question

jm.apima at jmdi.org via aide

01/04/2024 20:33:44

> 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

Présentation et première question

BohwaZ/Paheko

03/04/2024 21:11:08

> 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.

Présentation et première question

jm.apima at jmdi.org via aide

10/04/2024 16:19:38

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

Présentation et première question

BohwaZ/Paheko

10/04/2024 16:29:50

Pour info la liste te désinscrit automatiquement si ton adresse est
injoignable, c'est sûrement ça qui s'est passé.