On the basis of some of the comments in this thread, here are some thoughts about a first iteration:
All development here assumes development in 5.0 -- this means that some of the modules will need to be updated to 5.0 if they are not already there.
There are three types of functionality to consider for the initial distribution:
- The public facing school web site
- Classes; ie, the classes of an entire school in a single install
- Student and teacher work areas -- this can be considered a PLE, but it will allow the learner-controlled space to exist alongside the more structured course area.
Given that a public-facing web site can be built pretty easily using existing modules, I'd suggest that we focus on the development required for 2 and 3 -- Really, 2 and 3 are pretty complementary, and I'd make the argument that this functionality can exist within the same site. However, given that many schools are very concerned about the security/appearance of their public facing web site, I'd recommend that the public facing site be considered a separate entity than the course site. In practice, only a few members of a school community bring content live on a public facing school site.
Focusing in on 2 and 3, I agree with some of the suggestions made in the first thread.
- Classes (and clubs/extracurriculars) should be Organic Groups
- Tests, quizzes, and other assessments
- The gradebook module needs to be og aware
- Online Portfolios -- we're working on this as well -- stay tuned.
- Buddylist and ACL and MySite
- the private comment module -- this module needs to be built -- it allows for a user to create comments that are only visible to the owner of the node (or all those who have edit rights to it) and the person leaving the comment -- this would be useful for an instructor leaving feedback on a student post.
Using OG to create class and club spaces puts some emphasis on og_vocab and og_forum. og_vocab rocks, and really, this is just about the only issue remaining to allow for a pretty clean UI with og_vocab.
WRT og_forum, it needs to play nice with the regular forum module. Is the easiest way to do this to create a new og_forum node type that can run alongside a site-wide forum? Thoughts?
For this, rather than different content types for each type of activity, I propose survey-like functionality, because what else is a quiz/test/essay than a survey (ie, a series of questions and responses) -- by creating a generic question/answer structure, the survey can be used to do a wider variety of things -- for example, one survey could be a quiz, another could be a test, while another could be a series of writing prompts designed to walk a student through the beginning of the writing process. The use of the survey (ie, a test, a quiz, ungraded, etc) could be determined by the gradebook, or via taxonomy. This functionality would be very useful outside education as well. The survey module does some of this already, but it's not easy enough to use. Also, I don't know what (if any) support it has for multiple choice questions, etc.
I realize that my thoughts on this are incomplete -- I'd be glad to expand on this in a different post, but for reasons of time, I'm painting using a pretty broad brush.
This is happening as we speak -- we are working on this, and will be releasing this back shortly. There will undoubtedly be improvements required -- patches always welcome :)
As the name implies, Buddylist allows users to create a list of buddies. ACL allows users to create access lists of users for individual nodes. Integrating Buddylist and ACL would allow users to create posts that only their friends, or a specially chosen group of their friends, could see. This would be useful if a group of students wanted to give feedback on each other's essays, etc. Mysite allows users to create a landing place that is customized around the content they want to see. This could come pre-configured to show, for example, rss feeds from the courses in which they are enrolled. If you combine ACL, Buddylist, and MySite on a site that is OpenID enabled, you can also do some pretty interesting things with identity, but that's a subject for another post.
So, this site could be built using the following contrib modules:
- Organic Groups, og_vocab, og_forum, and og calendar
- the yet to be built question-and-answer module
- Gradebook
- Portfolio
- Buddylist, ACL, and MySite
- Userplus -- for user management
- Audio module
- CCK, Views, and Panels -- because they're too sweet not to use :)
So, here's one way to start -- what's missing? Let's hammer out the details and get down to writing some code, configuring some sites, building some install profiles, writing some documentation, and creating some security procedures to make sure that, once the distribution is built, it remains easy to use and secure.
And, as a final point for consideration, what role do people suggest for http://drupaled.org ?

Comments
Question and answer module
I'd strongly suggest taking a look at Quiz module. A few developers have come on recently and done a fantastic job putting this together, and it works in much the same way as you describe. There are individual modules for question types, such as multiple choice, which handle their own display, data entry, and calculation. And then the "quiz" module handles the overall "flow" of the quiz; what questions to show, whether or not questions should be displayed randomly, etc.
Tying quiz module to taxonomy seems like that would give you the last missing piece, which would be the quiz <-> gradebook relationship. If you wanted to go really abstract, creating a series of "input" type fields for CCK with custom validation functions is probably the way to go, but that's probably overkill since Quiz module seems like it will do pretty much everything you want.
Thanks for the heads up --
The last time I checked the quiz module, it was early to mid-September -- from the CVS messages, it looks like I checked things out just before the fun started.
FunnyMonkey
Is more needed?
Nice to see the Quiz module in a better shape - I too last looked before it could do much at all. However, one of the biggest problems I have with it is that it only allows for limited interaction between student and teacher - i.e. it focuses on self-correcting activities. I think we need a more robust system that can handle anything from multiple choice to essay-type questions - and allow the teacher and student (and student and other student) to communicate about each aspect of it.
I've been involved in developing a system (I designed it and paid someone to do the coding) that takes a slightly different approach - see here for a screencast, demo and source code: http://tuit.glottalstart.com. I'm hoping to convert it into a Drupal module but it may be long (months to a year) before the coder helping me with development will have some time. I hate trying to push my own system but I've spent a lot of time researching this and there is a limit in how far quiz modules (in Drupal, Moodle or Blackboard) can go educationally - my background is in language teaching (see http://www.bohemica.com) but much of this applies to any subject.
But having said all that - a simple quiz module is better than no quiz module. However, it might be worth looking into standards compliance such as IMS QTI, LOM, SCORM, AICC (alphabet soup, I know).
Dominik Lukes
http://dominiklukes.net
@techczech
Some suggestions
Here are a few points:
I disagree with you slightly on how easy it is to set up a public-facing website. If you just want a brochure, then it's not much work, but then you probably don't need Drupal. It becomes much more difficult when you want the site to reflect activities at the school while preserving privacy. Therefore a good access control module is necessary - you need absolute granularity. Maybe the ACL module will take care of it but this is absolutely essential because any lapses in this area could mean huge legal problems for schools. That's why Blackboard costs so much money - because they play on schools' fears.
I was surprised you didn't include the image and links modules. They provide essential community-building functionalities - although they are both less then user-friendly. Also, you'd need a good editor such as TinyMCE or HTML area to make the system accessible.
I agree that moving away from Moodle integration is a good idea. But it has some implications. One of them are naming conventions. If you have to teach 50 teachers in a school that to create a class they need to click on create group, you're making things too difficult. I like OG but it is not always intuitive to use when you take it beyond its basic functionality. It may seem like a trivial thing but every little increase in difficulty can snowball into a massive user exodus (think butterfly effect).
I'm wondering how well all the modules will play together. For instance, how easy will it be for teachers to share exercises information about students, etc. And how easy will it be for students to share in their learning in a way that transcends individual classes? (Digication.com might have some suggestions). Since every object in this system is a node, it should be pretty easy but it should always be at the forefront of our attention. I think the social aspect of learning is often underestimated as a factor and any modern LMS should take that as a point of departure. And I don't just mean forums. I like the idea of portfolios, particularly if they can be incorporated into assessment. They could be the glue that holds this together.
Also, node management is important. Drupal is great at classifying vast amounts of content but fairly bad at managing it subsequently (it has all the functionality but it is too labor intensive for anything but small efforts). There should be an easy way to recategorize many nodes at once, change the node type of a node, change weights of hierarchical elements en mass. There are modules for the first two but both for 4.6 only and the third is being worked on as well (see latest Lullabot podcast). But I think they provide key functionality. School sites mix content with community for which Drupal should be ideal but it is still missing the ease of use required.
I've talked to some people who've been using Drupal for a long time and never used the book module. It would be absolutely indispensable for a school, though. However, it has one major flaw. No matter what the permissions on any individual book page. Anybody can always add a child page. A small patch to the module would make it much more usable for academic purposes.
See my other comment on the assessment aspect of things. http://groups.drupal.org/node/1766#comment-4578 A basic quiz module is fine but more is needed to really integrate this into a learning/teaching environment (something which no LMS I know is all that good at).
Some other modules come to mind to consider for inclusion: biblio, publish or ejournal, simplenews (or even parts of ecommerce for private schools).
These are comments from someone trying to set up a university school site at the moment and having run online language classes (see http://www.dominiklukes.net/drupalcon06 and http://www.bohemica.com). Unfortunately, I'm not a coder (beyond modifying a PHP snippet here and there) but I can promise to test as much as possible.
Dominik Lukes
http://dominiklukes.net
@techczech
on the same page
Some great ideas here -- going through in order:
Public facing site: not particularly difficult to do, bit difficult to create one solution that does it all, as the needs of the public facing site will vary from school to school. The security and privacy issues are two reasons why, in many cases, I often suggest one site for the public-facing web presence, and a different site altogether for the work areas. Both sites are themed to look similar/identical so the end user doesn't know where one site ends and another begins, except that all private information is protected on a different site requiring a different login and admin-defined access rights. These are all issues that need to be thought out before the site goes live, and all variables that will differ from school to school. This is also one reason why I think that the public facing web site might be better served, at least initially, by a series of site recipes and an installation profile, as opposed to a full-on distribution.
Images/Links/TinyMCE -- yes, yes, and yes -- for Images, I'd probably recommend the image module and the IMCE plugin for TinyMCE; for links, either cck or userlink, and for the WYSIWYG, TinyMCE
Agreed. You can use cck nodes as group types, which will handle some of these issues. I think we'll need to see if/when/how this gets confusing, and solve accordingly.
RE Modules playing well together/ease of import/export -- Agreed. We've started looking into the import/export api (really, my top choice, as I like the idea of creating some generalized functionality and adapting it for specific uses -- this will also be more useful for Drupal as a whole) -- but, this needs to be EASY! RE the social aspect of learning -- strongly agree here as well -- that's where the Buddlyist/ACL/Mysite modules come in to the picture, as a start. Portfolios are also an integral piece of this.
Again, agreed -- and, as you say, ease of use is key here. I also think that sorting out some of these other issues will allow the precise need for this to become more focused, so when it comes to setting short and long term priorities, I see this as something that will get done soon, but not first.
RE the book module: I'd love to see the "Personal Book" module, with the following access rights: Add Pages to any PB; Add Pages to own PB. This also has some overlap with portfolios -- as we develop the portfolio code, we will also be looking at the possibility of creating "Personal Book" type functionality.
Quiz module -- agreed that this needs closer examination. I'd like the option to have ungraded surveys/quizzes, and to use the q/a functionality as, for example, a series of writing prompts. Having the quiz module handle the calculations, however, does create the potential for rubrics, which is useful. The current functionality of the quiz module something I need to look at more closely before I can say anything meaningful, though.
RE other needs, esp for independent schools: agreed -- as with comment 1, I see this as something more affectively addressed via an install profile and site recipe, as opposed to a full-on distribution.
Also, I checked out the bohemica site -- you're doing some really nice work there.
Cheers,
Bill
FunnyMonkey
Gradebook module
I couldn't figure out where you guys are at with the gradebook module - is it started? In alpha? In beta? I went to the two websites - funnymonkey and openacademic but couldn't find it.
If I had to get precise
I'd say late alpha or early beta ;)
You can get the OG version here: http://drupal.org/project/og_gradebook
And the non-og version here: http://drupal.org/project/gradebook
Cheers,
Bill
FunnyMonkey
Thanks
I tried to install but couldn't get it to do so. I filed an issues report. Interesting that you guys are in Portland. I'm in Corvallis. I've got drupal installed for a local public elementary school and would like to get a teacher system going for them.
Thanks a ton!
I just checked out the issue
and the reason you're having problems installing the gradebook is that the code is for 4.7.x, not 5.x --
RE
Yeah, I saw the Garfield Elementary site from a link off your great site recipe --
Feel free to get in touch -- I tried to send you an email via your contact form, but you don't have your contact form enabled --
Cheers,
Bill
FunnyMonkey
Yeah, I figured
I could only find it via the 4.7 search module so I should have known better. I got thrown by the top of this thread:
I've enabled contact here.
Re tests quizzes, etc
I have used formassembly to create surveys. Once created the html is added to the site as a page and linked from within drupal. The other tool that might be worth investigation is Hot Potatoes for multiple choice type assignments.
Options wrt functionality
Sorry for resurrecting this thread:-)
As I've been working on a kind of LMS for some time now, it's really encouraging to learn people share some of the ideas in phpEdu (http://www.phpedu.org.uk).
My approach with regards to custom nodes was to resist the temptation to use CCK and Views. Yes, both are very popular modules but rather 'heavy' and writing custom modules gives you better control. Moreover the Drupal core developers don't fully believe in CCCK (Core CCK) - at least that's my understanding. I've kept development work as close to the ideals of Drupal core.
Check phpEdu out and let's share ideas on how to move forward with DrupalEd.
CCK
In Drupal 5, there is support for CCK in core -- when the 5 release was being worked on, there was a thread on the dev list titled Pave the Way for cck about opening up core for more widespread use of cck. That's part of the reason why, in Drupal 5, you can add CCK fields to any content type.
Writing custom code == more control
Using views/cck == more generalised solution (ie, something that can be used at many levels, and in formal and informal learning environments, and outside education if needed) -- this generalised solution can then be adapted into a wider range of uses more easily.
Until we come to the place where all of us learn in the same way (something we're all sure to agree on soon :) ), a more generalised solution will be more broadly applicable. Also, views and cck have a HUGE amount of community support. Using views and cck opens up possibilities to use these new developments as they come online -- this is an advantage you lose when you avoid using these modules.
FunnyMonkey
Re: CCK
Oh yes, there's huge support for CCK and I'm aware of it making core Drupal 5 but in a light-weight form. That's why I talked about CCCK (Core CCK) i.e. everything CCK offers at the moment.