Samigo Emails

Here's a few key emails from the Sakai Collab Discussion Group archive:

From Marc Brierley, Explaining what Assessment Types are

Date Oct 11, 2006 8:37 PM EDT
From Marc Brierley
Subject Re: Changing template type for assessment

I think there was some confusion about which Assessment Type (aka
templates) is being addressed. There is a 'Quiz' assessment type and
a 'Timed Test' assessment type. It is true that the Quiz type does
not have Timed Assessment turned on and probably should. One of our
language instructors here at Stanford has given us the same feedback.

We changed the name of Templates to 'Assessment Types' into SAMigo
starting with version 2.2 to help jump-start their usage and
understanding. We did this because we found that many people,
including those who deploy SAMigo, didn't understand what Assessment
Types were for or how to use them. Assessment Types are comprised of
a set of default values and sub-seclection of the assessment settings
for a particular kind of assessment. They do not contain pre-authored
content. Assessment types are to meant to standardize and simplify
the configuration of an assessment for instructors, not necessarily
by instructors. Assessment types are best configured by an
instructional designer or a savvy admin who pays close attention to
the needs of his/her constituency. All of the selections for these
settings are summarized here:

http://issues.sakaiproject.org/confluence/x/9T8

Given that we've only had these pre-defined types in for one version,
we are expecting that they will need to be tweaked for their most
general usage. However, we expect and hope that savvy institutions
will take the opportunity to configure Assessment Types to their
needs and make instructors' lives more simple. A language class quiz
will probably be different from a chemistry quiz and an institution
should feel free to construct their own tailored assessment types.

We will watch these OOTB Assessment Types, however, among the other
usability issues that we've heard about:

http://issues.sakaiproject.org/confluence/x/fGw

As to why instructors can't change the Assessment Type from which
their assessment was created...once an assessment gets created from a
type, those settings and defaults are a copy from the original. We
didn't want subsequent changes to Assessment Types to change already
existing assessments. I do see the problem this creates if an
assessment has already been created and additional functionality is
desired. I'm open to suggestions for how this problem might be solved.

Hope this helps,
-mARC

Lisa's summary of the state of question pool import in 2.1.x

Date Sep 20, 2006 1:49 PM EDT
From Lisa Wilson
Subject Question Pool Import for Sakai 2.1.x
Hello everyone;

I'd like to let you know that I'm working on question pool import code
for Sakai 2.1.x for implementation on our UC Davis instance. The v2.2
version was coded first, but needs QA and code review for corrections.
I'm not sure when it will be released to testing in collab, and we're on
2.1.x here, so I've only tested locally.

What UCDavis Question Pool import does:
Based on review of BlackBoard and Respondus xml import documents I've
received, the question pool import follows the same ASI format as the
current QTI v1.2 quiz import. This means that an assessment may be
imported as a quiz or as a question pool. It also means that an exported
quiz can be imported as a question pool. The advantage to faculty would
be that they can save existing quizzes into a pool without having to
copy questions in one at a time.
A limitation is that only single-section imports will work. All the
translated documents I have from other systems appear to be
single-section, so this may not be a migration issue.

There is no conversion code yet for BlackBoard or Respondus yet to my
knowledege. (I'm out of sync with current development progress as I'm
recovering from foot surgery. (smile) If someone has done this already,
please let me know!) I do have a local convertor written in ColdFusion
for metadata translation and anticipate using the same logic in Samigo.

I'd like to hear from members who are migrating content from other
systems, to get a better idea of what the priorities are for translation
(i.e., BlackBoard, WebCT, Respondus, etc.)

Also, could I get a heads up on who might be interested in Sakai v2.1.x
import question pool code once we're past the QA phase here?

As we move forward with import/export for Samigo, I'm looking forward to
continuing discussion with Steve Lay, Zach Thomas, Joshua Ryan, and
others regarding QTI v2.x and Common Cartridge, to improve my
understanding and to see migration with media content become a reality.
I hope to see you all in Atlanta this December!

Lisa

–
Lisa J. Wilson
Programmer, Sakai Development Team
IET Mediaworks, UC Davis

Update from Josh Holtzman on Content Management status

Date Aug 31, 2006 3:54 PM EDT
From Josh Holtzman <
Subject CM Integration w/ Sakai... adding convenience methods to CM

(This message is primarily for folks tracking the CM project, but it
might affect gradebook too, so I've cc'd the assessment group)

Although many of us have been dealing with things other than CM lately
(Stanford folks are on vacation, Berkeley folks have been temporarily
kicked out of our offices, Duffy is swamped with production issues,
etc), I thought it would be a good idea to send out another status
report on CM and let everybody know where we are, and what I think our
next steps should be.
*
Status report:*

The CM GroupProvider is in place, and is ready for use. Uncomment the
bean definition in
/cm-impl/hibernate-pack/src/webapp/WEB-INF/components.xml and you have a
CM-enabled Sakai, complete with role resolving at the enrollment
set/section, course offering, and course set (e.g. departmental admins)
levels. For institutions that don't have (reliable) data at any of
these levels, you can simply "unplug" the role resolving for that level
in components.xml so you don't take an unneeded performance hit.

Rudimentary cross listings are suported, so if a section is mapped to a
site, and the section is part of a cross-listed course offering, members
of the parent course offering and its equivalents are all members of the
site.

The group provider also provides for an easily configurable role mapping
to convert enterprise roles to Sakai roles. See the components.xml file
for details.

I'm currently writing integration tests (see /cm-impl/integration-test)
to ensure proper behavior of the sakai/CM integration. I'll be focusing
on these tests for another week or so, which should lead to more
complete and accurate site/group memberships for some of the more
complex course structures. Look for "Help!" messages from me throughout
the week as I come up against any ambiguities (smile)

What's next?

The GroupProvider impl was a good first client for CM, but it isn't
really a user-facing tool. Gradebook is an obvious choice for our next
client, so I've been thinking about what kinds of methods the gradebook
might like to call to get information from CM. Displaying enrollment
status is a big requirement, so methods like this might make sense to
start with:

public SiteEnrollments getSiteEnrollments(String siteContext, Set userEids);

where a SiteEnrollments object has a method like:
public Enrollment[] getEnrollments(String userEid);

[For implementation junkies, this is just a Map of
userEid->Enrollment[]... but there's no way we should expose this as a
Map and expect clients to parse it!]

This way, the gradebook can ask for the enrollments for all of its
members, and get an array of Enrollments back for each one. Some users
may have no enrollments (they are non-enrolled members of the site, or
they are auditing members fed into the site by CM, or something else),
while others might have several Enrollments (two sections are mapped to
the site, and the user is Enrolled in both).

Since this kind of method is specific to sakai and its notion of site
context, it doesn't really belong in the CourseManagementService
itself. I was thinking we should add a separate service... kind of like
the cm-mapping that we just jettisoned (but will bring back when we have
something to use from IMS). This way, we can hide the fact that the
authz service is currently doing the section->site/group mappings from
our clients, since this is expected to change at some point.

So when the gradebook wants to list its users, it would:
1) ask Sakai who in the site can be graded (some kind of authz query)
2) ask the new sakai/cm service for the enrollments for each of those
gradeable users (aka students)
3) display the users in a table, adding a new column for grading status
(pass / fail, etc) and maybe another for credits, etc.

Let me know what y'all think of this approach. In the meantime, I'll be
integration testing away...

Thanks,
Josh

–
Josh Holtzman
Educational Technology Services, UC Berkeley

Dave Ross talking about problems with FCKEditor overload, patch for simple text

Date Aug 12, 2006 8:12 PM EDT
From Dave Ross
Subject Authoring -> wsiwyg overload

We are starting to get into heavier use of sam these days - and are
running into trouble with the authoring UI and wsiwyg editors. A
typical question in one of our assessments has five possible answers
with feedback on each. That leaves us with 13 instances of FCKEditor
on the edit/new question page, which has been crashing browsers and
frustrating users left & right. I've experienced crashes in both
Firefox and IE, and I'm sure it's a lot worse on older hardware.

At first I tried limiting the toolbarset in FCK, which helped
considerably but didn't truly fix the problem. I kept saying to myself
"99 times out of 100 they don't NEED all those rich text editors -
usually the rich text/images/attachments are in the question's text
and nothing else".

So I decided to hack around today and see if I could make the rich
text editors "toggle-able" ala the gmail UI I'm using right now. I
didn't take it as far as being able to go back to "plaintext" mode
after the rich text editor loads, but I did add a simple regex so that
if any html was detected in an existing value, the rich text editor
would load with the page as normal.

Just in playing around, this is a vast improvement - I've scaled 13
FckEditors on the page down to 1 (I left the Question Text as always
rich content), and I would say that it results in a much smoother
authoring experience. The user is still able to add rich text to any
element that they used to be able to - they just have to "turn it on"
with a simple click beforehand.

So obviously this is just a proof-of-concept - I have non-localized
strings in the renderer and I can't figure out how to call the
setFrameHeight(...) javascript from within the renderer (in order to
make sakai re-measure the samigo frame when a user "turns on" rich
text editing for any textbox).

I've attached the patch - it's a change to the RichTextEditor jsf
renderer, tag definition + library, and the multipleChoice.jsp page.
I'd really appreciate some samigo-developer comments on this and would
love to assist in making sam authoring more user-friendly.

thanks,

Dave Ross
Albany Medical College

A worrying one from Jeremy Peterson

I have a student who submitted his mid-term exam and it failed to submit (sakai 2.1.2). He's response the instructor was, "I just completed my entire exam and when I clicked one the finish button it gave me a bug code and didn't process my exam." When I view his exam as the instructor, his name is linked to an exam, but it produces an error.

Is there any way to recover his exam?

Part of the bug report was:

org.sakaiproject.api.kernel.tool.ToolException: Index: 0, Size: 0
at org.sakaiproject.portal.charon.CharonPortal.forwardTool(CharonPortal.java:1233)
caused by: javax.servlet.ServletException: Index: 0, Size: 0
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:507)
at java.util.ArrayList.remove(ArrayList.java:392)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:271)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)

Jeremy

Jeremy Peterson, MACS
Automation Systems Administrator
Education Technology Services
Moody Bible Institute
820 N. LaSalle Drive
Chicago, IL, 60610