Course Batching Strategy
Courses (skeleton sites) are to be created either on an individual basis (on demand), or in a batch based on termcode. The batching feature should create a minimal skeleton of a site in order for our UC Davis providers to be activated. Providers being activated allows us to add rosters dynamically, and assign roles to users who log in.
Documentation
Requirements
- Create course sites in SmartSite using external Banner Data
- Course sites should be created within a certain time frame (e.g. 3 weeks before term starts, etc.)
- Course sites created should not overwrite existing course sites that had been previously created manually
- Add a certain subset of pages and respective tools to those course sites created, as specified by management
- Enable the ability for rosters to be dynamically generated from the course site (e.g. allow CourseManagementProvider to find members and fill in the rosters dynamically)
- Allow any number of courses sites to be created "on-demand". These are "white list" courses, and would need to be skipped by any future batching mechanisms.
- Allow any number of course sites to be excluded from being batched. This is a "black list" of courses.
- Allow for any number of existing course sites to be updated with a "providerId", so that rosters can be dynamic. This functionality essentially changes the manually created site to act as a provided one to allow members to be updated dynamically.
Functional Specifications
The batching mechanism is a prerequisite for providers to be activated, only because the provider id can then be set and "read" by providers.
Batching is to be done via quartz, by setting a quartz job impl for a given time frame using chron job. Quartz allows us to trigger a job as an administrative user, and can be re-run several times over.
Overview of process and implementation
Batching Mechanism
Chron jobs based on Quartz, using the sakai scheduler tool, is the strategy for batch loading course sites. This mechanism allows sakai administrators to run the course batch creation script at any time interval, and update or create sites without a major impact on the users. Using the scheduler process reduces SmartSite downtime.
SVN Revision Numbers
- r752-767 from sakai-core-2-1-x-contenthosting, patched to sakai-core-2-1-x-scottdev (r797) allows configuration of a user who runs the batching of courses (instead of admin)
- r768-779 from sakai-core-2-1-x-contenthosting, patched to sakai-core-2-1-x-scottdev (r798), allows configuration to dynamically load a list of crns as a "white list"
- r780-787 from sakai-core-2-1-x-contenthosting, patched to sakai-core-2-1-x-scottdev (r799-811), configures sites to have a list of tools based on the default set defined by SmartSite project/program management (e.g. Kirk)
--added Jon's patch of the web content tool that links to support information for SmartSite. (r800-811 sakai-core-2-1-x-scottdev)
--added message center (r800-802 sakai-core-2-1-x-scottdev)
Source Code
- Main Source: https://mware.ucdavis.edu/svn/ucdsakai/branches/sakai-core-2-1-x/
- Scott's Branch maintained with batching mods: https://mware.ucdavis.edu/svn/ucdsakai/branches/sakai-core-2-1-x-contenthosting, which became https://mware.ucdavis.edu/svn/ucdsakai/branches/sakai-core-2-1-x-scottdev
Default Tool/Pages Set, and Ordering
The default pages and tools that are given to course sites during the batch process is the following, which matches the Communications documentation in Confluence at: https://confluence.ucdavis.edu:8443/confluence/display/UCDSAKAI/Class+and+Project+Site+Requests
Pages and Ordering
- Home
- Syllabus
- Schedule
- Announcements
- Resources
- Assignments
- Tests & Quizzes
- Gradebook
- Drop Box
- Chat Room
- Email Archive
- Site Info
- Wiki
-Support & Training- - Message Center
- Modules
- Help
Tool Set
By default, the tools given on each page is the page tool (e.g. Resources has the resource tool) and a default one column layout.
The only situation this is not the case, is the Home Page. The Home Page should have a 2 column layout, with:
Web Content (left hand column, only tool)
Chat (right hand column, top tool)
Announcements (right hand column, bottom tool)