Sousa Requirements

High Level Views and Use Cases

I would like to be able to compose a page of content that allows me to communicate one or more learning concepts. I'd like to have the freedom to use any kind of media that I think will help communicate those points including text, graphics, sound, videos, marked-up content, simulations, or anything else. I'd like to be able to use this content without having to worry about installing special editors or plug-ins to view them, or at least have the system manage as much of it as possible. I'd like to have control over the way this content is presented, both the individual elements on a page, and the whole page itself. I'd like to be able to control placement, size, color, emphasis, etc. It should be very easy to add new content types as I discover them and I'd like to mash-up different things into new media types. It would also be good to be able to work with content in more than one way - such as with an editing application and the Sakai Resource tool. I'd like to be able to create pages from templates or clone existing pages and use them as templates.

I would like to be able to take simple content items along with more complex ones (like pages) and deliver them in different sorts of ways. I'd like my students to be able to move through a sequence of pages (or items) in a linear fashion, yet still be able to back up if needed. I'd like to be able to bookmark a particular place in the sequence and be able to save and resume from that point. I'd also like to be able to package one or more sequences together to form modules and larger structures. I'd like the packages to be portable using industry standards like SCORM, OCW, IMS-CC, IMS-CP, etc.

I'd Sakai to keep track of the pages I've viewed and track completion (what ever that may mean). It should record any attempts and results for interactive exercises that may be present. I'd like to be able to assign a content page, sequence, or module and assign a grade for completion. I'd also like to track partial and intermediate results that may contribute to a graded exercise. I want to be able to control when students have access to a page, sequence, or module, and I'd like to be able to specify when it becomes unavailable again.

Sequence Requirements

A means must be provided to create a sequence of pages. Such pages should be either simple media objects (text, image, video, etc.), or a structured page.

Capability must be provided to support editing of sequencing including changing the order of existing elements; inserting new elements at the start, in between, and at the end; and deleting elements. Ideally, ordering should be done via drag and drop method such as the Fluid Reorderer component.

A means must be provided to include resources from a resource folder into a sequence. Should also be able to select multiple items and have them added in the same order as present in the resource folder. SAK-7892 - Getting issue details... STATUS

It should be possible to include a Sakai tool as a sequence item and refer to specific content managed by them. For example, an assignment, a topic in a disucssion thread, a quiz, an RSS feed, a wiki page, etc. SAK-7892 - Getting issue details... STATUS

At a minimum, the sequencer must support linear sequencing. Additionally, it might provides support for branching, remediation, and others.

A means should be provided to group sequences into modules.

Media Object Requirements

Sousa should provide an easy way to add new kinds of media object, ideally without recompiling the Sousa tools.

At a minimum, support must be provided for simple text, structured text, images, video, and audio.

A means should be provided to associated properties or parameters with media objects to specify things like height, width, borders, etc.

Media objects should be viewable by themselves.

Media objects should be editable and deleted.

Page Requirements

A means must be provided to create structured pages consisting of one or or media objects.

It must be easy to change the order of items on the page

There should be a choice of presenting a page in a Sakai iframe or in a new window.

Content should be sharable across courses.

Tracking and Grading

A check box should be provided when creating a sequence to create a grade book entry.

Each launch of a sequence of a page or sequence object should be recorded.

Progress through a sequence should be recorded.

Completion of a sequence should be recorded and graded if a grading entry is present in the site grade book.

Ideas, Suggestions, Feature Requests

Email Suggestion

We need a place to maintain shared content (an obvious choice would be a site not associated with any one course), and the following sorts of facilities:

  • something like a symbolic link, that would let a course import either individual items or whole resource folders/organizer pages, and get the current version even if it changes. It must be possible to put such links in the left margin or on organizer pages.
  • the ability to import portions of the left margin (actually, it might be better to have the ability to put it somewhere else, such as the right margin). To see what I'm looking for, take a look at http://fas-digiclass.rutgers.edu/page.jsp?dept=french The "reference" section on the right should show in all French courses.

Some thought needs to go into authorization. While a lot of the shared material is public, we need to assume that not all of it will be. The lowest level of authorization would be attaching a list of rosters to the shared sites. This could be done simply by making them course sites. However there are issue with this.

  1. The maintainers of these sites are not always authorized to see the students in all the rosters.
  2. Maintain a list of all individual sections using the shared content could become burdensome. You'd really like the ability to define one or most sites that can use the shared content, with the ability for course sites to use wildcards (so you can say any site associated with a course in a specific discipline).

SAK-7761

From SAK-7761 - Getting issue details... STATUS

The resources tool is cluttered because it has everything needed to create new resources and edit existing resources as well as giving hierarchical access to large resource collections. Lots of people want different views of resources. One common request is the ability to create a list of resources (and possibly other types of entities) related to a particular part of a course or subproject. If we make the resources tool more like that, we break the hierarchical view. Instead, we should make a new tool that is intended as a resource viewer. This tool would focus on making it easier for a site maintainer to create a simple list of resources and format it as they see fit. The list itself would be read-only.

Jim Eng's Use Case

A use case for this tool: An instructor wants to create an item in the "tool" menu (at the left side of the screen) labeled "Week 1" containing a list of resources relevant to the first week's lectures and readings for a course. The instructor adds a "ResourceViewer" tool to the site and names it "Week 1". The instructor then configures the tool. Because the instructor has maintainer permissions for the site, she sees a link labeled "Add" in the global menu for the tool. Clicking the "add" link brings up the resources attachment helper, allowing her to attach a link to any resource she has access to (in any site, if "see all sites" is enabled). It also allows her to create a new attachment. She can add multiple items if she chooses. The items do not have to be in the same folder in the resources tool. Clicking "finish" in the attachment helper returns the instructor to the ResourcesViewer. The item(s) she added are listed there. Next she can format the display. Maybe there's a "format" button in the tool's global menu. That allows her to pick what fields will be shown for each item in the list and maybe even relative font sizes. She can also define an order for the items in the list. The default order should be the order in which items were added to the list, but the maintainer has the ability to sort on any field and rearrange by moving items up or down in the list.

The default view the instructor sees is the same simple view the students see. It's only when she clicks an action in the tool's global menu that she sees additional controls.

Students see a simple flat list of resources (and maybe other types of entities such as discussion threads or assignments). They can click on items to access them. Clicking on a resource should access it through the access servlet. If we provide access to other entity types, we would want to launch them in the "viewer" for that entity type. For example, if there is a link to an assignment, clicking on the link for an assignment would take the student into the assignment tool.

The Re-Orderer Experiment

The first delivery of the Fluid project is the Reorderer component. This gadget allows lists of objects to be re-ordered by dragging and dropping them. This would substantially improve the usability of Sousa.

By treating this as a development experiment, the Fluid project benefits by providing detailed feedback on what works, what documentation needs improvement, etc.

Resource Tool Integration

Support has been added to RSF to allow a view to handle direct requests to the Entity Broker. This would allow content and page objects to be present in the Resources tool and allow the objects to be launched into their appropriate editor / player.

Add MIME types for Sousa sequences and page objects (sakai/sousa-seq and sakai/sousa-page).