...
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.
...
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)
...
Problem
...
TERMABBREVIATION
...
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
...
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; } {/code} |