Curriculum map in Drupal

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
kassissieh's picture

I migrated our school curriculum map from a custom system I authored into Drupal. This allows us to ensure the longevity of this web site resource, take advantage of Drupal's strengths in structuring content storage and display, and provide teachers with a very usable editing interface. The curriculum map stores over a thousands nodes and can be added to an existing Drupal site. This article assumes familiarity with Drupal 6 views, content construction kit, blocks, and very basic custom function programming. This isn't a step-by-step tutorial (maybe one day).

Curriculum map course content type holds courses. The description field is not yet populated but available for course descriptions. Taxonomy categories for division, grades, and subjects are applied to this content type. A node reference field is used to connect each curriculum map course node to as many curriculum map units as necessary. The autocomplete node reference widget is used to allow the user to re-order the units as desired. It may be difficult for a user to find the correct unit node using autocomplete if it is not named creatively. It may be a good upgrade to use a view to display more identifying information than the title for the autocomplete search.

Curriculum map unit content type has a textarea field for each curriculum map category. We use the following: essential questions, habits of mind, content, skills and processes, assessment, resources, multicultural dimension, and integrated learning. In retrospect, having so many categories created a lot of work for teachers, who had to populate some of these categories x each unit x each course they teach.

We authored module cgs_curriculum_map.module to migrate content from our old system into Drupal. It creates content and unit nodes, establishes node reference links between them, populates content fields, and attaches taxonomy terms. This is not necessary for schools starting a curriculum map from scratch.

When the system displays a curriculum map course node, the units also load in a table below the course description. This is accomplished by loading a block view that displays the curriculum map category content for each unit node referenced in the course node. The view is loaded into the content_bottom template region, so that it appears just below the course description field. A simple function in cgs_curriculum_map.module returns a + delimited list of node ids of the unit nodes attached to the currently loaded course node. The display setting for the node reference field in the course content type is set to hidden to prevent unit links from appearing above the unit content itself.

If a user wants to display a single unit in a more readable form, one may link the unit title to its node. The conventional node CCK field display presents fairly well.

A page view with exposed filters lists courses, so that a user may view courses in the desired divisions, grades, or subjects. This is a good starting point for a user.

The user interface for adding new units is currently weak. It would be clever to load the curriculum map unit node add form in a lightbox above the curriculum map course page, so that a teacher could create a new unit on the fly and still have it show up in the node reference autocomplete field. Also, some node edit form elements are named in such a way that may confuse teachers. For example, the edit tab on the curriculum map course node page will likely be construed as providing editing access to the unit nodes (you actually have to view the unit before you can edit it).

I am currently having difficulty using both arguments and filters together. The argument limits the initial course list to a single division in the division pages, but the filters attach additional criteria using ? arguments. When both exist, the view returns no nodes. It may be that the view is applying terms from one taxonomy to the other, where they don't exist, causing the empty result set.

Use pathauto on the curriculum map content types and menu block visibility to load the correct secondary navigation menu when the view is displaying curriculum map entries.

Only local images are allowed.

Only local images are allowed.

Comments

Popups: Add and Reference

scottrigby's picture

It would be clever to load the curriculum map unit node add form in a lightbox above the curriculum map course page, so that a teacher could create a new unit on the fly and still have it show up in the node reference autocomplete field.

For the node reference, you might want to try the Popups: Add and Reference module. It uses the Popups API, a Lightbox-like modal window, to add the new referenceable node exactly where you want it - with a link just below the noderef field. Works like a champ :)

Cool, thanks.

kassissieh's picture

I'll give it a try.

A District Test Environment is Ready!

bramface's picture

Hey, Richard.

I'm doing some professional development for a school district in Long Island on 11/3. We used Lullabot's clone of BaseCamp to plan Superintendents Conference Day, with faculty proposing classes (Phase I) and then voting on them (Phase II). I'll be introducing a lot of Drupal as an "empowerment platform" to help teachers and students DO STUFF.

Anyhow - the district has begun a Curriculum Mapping process using "Tech Paths". It's endorsed by Heidi Jacobs, so I reckon it's pretty good. The superintendent asked if Drupal could do this, and I sensed it could, but it didn't seem like the sexiest thing to start with.

But now I see you've got something far along. Would you be interested in sharing a copy (I could migrate your site to a subdomain if you don't have it in modular form yet) and serving as a guest presenter (remotely)? Or just having me show the thing off, and seeing if they want to proceed?

There was some conversation on ISED-L (the Independent Schools List Serve) about finding tools to do this.
-Bram