...
Current
...
Status
...
and
...
Problem
...
Courses
...
are
...
created
...
via
...
an
...
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.
...
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
...
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)
...
3.
...
creates
...
the
...
site
...
so
...
that
...
providers
...
can
...
"kick
...
in"
...
and
...
create
...
rosters,
...
roles
...
dynamically
...
What
...
should
...
happen
...