Content management with contributor, editor, publisher and view start and end date/time?
Hi. I'm in the process of evaluating Drupal and Joomla for developing websites for non-profit organizations.
The biggest problem is getting content setup and approved in advance and showing it on the website starting on a given date and taking it off at a given date - all by using non-technical people once templates/themes are setup.
Is there a module/theme etc. to make content date effective, i.e., begin showing on a given date/time and stop showing on a date/time?
And can content be added by a user assinged to a content provider role, edited/reviewed by those in a editor role, then finally approved by a publisher role?
I see this is Joomla, but I've read it it is slow.
This is for a non-profit organization with lots of events, but don't want events only viewable in a calendar format.
Also, I think the CCK? module allows defining different node type, correct? Certainly need a node type that has an image to go along with text. Are there some well documented examples?
I've installed Drupal on our web server, but there are so many modules/themes, etc. I'm stuck trying to find what needs to be added to create node types or templates to create standard content types for a speaker, a course with a teacher and multiple class sessions, or a weekend workshop, profile of each minister etc.
My background is database with good knowledge of MySQL, PHP, Javascript, AJAX, HTML. I'm also looking at MVC systems like CodeIgniter, but hoping to find a CMS with a lot of work already done.

Also developing a non-profit website
Hi, I'm reasonably new to Drupal but I'm also developing a site for a non-profit organisation. And yes, I too looked at Joomla! I chose Drupal over static HTML, Joomla, Wordpress and many other CMS options.
IMO the flexibility of Drupal is both the pillar of its success and its major downfall. I found there to be a quite considerable learning curve and at times it can be very newbie unfriendly. The sheer mountain of contributed modules can, as I am sure you are aware, be simply overwhelming - especially since some of the contributed modules do what other CMS products do out of the box. However, I took my time and did some research and found the most essential modules and started to work with them. I highly recommend the Lullabot Top 40 modules podcast as these guys do a lot of Drupal work and besides that - it is fun to listen to them :-)
The first part of your question I believe can be done in Drupal using CCK, Views and Calendar modules. The CCK adds fields to your content types - they can be a date, an image, text, numbers, links to other articles etc... The Views modules lets you design how you want to browse your content, a list of all Events in descending date order for example. And the Calendar module adds a Calendar option to Views so you can have your events in calendar form if you wish. I think I first got into Views when I saw a video podcast (also at Lullabot).
The type of approval, editing, publishing system you are looking for can be achieved using the Workflow module. This really is a very flexible module - again flexibility means complexity in Drupal land, so it can seem daunting at first. But there is another video (I think it's linked from the project page) that explains it in some detail.
I'm not saying that I think a product as powerful and as flexible as Drupal should be as easy to use as, say Windows Notepad. In fact, give Notepad to someone who has never seen a computer before and they will come unstuck pretty soon. It's all down to the paradigm you are used to working within. I do, however think that Drupal could be more newbie friendly, more admin friendly and more themer friendly - all things which I'm told are improving over time.
Schedule module
The schedule module adds the ability to publish and unpublish content based on certain dates. Also, adding JS Calendar allows the dates to be set using a cleaner pop-up calendar for the content creator.