CS 501
Software Engineering
Spring 2007

Project Suggestion: Collaborative Software for Online Content Production


CS 501 Home

Syllabus

Projects

Books and Readings

Assignments

Quizzes

Academic Integrity


About this site

 

Client

Raj Smith, Academic Consultant and Information Architect, Department of Natural Resources and Cooperative Extension, raj.smith@cornell.edu.

Collaborative Software for Online Content Production

Cornell Cooperative Extension is partnering with the University of Nebraska, USDA, and two dozen other Universities, to create a national portal of information called e-eXtension or simply eXtension. The new model of eXtension uses social networking software such as Wikis and blogs to create content suitable for the eXtension system. Key components such as work flow and list management, newsfeeds, and other web parts must be assembled to create an effective system for content production. Software design is based as much on understanding data components, HTML, and c# as it is on building "mash ups" using pre-built objects and components.

A common theme is the problems that are created when developers try to use technology to drive the adoption of workflow processes, rather than study user habits and patterns and develop software that meets the needs of the business environment. People cannot be forced to use software that does not meet their needs or expectations. There is too much competition and or -- in the case of voluntary compliance -- people do not comply. The strategy is to model an existing system with better software that takes into account user habits. In this case we are looking at a system built with open source components versus commercial software (MS SharePoint) based on .net.

There are many components to this system. Two areas are proposed as CS 501 projects. In each case the student team will be responsible for end-to-end development of a component of the overall system. Each of these projects is vitally important to organizations that have a lot of content to personalize and serve to the public with a clear understanding of the importance of digital rights management and cost recovery.

1. Using Web services to publish local content to other servers

The goal is to develop a system that makes it easy for authors to contribute content (text and images) with appropriate tracking mechanisms for editing and review. The problem is that the content must be highly structured but people like to contribute in unstructured ways. Wikis, forms, and templates all have their benefits and limitations. Once the content has been created, edited, and approved, a selection of the content will be delivered using Web services to publish the local content for syndication or ported to other servers (e.g., local cooperative extension material to the national extension servers). We will be using Microsoft Office Server 2007, XML, MS Word, MS SQL, C#, and .net to create our solution.

2. Content management and production use

Content repositories are most useful if the information can be personalized and customized for use with different audiences. Unstructured content must be overlayed with templates and structured content must be assembled with XSL and XSLT and other methods. The goal is to reduce information overload by providing only the information needed or requested by a user or the user's profile. Ultimately the content must be delivered in a useable format. This project requires extracting the content from a content repository (using data queries or web services) and formatting the content for print on demand Ð most likely by conversion to PDF format. The content must be assembled on the fly, with appropriate meta data and digital rights management based on copyrights and predetermined content value, and then sent to an ecommerce gateway and ultimately to a printer for on-demand printing. The solution to this project requires knowledge of .net, SQL, XML, XSL (style sheets) PDF, printing, digital rights management, and ecommerce gateways.

 


[ CS 501 Home | Notices | Syllabus | Projects | Readings | Assignments | Quizzes | Academic Integrity | About ]


William Y. Arms
(wya@cs.cornell.edu)
Last changed: January 18, 2007