Sakai CLE 2.8 release notes

 

Sakai Collaboration and Learning Environment (CLE) 2.8

 

Sakai CLE 2.8 release dates:

2.8.3 - 15 February 2013

2.8.2 - 10 June 2012

2.8.1 - 11 October 2011

2.8.0 - 18 April 2011

 

The Sakai Collaboration and Learning Environment (CLE) is a Java-based, service-oriented web application that provides a variety of capabilities supporting teaching and learning, portfolios, research, and ad-hoc project collaboration. The Sakai CLE is typically deployed using Apache Tomcat as its servlet container and scalability is achieved by running multiple instances of Tomcat in a clustered environment, each deploying a copy of the Sakai CLE. It integrates with a variety of external authentication services including CAS, Kerberos, LDAP, Shibboleth and WebAuth. A single database, usually MySQL or Oracle, provides a transactional store of information while file storage is typically delegated to NAS or SAN solutions. In most production settings, the Sakai CLE relies on a back-end student information system (SIS) to provide it with student and course information, which the Sakai CLE consults via provider APIs.

The Sakai CLE 2.8 release builds on previous releases by refining and stabilizing the 2.x feature set. It offers dozens of new features and improvements to key areas like accessibility, internationalization, performance, and security.

Icons are used throughout the release notes to highlight important points in the installation, configuration, build and deployment process. Below is a list of the icons you will encounter:

(tick) Hints (info) Useful Information (warning) Caution (minus) Warning (thumbs up) Good practice (thumbs down) Bad practice

The documentation is presented here for ongoing comment, correction, and clarification, so please use the "Add Comment" link at the bottom of any of these pages if you note errors, require further details or have tips to share.

What's new

 Click here to expand...

Highlights

Among the many enhancements included in the Sakai CLE 2.8 release are:

  • Configurable URL shortening service
  • Numerous mobile portal UI improvements
  • Collapsible portal navigation menu
  • reCAPTCHA support for logins
  • Enhanced user profile options
  • Support for IMS BasicLTI outcomes
  • Respondus question import handling
  • Optional CKEditor implementation
  • Six new webservices
  • Persistent event logging for Quartz Scheduler jobs
  • Improved IMS BasicLTI external integration capabilities
  • Improved integration with external user providers (eg LDAP)
  • Updated language packs (Chinese, Dutch, French, Spanish, Portuguese, Turkish and Vietnamese.)

For a complete listing of new features see the lists below.

Portal

Ticket

Project

Feature

SAK-19827 - Getting issue details... STATUS

portal

Adds portal icons for Etudes's Mneme, Melete and JForum tools.

SAK-19646 - Getting issue details... STATUS

portal

Leverages browser caching opportunities.

SAK-19156 - Getting issue details... STATUS

portal

Adds ability for tools to request the maximum tool area for display purposes now that navigation menu can be collapsed (portal.allow.auto.minimize=true).

SAK-19148 - Getting issue details... STATUS

portal

Logout timer setting (timeoutDialogEnabled) is now enabled by default.

SAK-19129 - Getting issue details... STATUS

portal

Eliminates Presence iframe and replaces with JQuery.Ajax calls.

SAK-19089 - Getting issue details... STATUS

portal

Adds ability to specify a URL (rather than a siteId) for the gateway page (gatewaySiteUrl=myurl).

SAK-19061 - Getting issue details... STATUS

portal

Adds link to PDA portal on gateway page.

SAK-19014 - Getting issue details... STATUS

portal

Includes tool css in background portal document so JSR-168 tools can be styled.

SAK-18687 - Getting issue details... STATUS

portal

Adds collapsible navigation menu (icons only). See also SAK-19193 - Getting issue details... STATUS .

SAK-18468 - Getting issue details... STATUS

skins

Add FLUID reordering support.

SAK-17160 - Getting issue details... STATUS

portal

Sub-sites in navigation menu are sectioned separately from a site's tool list and each sub-site is assigned an icon.

SAK-16926 - Getting issue details... STATUS

portal

The Kernel version can now be listed in the footer. See also KNL-546 - Getting issue details... STATUS , KNL-546 - Getting issue details... STATUS .

SAK-16484 - Getting issue details... STATUS

portal

Implements Javascript routine to more accurately poll status of user session.

SAK-15653 - Getting issue details... STATUS

portal

Render menu links to "hidden" tool pages in italics and with an opacity of 0.7.

SAK-12841 - Getting issue details... STATUS

portal

portal/xlogin page converted to a vm template.

SAK-2991 - Getting issue details... STATUS

portal

Cancel button added to (xlogin) login page.

Mobile/PDA Portal

Ticket

Project

Feature

SAK-20332 - Getting issue details... STATUS

portal

Added ability to hide synoptic tools.

SAK-20330 - Getting issue details... STATUS

portal

Added tool icons to help distinguish between site and tool lists.

SAK-20053 - Getting issue details... STATUS

portal

Adjust .css to distinguish between sites and tools in mobile portal.

SAK-19491 - Getting issue details... STATUS

portal

Mobile .css skins updated.

SAK-19275 - Getting issue details... STATUS

portal

Since 2.7.0 the standard portal has (SAK-15097) the ability to insert some markup on a site-by-site basis via a site property (sakai:htmlInclude). This has been ported to the PDA portal in such a way that the same site can (if needed) contain a different markup include as the standard portal.

SAK-19179 - Getting issue details... STATUS

portal

PDA changes for 2.8: breadcrumbing simplified; additional rendering capabilities added for devices that adhere to the following @media selector: "@media screen and (max-device-width: 480px)"; .css trim and ellipsis provided for site titles that go over the width of the viewport; css3 selectors used for compatible devices in order to differentiate items in the breadcrumb; <meta /> tag modified in pda.vm to make changes in orientation smoother (portrait/landscape); modified how links to child sites are displayed (passing control over to the css); moved strings from pda.vm template to bundle; and changed how links in the site menus are rendered (make entire block clickable) and styled in order to make them more in accordance to practice.

SAK-18800 - Getting issue details... STATUS

portal

Added "opt out" link in the /portal/pda footer in order to forward user to portal/site (i.e., "classic view").

SAK-18720 - Getting issue details... STATUS

portal

Auto-detect mobile devices and forward to /portal/pda; otherwise forward to portal/site (desktop/laptop access).

Tools

Ticket

Project

Feature

SAK-12489 - Getting issue details... STATUS

account

Added recaptcha support for new account signups.

SAK-8005 - Getting issue details... STATUS

announcements

Authors can now change display order of announcements.

SAK-18710 - Getting issue details... STATUS

announcements

Notification history added.

SAK-18764 - Getting issue details... STATUS

announcements

entitybroker support added.

SAK-19814 - Getting issue details... STATUS

announcements

Announcements tool is now registered as group-aware when starting PermissionHelper.

SAK-20074 - Getting issue details... STATUS

announcements

Accessibility: list navigator buttons provided with appropriate contextual text labels in order to render them meaningful to Screen-Readers. See also SAK-20073 - Getting issue details... STATUS .

SAK-18752 - Getting issue details... STATUS

assignments

Letter grades now customizable (assignment.letterGradeOptions).

SAK-19119 - Getting issue details... STATUS

assignments

Instructors now provided with a manifest of archives uploaded by students (*.zip only so far).

SAK-19816 - Getting issue details... STATUS

assignments

Assignments tool is now registered as group-aware when starting PermissionHelper.

SAK-18076 - Getting issue details... STATUS

assignments

Allows instructor to specify options for Assignment tool default page (e.g., show no assignment) but do search or other filters first.

BLTI-60 - Getting issue details... STATUS

basiclti

Now auto-registers events for use by sitestats.

BLTI-68 - Getting issue details... STATUS

basiclti

Adds ability to set grades in the Sakai CLE from an external tool using web services. Disabled by default (basiclti.outcomes.enabled=false).

BLTI-69 - Getting issue details... STATUS

basiclti

Permits multiple placements of basiclti in a given context (e.g., site).

BLTI-77 - Getting issue details... STATUS

basiclti

Adds ability to open a basiclti tool in a new window.

BLTI-80 - Getting issue details... STATUS

basiclti

Adds support for the ext_lms feature in IMS Basic LTI permitting basiclti to know which LMS it is dealing with so it can tune it's tool UI appropriately.

BLTI-81 - Getting issue details... STATUS

basiclti

Adds a checkbox that provides option to minimize the portal navigation menu after a launch occurs. See also BLTI-75 - Getting issue details... STATUS .

BLTI-85 - Getting issue details... STATUS

basiclti

Added support for basic outcomes and settings service. This change alters the outcomes service to reflect the draft of the basic (as compared to simple) outcomes service and adds a per-placement settings service. Disabled by default (basiclti.outcomes.enabled=false).

BLTI-88 - Getting issue details... STATUS

basiclti

Implemented the Context Memberships Service as described in the IMS GLC Basic Learning Tools Interoperability Extensions Recommended Practice. This allows an external tool (if granted proper permissions) to retrieve a course roster for the course that they were launched from.

BLTI-89 - Getting issue details... STATUS

basiclti

Added support for the IMS Basic LTI ext_resource_link_content extension. This allows the launch to specify a URL that contains resource content. Initially simply a field in the configuration dialog, future work will permit basiclti launches from a resource handler (e.g., the way to send the URL of the current resource that BLTI is being launched from), allowing the launching of a SCORM object with an external SCORM player or perhaps a QTI2 test engine and handing the player or test engine the actual content to be played.

BLTI-99 - Getting issue details... STATUS

basiclti

Added parameter ext_sakai_provider_eid so that an external consumer can pass an eid instead of a userid.

SAK-17523 - Getting issue details... STATUS

chat

Adds RESTful way of retrieving new chat messages for a channel.

SAK-19818 - Getting issue details... STATUS

content

Resources tool is now registered as group-aware when starting PermissionHelper.

SAK-12800 - Getting issue details... STATUS

email-archive

Site owners can choose to forward to site members or simply archive emails sent to the site email address.

SAK-18532 - Getting issue details... STATUS

email template service

Sender address can now be specified in a template.

SAK-17637 - Getting issue details... STATUS

email template service

Adds template loading/updating.

SAK-18589 - Getting issue details... STATUS

gradebook

Adds sorting for categories by name, average, weight. Category sorting also added to "roster" and "summary" pages.

SAK-17943 - Getting issue details... STATUS

gradebook

Adds edu-services scenarios for saving assignment with trailing whitespace to unit tests.

SAK-19510 - Getting issue details... STATUS

hybrid

Added hybrid-util dependency to login and provider projects in order to simplify adding the full hybrid project to Sakai 2.8.

SAK-20033 - Getting issue details... STATUS

memory

Added cache evict item functionality to Memory tool.

MSGCNTR-307 - Getting issue details... STATUS

msgcntr

Forum threads are now sortable.

MSGCNTR-309 - Getting issue details... STATUS

msgcntr

Added ability to set open/close dates for discussion boards,forums and topics.

MSGCNTR-310 - Getting issue details... STATUS

msgcntr

Added ability to preview message before sending.

MSGCNTR-319 - Getting issue details... STATUS

msgcntr

entitybroker support extended.

MSGCNTR-354 - Getting issue details... STATUS

msgcntr

Added the ability to configure the default email behavior for the "Watch" functionality in Forums (mc.notificationDefault).

MSGCNTR-355 - Getting issue details... STATUS

msgcntr

Option added to permit authors to save a message draft.

MSGCNTR-364 - Getting issue details... STATUS

msgcntr

Query findNumModeratedTopicsForSiteByUserByMembership rewritten in order to improve performance.

MSGCNTR-365 - Getting issue details... STATUS

msgcntr

Query findAllPendingMsgsByContextByMembership rewritten in order to improve performance.

MSGCNTR-371 - Getting issue details... STATUS

msgcntr

Synoptic queries permissionLevelId and permissionLevelName rewritten in order to improve performance.

SAK-18831 - Getting issue details... STATUS

osp

Adds configurable property that turn off tool categorizations in the navigation menu in the xsl Portal (xslPortal.displayToolCategories=false).

SAK-18559 - Getting issue details... STATUS

osp

Adds support for email notification preferences in Matrices and Wizards.

SAK-18013 - Getting issue details... STATUS

osp

Adds Gradebook2 integration support to OSP Matrix helper.

SAK-17564 - Getting issue details... STATUS

osp

Adds a new "Public Portfolios" tab.

POLL-92 - Getting issue details... STATUS

polls

Added import/export capabilities so that polls can be duplicated across sites, imported from other sites and exported as part of Site Archive.

POLL-121 - Getting issue details... STATUS

polls

Anonymous user can now access public polls via /direct. See also POLL-122 - Getting issue details... STATUS for authenticated user access to polls via /direct.

POLL-129 - Getting issue details... STATUS

polls

Now supports poll voting on multiple options through /direct.

SAK-18855 - Getting issue details... STATUS

polls

Adds option to allow public voting on individual polls.

SAK-19130 - Getting issue details... STATUS

presence

Presence is now turned off in My Workspace (display.users.present.myworkspace=false).

PRFL-13 - Getting issue details... STATUS

profile2

Adds private messaging.

PRFL-90 - Getting issue details... STATUS

profile2

A user's official institutional image can now be accessed and used as their profile image. Disabled by default. (profile2.official.image.enabled=false, profile2.official.image.source=url, profile2.official.image.attribute=jpegPhoto).

PRFL-134 - Getting issue details... STATUS

profile2

Adds an image gallery along with privacy settings. Users can select their profile image from the gallery.

PRFL-178 - Getting issue details... STATUS

profile2

Adds "kudos" ratings widget that provides scores based on profile completeness. Runs as a cron job using Job Scheduler. See also PRFL-336 - Getting issue details... STATUS .

PRFL-206 - Getting issue details... STATUS

profile2

Adds a business/company information panel to each profile.

SAK-18864 - Getting issue details... STATUS

quartz scheduler

The quartz scheduler event log has been replaced with a persistent, database-backed event log. The log combines Quartz-generated events and any logging the job developer chooses to include in the event log. This prevents the need to skim through Tomcat logs to find job execution errors or info statements and permits sys-admins to review job execution event logs across a cluster.

SAK-19178 - Getting issue details... STATUS

quartz scheduler

A default job has been added which will purge all but the last X days of events from the log (scheduler.loadjobs=init/true/false (e.g., on first start up (default), on restart, never). This purge job must be scheduled in order to control the size of the event log.

SAK-13696 - Getting issue details... STATUS

quartz scheduler

Update tool providing JobDataMap and trigger interfaces.

SAK-18802 - Getting issue details... STATUS

rwiki

Added Radeox <pre> macro.

SAK-5279 - Getting issue details... STATUS

rwiki

Authenticated users can now edit pages marked publicly editable.

SRCH-34 - Getting issue details... STATUS

rwiki

Optimize indexing batch size and frequency. Previously, the search indexing formula could result both in index rebuilds running slowly and running too frequently on idle nodes. The formulas where tweaked for better max batch sizes for large rebuilds (e.g., 1 million queued docs) and appropriate minimum indexing intervals (e.g., 30-60s when there are only a few pending docs, e.g., < 100).

SAK-19817 - Getting issue details... STATUS

schedule

Calendar tool is now registered as group-aware when starting PermissionHelper.

SAK-18997 - Getting issue details... STATUS

site info

Added the account validation tool in Site-manage-participant-helper. Activated via a property; default behavior = false (siteManage.validateNewUsers = true/false).

SAK-18978 - Getting issue details... STATUS

site info

Users can be added to sites with a status of inactive.

SAK-18653 - Getting issue details... STATUS

site info

Added a "Select all" checkbox to simplify the task of selecting all users.

SAK-18462 - Getting issue details... STATUS

site info

Option added that restricts the joiner role selection offered in Site Info / Manage Access only to roles which do NOT have site.upd permission. A new property siteinfo.prohibited_permission_for_joiner_role has been added for configuring a list of permissions that the joiner role should not possess. If not included the default is site.upd.

SAK-688 - Getting issue details... STATUS

site info

Worksite Setup UI for site access options improved.

SAM-663 - Getting issue details... STATUS

test and quizzes

Added ability to import questions from Respondus.

SAM-666 - Getting issue details... STATUS

test and quizzes

Added ability to allow instructors to select a feedback option that would show students their overall score only.

SAM-756 - Getting issue details... STATUS

test and quizzes

4000 character limit lifted on questions, short answers and feedback.

SAM-772 - Getting issue details... STATUS

test and quizzes

Added ability to allow instructors to enter a zero score in the gradebook for unsubmitted assessments.

SAM-801 - Getting issue details... STATUS

test and quizzes

Added ability to use FCKEditor for composing short answers.

SAM-862 - Getting issue details... STATUS

test and quizzes

Added ability to choose "average" score along with last score or highest score for "recorded score if multiple submissions."

SAM-863 - Getting issue details... STATUS

test and quizzes

Added view all submissions with average) to student view of submitted assignments.

SAM-869 - Getting issue details... STATUS

test and quizzes

Question pool with sub pools tree structure now accurately displayed.

SAM-921 - Getting issue details... STATUS

test and quizzes

Displaying Assessment templates/types is now a configurable option (samigo.showAssessmentTypes=true/false (default=true)).

SAM-942 - Getting issue details... STATUS

test and quizzes

Method added allowing QTI test imports via web services.

SAM-971 - Getting issue details... STATUS

test and quizzes

Improve linear access logic to ensure that test takers are returned to the last question encountered if test is interrupted.

SAK-10416 - Getting issue details... STATUS

user membership

Allows custom implementations of search on external user providers.

SAK-19369 - Getting issue details... STATUS

web content

Added Annotated Url (sakai.iframe.annotatedurl), another type of iframe tool developed at the University of Michigan. The tool has a link to a target URL that is configured as a tool property.

CKEditor

Ticket

Project

Feature

SAK-20296 - Getting issue details... STATUS

editor

Upgraded CKEditor to version 3.5.2.

SAK-17880 - Getting issue details... STATUS

editor

Adds CKEditor support.

Kernel

Ticket

Project

Feature

KNL-328 - Getting issue details... STATUS

kernel

Adopted a more secure format for storing passwords.

KNL-375 - Getting issue details... STATUS

kernel

Improved error messaging for RequestFilter servlet exceptions.

KNL-383 - Getting issue details... STATUS

kernel

Improved BaseContentResource NULL checking.

KNL-403 - Getting issue details... STATUS

kernel

Added check to ensure that if a user is added manually to a course site (e.g., non-provided) and the user subsequently appears in a provider group with the same role, then the user's site membership will be promoted to provided.

KNL-404 - Getting issue details... STATUS

kernel

BasicEmailService now issues warning in logs if send mail is attempted with no SMTP server defined (e.g., smtp@org.sakaiproject.email.api.EmailService).

KNL-413 - Getting issue details... STATUS

kernel

Added improved ContentHostingService unit tests with an emphasis on special characters and UTF8.

KNL-420 - Getting issue details... STATUS

kernel

BaseAuthzGroup now throws exception instead of failing silently if addMember is called without a supplied role.

KNL-428 - Getting issue details... STATUS

kernel

Added new ToolManager isVisible method to permit checking on whether a tool is visible to the current user in this site, depending on permissions required to view the tool.

KNL-435 - Getting issue details... STATUS

kernel

All Kernel static covers marked as deprecated.

KNL-447 - Getting issue details... STATUS

kernel

Added exception-handling support for dynamic tool localization.

KNL-467 - Getting issue details... STATUS

kernel

ContentHostingCompartor sorting on name is now case insensitive.

KNL-497 - Getting issue details... STATUS

kernel

Adds new UsageSessionService methods to check if a user is active, to retrieve a user's most recent active session or a list of user's most recent active sessions.

KNL-499 - Getting issue details... STATUS

kernel

Adds ability to turn off automatic "promotion" to provided user that was implemented in KNL-403 - Getting issue details... STATUS .

KNL-500 - Getting issue details... STATUS

kernel

Adds a new Event getEventTime method in order to return the time of an event.

KNL-541 - Getting issue details... STATUS

kernel

Adds generics to SecurityAdvisor.

KNL-542 - Getting issue details... STATUS

kernel

Improved SecurityAdvisor API to better handle push/pop stack processing.

KNL-563 - Getting issue details... STATUS

kernel

Added support for dynamic resource loader.

KNL-565 - Getting issue details... STATUS

kernel

Replace home-grown StringUtil.trimtoNull method with Apache commons-lang StringUtils.trimToNull.

KNL-570 - Getting issue details... STATUS

kernel

BasicEmailService mail.*.sendpartial can now be set to either true or false (default=true).

KNL-572 - Getting issue details... STATUS

kernel

Project site members with "access" role can now post messages to site by default.

KNL-580 - Getting issue details... STATUS

kernel

Utility method getZipManfest added to return a list of files in a *.zip archive together with each file's size.

KNL-585 - Getting issue details... STATUS

kernel

Tools are now permitted to register their own email notification preferences.

KNL-589 - Getting issue details... STATUS

kernel

Added automatic file encoding detection.

KNL-662 - Getting issue details... STATUS

kernel

Added new memory service evictExpiredMembers method to evict expired objects from in-memory caches.

KNL-667 - Getting issue details... STATUS

kernel

Added generics to ResourceLoader.

KNL-669 - Getting issue details... STATUS

kernel

Added user.login.container to the UsageSessionService in order to permit institutions to track container logins (Shibboleth, CAS, etc.) vs direct, guest logins.

KNL-671 - Getting issue details... STATUS

kernel

Added method to get User's locale.

SAK-10416</