SI 631 PEP Workshop: Content Management Systems

Winter 2008 (Draft of Nov. 14-- subject to change, especially assignments and grading)

Content Management Systems support the process of collecting and publishing content on the web. They also provide a platform for many “community” features, such as comments, discussion, and chat. Students will learn a process for identifying content types and establishing a workflow for editing and approving content. Students will then configure a content management system (drupal) to meet the needs of an outside client. Clients will primarily be non-profit cultural, political, and service organizations, both local and worldwide, though we have some potential commercial clients as well.

Objectives

At the end of this course, students should be able to:

Instructors

Prof. Paul Resnick, presnick@umich.edu

Prof. Mark Ackerman, ackerm@umich.edu

Pre/co-requisites

Students should have taken SI501 or have equivalent experience working on a project team for a real-world client. Non-SI students should contact the instructors-- we are willing to make exceptions for students who bring other specific skills, especially PHP, CSS, and/or drupal experience.

Students should take SI634 concurrently or demonstrate basic competence with configuring (but not programming) the drupal platform. SI634 is a 1.5-credit half-semester course on configuring various application platforms, including drupal. In that course, students do hands-on exercises where they select, install, and configure available drupal modules, create taxonomies or free tagging systems for a site's content, set different user roles and access controls, create and configure different content types for a site, and make small modifications to existing "themes". 

Students with some programming background are encouraged to also take SI 635, a follow-on to 634 in the second half of the semester. In that course, students will learn how to customize application platforms (including drupal) by writing small amounts of code. In this course, we need some students who can make these programming modifications to the drupal platform, but not every student needs to be able to do this.

Meeting Schedule

The course meets Monday mornings, 9AM-noon. In past workshop classes, we have found it to extremely valuable for student teams to have additional work time together, with support from the instructors. If at all possible, please reserve Friday afternoons as group work time. Instructors will make an effort to be available at this time as well.

Clients and Mentors

During November and December, we will be lining up potential clients. We will seek a variety of cultural, political, and service oriented organizations as clients. We will seek projects that involve some interaction among the users of the CMS sites, as opposed to one-way transmission of information sites. If you have possible clients that you'd like us to get in touch with, please send email to the instructors.

Some clients will be local to Ann Arbor. Others will not; some may even be outside of the country. We are trying to line up funding for students to travel to visit remote clients, either during the semester or during Spring Break, but can not guarantee this.

For some of the projects, we also hope to line up outside mentors from some of the consulting firms that provide CMS design and implementation services.

On the first day of class, you'll have a chance to indicate preferences for projects (and teammates), and the instructors will then assign teams.

Last year's projects were:

Project Approach

We will be using an iterative development methodology. After initial requirements analysis with your clients, you will write design documents and implement a prototype site. The documents, and especially the site, will spur your clients to clarify their requirements, and to imagine new possibilities. In response, you will update the design documents as well as the site.

Assignments

Weekly Team Status Report

A weekly email update with:

Deliverable 1: Client Requirements Analysis

Interview people in your client organization.  Answer the following questions, based on your interviews.

1A: (3 pages) Describe the organization's mission and goals and, if it's a large organization, the mission and goals of the part of the organization responsible for the project. Describe how the proposed project fits with the organizational goals.

1B: (5-7 pages) Stakeholders, Expectations, and Expectations of Use

Deliverable 2: Personas and Usage Scenarios

Describe the different types of users for the site. For each, write a scenario that identifies the different kinds of tasks and actions they will take in interacting with the site. 5-7 pages.

Deliverable 3: Information Architecture

Write a site design document (5-7 pages) that specifies:

Deliverable 4: Workflow Analysis

Write a workflow design document (5-7 pages) that specifies:

Deliverable 5:  Module Selection

Write a design document (5-7 pages) that specifies:

Deliverable 6: Working site

You will go through several iterations of getting feedback from classmates and especially from your clients about a working website.

If the client is satisfied with your work, this should culminate in them making a decision to use the site you have implemented. If the client has an existing site, you will also have to migrate their existing content to the new site.

Deliverable 7: Documentation and Training Materials

Your clients are depending on you to create a system that they can maintain themselves. They won't know much about drupal, taxonomies, or access controls. Moreover, if they're like many non-profit organizations, they will have a lot of staff turnover. Your documentation, in addition to the design documents listed above, should include:

Grading

All of the deliverables will be graded: Deliverables 1-5 will count 10% each. Deliverable 6 will be 30% of the grade. Deliverable 7 will be 20% of the grade. Your team as a whole will receive a grade on each of these deliverables. Team members will also be asked to evaluate each other's performance, which may lead to raising or lowering of grades for individual team members.