What CMS to choose for particular purposes?

Hi,

I’m about to run two web applications, and I wonder if some CMS would be helpful. Below are descriptions of the applications. They are separate ones, so they can use different CMS.

App 1.
Website to run tests. Teachers create and maintain their question banks. From those banks, they choose some questions, create tests, and invite students to join them. Students join the tests, answer questions (i.e. pick options they think are correct), and - immediately after that - see test results (number of questions answered correctly, incorrectly, left blank etc.).

App 2.
Website for providing restricted access to content. Some users register as content providers, and some others as content consumers. Providers generate content - mailny blogs with some file attachments, and consumers can read it. Consumers pay for reading the content, and the payment is transferred to providers.

Thank you in advance for all hints.

Are you looking for something like Claroline in #1?

Yeah, I’d use Drupal for both but that’s because I know it. I think for ease of maintenance you’ll have to use some sort of well supported CMS package but you will need to invest some time learning the ropes or hiring someone to do the customizing to fine tune it for your needs.

Look at Moodle. It bills itself as a “Learning Management System” and is built for what your trying for.

Thank you for all your hints.

For web site 1 I would look into Moodle.

Drupal is a great CMS but Moodle is actually specifically built to do this sort of thing.

App 1 sounds perfect for Drupal… not sure on App 2, maybe a custom script.

I’d have thought Drupal can handle both - you’d need a little bit of customisation in both cases and hunt for the right module combination.

The second app, the only thing I can’t think of would be the part about payment transfer. You might get something together using user points for this.

In any way, Drupal is quite flexible and even if it doesn’t provide you with the features out of the box and you can’t find a module that handles what you’re looking for - its API is quite powerful and you can extend it fairly easily so that you don’t have to start from scratch with a custom script.