This is the plan that some of us came up with just near the end of the 06 retreat. This plan requires reimplementing some of the functionaly that Stephen has already finished in the Micro Portal.
This plan is intended to be readable at a high level and provide enough details so a set of concrete tasks can be distilled.
Terms
SDS - sail data services, a java servlet already partially written that provides sail services to portals. Only wise has used it so far.
WISE - the php web application
General Design
- WISE will be the portal that teachers and students go to.
- All backend sail functionaly will be implemented in SDS.
Scenario Links
Register Sail Curnit through Wise
New Wise Run
Launch Learner Runtime
Authoring Content Management
Usage Scenario: Adding a Sail project to WISE
Register Sail Curnit through Wise
- The sail project, curnit, is stored on a webserver
- A web user interface is used to add the curnit's URL to SDS
- A WISE admin runs a sail importer task in WISE
- This task gets a list of curnits from the SDS
- Lets the admin select which curnits should be available as WISE Projects
- Lets the admin give these curnits WISE Project names
- WISE only stores the UUID of the curnit (perhaps it should also store an id for the particular SDS)
- WISE admin selects the new curnit and gives it a WISE Project name
Missing details
- How is the curnit stored on a webserver
- What system provides the web user interface for adding the curnit's URL to SDS
Solutions
- A single web application can handle both the missing details on a single streamlined page. To provide a consitent feel for users this web application should be integrated into WISE, or at least appear to be integrated into WISE.
Offering Management
Usage Scenario: Teacher creates a run of a sail project in WISE
New Wise Run
- Teacher creates a run as normal in WISE, by folllowing the wizard in the teachers PET
- Behind the scenes WISE tells SDS to make a new Offering of the Curnit associated with the WISE Project
- WISE does this by sending the curnits UUID to SDS. SDS responds with an Offering UUID
- WISE saves this Offering UUID in the Run data structure. This id is used when a student chooses
to open a project.
User/Group Management
Design
- WISE stores a map of WISE user ids to sail user ids.
- This is done on demand. When user is a member of a WISE group which starts a project, WISE checks if that user has a sail user id. If not it asks SDS to create one.
- WISE stores a map of WISE group ids to sail workgroup agent ids.
- Currently, when a student enters a project in wise they are asked to select the members of their group which will be working on that project together.
- New sail workgroup agent ids are created on demand. When a group enters a sail project in WISE, WISE checks if that group has a sail workgroup agent id. If not it asks SDS to create one.
- When WISE requests the jnlp link from the SDS it sends the list of sail user ids, and the sail workgroup agent id. SDS then updates the group membership if needed.