Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

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

Currently, there are two mechanisms for creating course sites in Sakai. These are:
1. Sites tool: for admins, allows complete control of creating site (including siteid). This method only allows users to create sites, but the respective tools and pages are not included.
2. Worksite Setup tool: for maintainers, allows users to create sites of certain types. These types can be controlled via the sitesetup.xml configuration and other means (e.g. realms). By creating sites in this manner, the user is prompted to select their given term, and define what course number to give the site. The user has no control over the site id, as it is automatically generated using this mechanism.

*Note, using both the above methods *does not set a provider id for the site. The provider id allows the providers to detect that they need to "look up" information for this site.

Current Manual Course Creation Strategy

Courses are created as a type "course". Here are some "brief" steps.
1. When creating the course site, there is a dropdown for the term. The user selects this term, which currently is controlled by the sakai.properties configuration file in the tomcat instance.
Problem: this data is not synchronized with external Banner data, so only one term may appear that may be applicable (e.g. dropdown says Summer 06, when really it should say Summer Session II).
2. User then is prompted for how the roster should be established. The user is then asked to select something like " 2005,FALL,SMPL,001,001"

...

or

...

"Choose

...

user

...

roster

...

not

...

listed

...

from

...

above".

...

The

...

user

...

selects

...

the

...

roster

...

not

...

listed

...

from

...

above.

...


3.

...

User

...

is

...

asked

...

to

...

fill

...

in

...

(textbox)

...

the

...

"Subject","Course",

...

and

...

"Section"

...

for

...

this

...

course

...

site.

...


Problem

...

This

...

is

...

ad-hoc,

...

and

...

user's

...

have

...

limited

...

space

...

to

...

add

...

the

...

course

...

information.

...

Again,

...

this

...

is

...

entirely

...

controlled

...

by

...

parameters

...

set

...

in

...

the

...

sakai.properties

...

file.

...


4.

...

The

...

user

...

is

...

asked

...

to

...

add

...

more

...

rosters,

...

and

...

authorization

...

person's

...

name

...

if

...

necessary.

...

Usually

...

rosters

...

are

...

not

...

added,

...

and

...

authorizer's

...

name

...

is

...

something

...

like

...

kdalex@ucdavis.edu.

...


5.

...

From

...

here,

...

the

...

course

...

site

...

is

...

created

...

with

...

a

...

default

...

tool

...

set

...

the

...

user

...

selects

...

from.

...


6.

...

After

...

site

...

is

...

created,

...

rosters

...

are

...

added

...

to

...

it

...

(via

...

MyUCDavis,etc)

...


Problem

...

Rosters

...

are

...

still

...

not

...

dynamic,

...

as

...

providers

...

have

...

not

...

been

...

compeletely

...

enabled
7. End result: Tab has something like BIS 01A 001 Su06 because of the limited characters, and abbreviations of terms pulled from the sakai.properties information.
Problem Sites cannot be reconciled easily, and content cannot be migrated easily in the future unless changes are made to more closely resemble our batching mechanism.

Current Batching Strategy

The batching mechanism is in the ucd-enterprise-data

...

module

...

in

...

UC

...

Davis'

...

svn

...

repository,

...

and

...

is

...

implemented

...

via

...

quartz.

...

Batching

...

has

...

yet

...

to

...

be

...

QA

...

tested,

...

but

...

essentially

...

goes

...

"hand-in-hand"

...

with

...

the

...

providers

...

because

...

the

...

one

...

thing

...

that

...

the

...

batching

...

process

...

handles

...

is

...

assigning

...

a

...

"provider

...

id"

...

for

...

course

...

sites.

...

In

...

relation

...

to

...

the

...

manual

...

course

...

site

...

creation,

...

the

...

batching

...

mechanism

...

introduces

...

some

...

different

...

functionality.

...

Currently

...

each

...

CRN

...

is

...

its

...

own

...

site

...

in

...

Sakai,

...

and

...

only

...

CRNs

...

with

...

rosters

...

are

...

created

...

at

...

batch

...

time.

...

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

What should happen

1. We should modify our existing course site titles to reflect those of the batching process, so that there is minimal confusion between an Su06 site (intended on being Summer Session I), and say a Su06 site (intended on being Special Summer Session).

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 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 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 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 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

termendtime.count=17
termendtime.1=20031201000000000
termendtime.2=20040501000000000
termendtime.3=20040801000000000
termendtime.4=20040801000000000
termendtime.5=20040901000000000
termendtime.6=20041201000000000
termendtime.7=20050501000000000
termendtime.8=20050801000000000
termendtime.9=20050801000000000
termendtime.10=20050901000000000
termendtime.11=20051201000000000
termendtime.12=20060501000000000
termendtime.13=20060801000000000
termendtime.14=20060801000000000
termendtime.15=20060901000000000
termendtime.16=20061201000000000
termendtime.17=20070501000000000

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; }