Changeset 68545 in spip-zone for _plugins_/abonnement

Timestamp:
Dec 21, 2012, 6:30:07 PM (8 years ago)
Author:
rastapopoulos@…
Message:

Un début de trunk en dévelppement pour une nouvelle génération de plugin d'Abonnements en refaisant tout au propre.

Le principe de base c'est :

  • on a des offres d'abonnement, qui peuvent avoir un prix (sinon gratuit), et une durée (sinon infini)
  • on abonne un utilisateur du système à une offre
  • l'échéance de l'abonnement est automatiquement calculée suivant la durée de l'offre
  • une tâche est programmée pour la désactivation de l'abonnement passé l'échéance
  • un cron régulier est là pour vérifier que tous les abonnements ont bien une tâche de désactivation (même si sa suppression est une erreur et devrait être rare, le cron permet de s'assurer de la cohérence de l'ensemble)

Et c'est tout !

En effet, un abonnement peut donner droit à tout et n'importe quoi. Ce sont donc *des sous-plugins* qui vont devoir implémenter tel ou tel droit pour telle offre.

Le premier sous-plugin qui sera implémenté est le cas le plus simple : donner droit à des zones restreintes (du plugin en question) lorsqu'on est abonné à une offre, et enlever ces zones lors de la désactivation.
Pour cela, ce sous-plugin permettra de lier (avec spip_zones_liens) une ou plusieurs zones à une offre, et dès qu'un nouvel abonné apparait, on l'ajoute à ces zones. Pareil pour la désactivation.

D'autres cas d'utilisation pourront être imaginés... par exemple abonnement à des contenus précis (ajout de champs objet/id_objet sur les abonnements par un autre sous-plugin), etc.

Location:
_plugins_/abonnement/trunk
Files:
78 added

Note: See TracChangeset for help on using the changeset viewer.