Creating thousands of course sites each semester can be a daunting task. Add in the fact that individuals and departments have their own unique conventions and requirements. The workload can really pile up at the beginning of the semester.
This presentation will overview course site and roster creation and how UF has automated most of this process. This includes the ability to dynamically create course sites from pre-configured template sites. The advantages and disadvantages of different course creation strategies will be highlighted. A technical overview will be given, including specific Java Web Services used to achieve automation. This session will benefit universities who are developing a strategy for creating course sites or are interested in improving their current course creation process. The University of Florida is currently using Sakai CLE 2.8.
1. Proposal #160:
Sakai Course Site Creation
and Automation
Date: June 13, 2012
Time: 3:45– 4:45PM
Location: Tower 1402
Presenter: Carl Perry
2. Preview
Brief Introduction
Carl Perry & Sakai @ UF
Course Creation & Strategies
Benefits and Disadvantages
Automation
Verification
Java Web Services
*Developer contributions from:
• Mike Stoufer
• Saee Bhavani Subramanian
3. Carl Perry
University of Florida
Learning Support Services ( https://lss.at.ufl.edu )
Two years
B.S. Comp Sci @ UF
*M.S. Info Sys @ UF
Duties
Sakai Administrator (Support)
High level testing on Sakai
Web development and programming
Not a Sakai developer & not associated with the
Registrar in any way
4. Sakai @ UF
Branded as e-Learning
Adoption
Spring 2010: Config and testing (v2.6)
Summer 2010: Pilot & Blackboard migration
Upgrades
Spring 2012
Fall ‘11 v2.7
Sum ’12 v2.8 Sections: 4,487
v2.9 / OAE ? Courses: 1,869
Students: 40,371
5. Course Creation in the Beginning
1. User submits course request form
1. Minimal validation
2. Generates a ticket
3. We verify the user is an instructor
4. We verify the course is valid, and the section matches
1. We mark the roster as verified to be created in Sakai
5. In Sakai, duplicate a course shell, copy and paste the title from the ticket
6. We search for the newly created site in Worksite Setup
7. We insert the instructor into the course site ( add roster )
8. We close the ticket and send the user an email from the ticketing system
2 & 8. Ticketing System 4.1 Roster App
3. Instructor App 5. Sakai (duplicate)
4. Registrar App 6. Sakai (search)
6. Creation Strategies
1. “On request”
Triggered by users
2. “Create all”
Triggered by admin
Registrar Database
7. Create All
Start
Query
Registrar
Create
Wait for course
next shells
term’s
• Insert
data Instructor
• Or Roster
Instructors
teach
course
8. “Create All”
Pros Cons
Minimize workload* Unused shells
No need for verification Statistics
Uniform creation date Limited time for course setup
- Same site template -Re-import
Push departments to update Multiple Sections
the Registrar
Push instructors to use Sakai Instructor Changes
more*
9. “On Request” Creation Steps
Verify
User Request Verify User
Section
Copy Course
Shell Insert
Instructor
Send Email
(Site Title)
13. On Request
Pros Cons
Customization Workload
• Multi-section • Form Validation
• Combined Courses • Verify User
• Requesting User • Verify Course/Section
• Early course site requests
Statistics Managing forms
Inform students if their section Managing middleware
is being taught in Sakai database
Interact more with Faculty Maintain admin application
Offload work from developers
15. “On Request”: Customization
Why customization is necessary at UF?
User Customization
• Forensics & Business College
• Facilitator requests all courses and adds rosters
• Nursing, Engineering EDGE, & Pharmacy
• Multiple Facilitators, Designers, Observers
• TA’s that are the “true” Sakai instructors
• Secretaries & Instructional Designers
Course site customization
• 1 to 20+ sections in a single course shell
• Graduate/Undergraduate combined course shells
• Requests far in advance
• Create course shell immediately
• Hold roster and verify when available
16. Automation: Verification
User Request
Verify Verify
Instructor Section
1. JQuery Validation
1. Regex Form Elements
2. Shibboleth Authentication & LDAP
1. Verify user’s affiliation
3. Middleware DB
1. Section already requested
4. Read access to the Registrar DB
1. Verify Section Rosters
2. Verify Instructor
17. Automation: Sakai Web Services
Copy Course
Shell Insert
(Site Title)
Instructor
1. Sakai Web Services
1. Allow services to be written that expose any
part of the Sakai API.
2. Script with Java, Perl, PHP, Python, etc
How to use Sakai Web Services?
• https://confluence.sakaiproject.org/display/WEBSVCS/How+to+use
+the+Sakai+Web+Services
18. Automation: Sakai Web Services
Advantages
• Customizable Site ID
f4c1699d-1119-4eef-b5db-c0b1ff1a02ef
UFL-ABC1234-4143-12012 (unique)
• Duplicate the tool list from a specified
course site
• Define fields such as site title, description
and short description, published
• Add participants to the course
Define their role
• Best of all: No more manual creation
• Automatically runs
20. Automation: Sakai Web Services
Course Creation: SakaiScript.jws
• Make a copy of a site
• copySite( .., String siteidtocopy, String
newsiteid, String title, String description, String
shortdesc, String iconurl, String infourl, boolean
joinable, String joinerrole, boolean published,
boolean publicview, String skin, String type)
• Add Instructor to Site
• addMemberToSiteWithRole(…, String siteid,
String eid, String roleid)
• eid: Username
• Remove Administrator From Site
• removeMemberFromSite(…, String siteid, String
eid)
21. Additional Automation
• Departmental Template Sites
• copySite( … String siteidtocopy, …)
• Home content HTML stored in DB
• Departmental Facilitators & Designers
• addMemberToSiteWithRole(…String siteid, String
eid, String roleid)
• Email Automation
• PHP Mail
22. Shibboleth “On Request” Flow
Middleware DB
HTML Form SOAP Sakai
Perl
Cron Roster
Course
Users
PHP Mail
Registrar DB
23. Future Enhancements/Tools
Enhancements to Request Form
– Predictive text dropdown (course field)
– Preview of Instructor sections (Registrar DB)
Student Tool: “Which courses are available in
Sakai?”
– Compare middleware DB with Registrar DB
Compute More Statistics
Optionally add Roster(s) to course site*
24. Questions?
• How about other institutions?
• Jasig Wiki
• Review Materials, request for additional
info, and contact exchange
• https://wiki.jasig.org/display/JCON/2012-06-
13+Sakai+Course+Site+Creation+and+Autom
ation
Thank You!