I've tried posting this question before, but I think I might have been too confusing, so I'll try describing it another way . . .

Basically, I'm creating a subscription site like an online training site. Here's how it should work: every new subscriber (no matter when they subscribe) will first receive lesson #1, then lesson #2 a week later and so on. Then at the end of the course (lesson #30, after 30 weeks) the subscription expires.

It's easy enough to add subscriptions for content with Ubercart or E-Commerce, but the hard part is restricting access to content so that subscribers are forced to follow the training sequence. Which ever way I look at it, this involves creating (and then managing) a lot of roles.

Here's the best solution I can come up with so far:

  • Use Content Access module to restrict each lesson to an equivalent subscriber role. For example, "lesson #1 subscriber" role gains access to lesson #1, "lesson 2 subscriber" role gains access to lesson #2 (while also retaining access to lesson #1), and so on.
  • Use Ubercart to sell the "lesson #1 subscriber" role.
  • Use the Administer Users by Role module to upgrade users to the next subscriber role each week (eg "lesson #1 subscriber" becomes "lesson #2 subscriber", etc).
  • Use a newsletter module to email subscribers with links to their latest lesson.

It works and I'm impressed with these modules, but I keep thinking there must be a better way. I've looked through a lot of Drupal modules and forum topics, and even checked out other CMSes, LMSes and shopping carts, but I can't bring myself to leave Drupal. This search has reinforced to me just how good Drupal and many of its modules are.

Does anyone know of a better solution? Although Administer Users by Role makes changing roles much easier, something automated would be ideal. However, I'm open to any ideas, big or small.

Thanks.

Comments

Jkello’s picture

I think that is not a bad setup you got there =)

bestknight’s picture

Have you looked into Actions, Workflow and Workflow NG and related modules? Maybe these can help for automatic transition.