Fork me on GitHub






Changement de groupe automatique
Régulier
Inscrit: 15/02/2011 22:12
Messages: 288
salut

Dans le cadre d'un site de formation, je souhaite proposer à mes membres de suivre un cursus progressif et pour cela leur donner un accès progressif au contenu. Le hic : comment automatiser tout cela ?


Exemple :

Cycle de formations : programmation PHP
Cours 1 : Syntaxe
Cours 2 : Variables
Cours 3 : Boucles et conditions
Cours 4 : Php & MySQL
Cours 5 : Sessions et Accès privé

Le membre s'inscrit et peut accéder au cours 1. Au bout de 30 jours, il peut accéder au cours 1 et 2, au bout de 60 jours il peut accéder au cours 1, 2 et 3 ... au bout de 120 jours il peut tout voir.

---

Ce que je projette c'est d'utiliser les groupes Xoops pour organiser les accès au contenu
--Groupe 01 --> Cours 01
--Groupe 02 --> Cours 01 et 02
--Groupe 03 --> Cours 01, 02 et 03
--Groupe 04 --> Cours 01, 02, 03 et 04
--Groupe 05 --> Tous les cours
... il y a peut être plus intellignet à faire ?


Là où j'aurais besoin d'un module / script c'est pour basculer automatiquement les utilisateurs d'un Groupe Xoops à l'autre au bout de x jours (30 à priori, mais idéalement cela pourrait varier selon les cours).

Par où commencer ? Un module permet-il de faire cela ?

Merci d'avance

Posté le : 16/06/2011 19:09
Partager Twitter Partagez cette article sur GG+
Re: Changement de groupe automatique
Régulier
Inscrit: 15/02/2011 22:12
Messages: 288
... j'y pense : le déclenchement quotidien d'une requête via un CRON pourrait peut être faire l'affaire.

Quelque chose de plus pertinent à votre avis ?

Posté le : 16/06/2011 23:12
Partager Twitter Partagez cette article sur GG+
Re: Changement de groupe automatique
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
Bonjour,

arf, avec un peu d'huile de code, un t'chi quizz et si correct modification du groupe - eh oui, un p'tit exam !! déjà 30 ans mon baccalauréat

Posté le : 17/06/2011 01:26

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+
Re: Changement de groupe automatique
Semi pro
Inscrit: 05/02/2006 23:34
De Ile-de-France
Messages: 523
Citation :
--Groupe 01 --> Cours 01
--Groupe 02 --> Cours 01 et 02
--Groupe 03 --> Cours 01, 02 et 03
--Groupe 04 --> Cours 01, 02, 03 et 04
--Groupe 05 --> Tous les cours ... il y a peut être plus intellignet à faire ?


Je te recommande de faire

--Groupe 01 --> Cours 01
--Groupe 02 --> Cours 02
--Groupe 03 --> Cours 03
--Groupe 04 --> Cours 04

Pour la gestion des groupe ce sera plus simple.
Il suffit d'ajouter un groupe au membre à chaque étape
...avec la méthode de kris par exemple.
@+
Z


Posté le : 17/06/2011 13:08
Partager Twitter Partagez cette article sur GG+
Re: Changement de groupe automatique
Régulier
Inscrit: 09/06/2006 18:51
Messages: 484
Bonjour,
J'aurais pensé moi aussi à une requête. XoopsCare permet de programmer des requêtes quotidiennes sur la bdd..

Posté le : 17/06/2011 13:58
Partager Twitter Partagez cette article sur GG+
Re: Changement de groupe automatique
Régulier
Inscrit: 15/02/2011 22:12
Messages: 288
salut et merci pour votre concours

... mais ça se complique : j'avais oublié qu'un membre pouvait s'inscrire à plusieurs formations... ça sent la multi-jointure... heureusement le week end approche.

Une formation comporte plusieurs cours qui sont diffusés de manière cadencée :

Formation 01
- Cours 01a --> diffusé dès l'inscription du membre
- Cours 01b --> diffusé à j+7
- Cours 01c --> diffusé à j+14
- Cours 01d --> diffusé à j+21

Formation 02
- Cours 02a --> diffusé dès l'inscription du membre
- Cours 02b --> diffusé à j+15
- Cours 02c --> diffusé à j+30
- Cours 02d --> diffusé à j+45
- Cours 02e --> diffusé à j+60

Formation 03
- Cours 03a --> diffusé dès l'inscription du membre
- Cours 03b --> diffusé à j+30
- Cours 03c --> diffusé à j+60

etc...

Maintenant imaginons que je sois un membre particulièrement studieux et que je m'inscrive à 2 formations à la fois.

J'ai l'impression que la gestion des accès via les Groupes ne va pas suffire. Elle pourrait à la limite servir pour gérer l'accès aux formations :
- l'appartenance au Groupe 01 : donne accès à la formation 01
- l'appartenance au Groupe 02 : donne accès à la formation 02
- l'appartenance au Groupe 03 : donne accès à la formation 03
- ... et comme les droits sont cumulés via les Groupes Xoops, pour qu'un membre ait accès à plusieurs formations il doit juste appartenir à plusieurs Groupes

Ce problème d'accès aux formations réglé, il reste donc à gérer la diffusion cadencée des cours.


Via une requête SQL déclenchée par CRON ? hmmm...

Cela reviendrait à :
1 - récupérer l'iud du membre
2 - sa date d'inscription
3 - l'id des articles
4 - le délais de diffusion entre chaque cours

... et à rapprocher 2 et 4.

Quoiqu'il arrive SQL ne suffira pas je crois : une sauce de php et une nouvelle table me paraissent nécessaires afin de disposer d'une nouvelle variable d'affichage, du type : "pour tel article, si la date d'inscription + la date de diffusion >= xx alors j'affiche, sinon je continue à masquer"

Y a encore quelqu'un qui suit ?!



Posté le : 17/06/2011 14:38
Partager Twitter Partagez cette article sur GG+
Re: Changement de groupe automatique
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
Citation :
beru a écrit :
Y a encore quelqu'un qui suit ?!

oui ... et je reconnais bien avec ces complications

Posté le : 17/06/2011 19:45

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

121 Personne(s) en ligne (102 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 121 | Plus ...