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.
At the end of this course, students should be able to:
Walk an organization through a process that leads to the deployment of a web site whose contents the organization can maintain over time;
Suggest and implement a variety of community features for such sites;
Get a good-paying job or internship with one of the many consulting firms that offer these services. (Many are currently turning down clients because they cannot hire enough qualified personnel. See http://groups.drupal.org/consulting.)
Prof. Paul Resnick, email@example.com
Prof. Mark Ackerman, firstname.lastname@example.org
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.
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.
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:
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.
A weekly email update with:
Interview people in your client organization. Answer the following questions, based on your interviews.
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.
Write a site design document (5-7 pages) that specifies:
Write a workflow design document (5-7 pages) that specifies:
Write a design document (5-7 pages) that specifies:
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.
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:
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.