Current Status and Problem
Courses are created manually via an internal sakai account (sitemaker). This account has maintain access, but not administrative access. Due to these access issues, the sitemaker account has a limitation in that it can only create sites via the Worksite setup tool. The worksite setup tool pulls from sakai.properties values for its data (and other configuration settings such as sitesetup.xml), which are not synchronized with Banner external data. This results in limited ability to select and/or data enter appropriate terms, courses, etc.
How one is able to create course sites in Sakai
...
1. creates course site "skeleton" with the following attributes:
i. creates site id with a pattern of TERMCD and CRN. An example is 20061012345
ii. creates a site title (tab) with the pattern (this is a MAJOR difference from the manual process)
iia. SUBJ COURSENUMBER SECTION TERMABBREVIATION TERMYEAR (e.g. BIS 001A 001 SSS WQ06)
ProblemTERMABBREVIATION is given below as the associated abbreviations for the terms. This is an internal mechanism to Sakai as a lookup mechanism.
Here is the logic for TERMABBREVIATION resolution, described in code:
if (TermIdentifier.equalsIgnoreCase("01")) return "WQ";
else if (TermIdentifier.equalsIgnoreCase("02")) return "SSEM";
else if (TermIdentifier.equalsIgnoreCase("03")) return "SQ";
else if (TermIdentifier.equalsIgnoreCase("04")) return "ES";
else if (TermIdentifier.equalsIgnoreCase("05")) return "SS1";
else if (TermIdentifier.equalsIgnoreCase("06")) return "SSS";
else if (TermIdentifier.equalsIgnoreCase("07")) return "SS2";
else if (TermIdentifier.equalsIgnoreCase("08")) return "SUQ";
else if (TermIdentifier.equalsIgnoreCase("09")) return "FSEM";
else if (TermIdentifier.equalsIgnoreCase("10")) return "FQ";
else return "ALT";
iii. adds site information also (e.g. description, long description, etc)
2. adds tools and pages to the site (from a sakai.properties configuration), see example set
3. creates the site so that providers can "kick in" and create rosters, roles dynamically
...
2. We should change the following properties in sakai.properties to reflect our external data. Note, that this synchronization is enabled in Sakai 2.2 via the site manage functionality.
Here is an example of some of the properties we should change.
**course management information (term)
termterm.count=17
termterm.1=FALL
termterm.2=WINTER
termterm.3=SPRING
termterm.4=SPRING_SUMMER
termterm.5=SUMMER
termterm.6=FALL
termterm.7=WINTER
termterm.8=SPRING
termterm.9=SPRING_SUMMER
termterm.10=SUMMER
termterm.11=FALL
termterm.12=WINTER
termterm.13=SPRING
termterm.14=SPRING_SUMMER
termterm.15=SUMMER
termterm.16=FALL
termterm.17=WINTER
#course **course management information (year)
termyear.count=17
termyear.1=2003
termyear.2=2004
termyear.3=2004
termyear.4=2004
termyear.5=2004
termyear.6=2004
termyear.7=2005
termyear.8=2005
termyear.9=2005
termyear.10=2005
termyear.11=2005
termyear.12=2006
termyear.13=2006
termyear.14=2006
termyear.15=2006
termyear.16=2006
termyear.17=2007
#course **course management information (term abbrev)
termlistabbr.count=17
termlistabbr.1=F03
termlistabbr.2=W04
termlistabbr.3=Sp04
termlistabbr.4=SpSu04
termlistabbr.5=Su04
termlistabbr.6=F04
termlistabbr.7=W05
termlistabbr.8=Sp05
termlistabbr.9=SpSu05
termlistabbr.10=Su05
termlistabbr.11=F05
termlistabbr.12=W06
termlistabbr.13=Sp06
termlistabbr.14=SpSu06
termlistabbr.15=Su06
termlistabbr.16=F06
termlistabbr.17=W07
#course **course management information (current term?)
termiscurrent.count=17
termiscurrent.1=false
termiscurrent.2=false
termiscurrent.3=false
termiscurrent.4=false
termiscurrent.5=false
termiscurrent.6=false
termiscurrent.7=false
termiscurrent.8=false
termiscurrent.9=false
termiscurrent.10=false
termiscurrent.11=false
termiscurrent.12=true
termiscurrent.13=false
termiscurrent.14=false
termiscurrent.15=false
termiscurrent.16=false
termiscurrent.17=false
#course **course management information (start and end of terms)
termstarttime.count=17
termstarttime.1=20030901000000000
termstarttime.2=20040101000000000
termstarttime.3=20040501000000000
termstarttime.4=20040515000000000
termstarttime.5=20040801000000000
termstarttime.6=20040901000000000
termstarttime.7=20050101000000000
termstarttime.8=20050501000000000
termstarttime.9=20050515000000000
termstarttime.10=20050801000000000
termstarttime.11=20050901000000000
termstarttime.12=20060101000000000
termstarttime.13=20060501000000000
termstarttime.14=20060515000000000
termstarttime.15=20060801000000000
termstarttime.16=20060901000000000
termstarttime.17=20070101000000000
...
3. Additionally, we should modify the default length of the course, subject , and section text fields in the worksite setup UI so that we can have more flexibility. This is now done via the CourseManagementProvider impl of the getCourseIdRequiredFieldSizes():
Code Block |
---|
public List getCourseIdRequiredFieldsSizes()
{ List rv = new Vector(); rv.add(new Integer(8)); rv.add(new Integer(3)); rv.add(new Integer(3)); return rv; } |