Sakai 2.9 release notes new properties and permissions

 

New Feature

 Ability to host uploaded content on a separate domain

Ability to host uploaded content on a separate domain
Below are the properties you'd want to set to enable this functionality:
# turns on the functionality
#content.separateDomains=true
# the FQDN of the Resources Domain in your environment.
#content.chs.serverName=files.sakaiapp.org
# the full schema and domain name for constructing URLs in your environment
#content.chs.serverUrl=http://files.sakaiapp.org
As an example, Indiana University has this setup:
8 "normal" app server nodes serving OLTP, under https://oncourse.iu.edu
3 "resource" app server nodes serving only file content, under https://resources.oncourse.iu.edu
So, our settings are these:
content.chs.serverName=resources.oncourse.iu.edu
content.chs.serverUrl=https://resources.oncourse.iu.edu
The below settings are what IU runs in production (and are the defaults), but you are welcome to change as you feel necessary.
# These are the configured defaults, so no reason to override unless you intend to change them
#content.login.urlprefixes.count = 4
#content.login.urlprefixes.1 = /access/login
#content.login.urlprefixes.2 = /sakai-login-tool
#content.login.urlprefixes.3 = /access/require
#content.login.urlprefixes.4 = /access/accept
# These are the configured defaults, so no reason to override unless you intend to change them
#content.chs.urlprefixes.count = 2
#content.chs.urlprefixes.1 = /access/
#content.chs.urlprefixes.2 = /web/
# Exceptions to the content.chs.urlprefixes patterns
# These are the configured defaults, so no reason to override unless you intend to change them
#content.chsexception.urlprefixes.count = 3
#content.chsexception.urlprefixes.1 = /access/calendar/
#content.chsexception.urlprefixes.2 = /access/citation/export_ris_sel/
#content.chsexception.urlprefixes.3 = /access/citation/export_ris_all/

1.0 Property additions/changes

NOTE: The new Neoportal has a number of property additions which are listed at Sakai 2.9 portal changes

Release

Tool/Service

Property

Default

Ticket

Change

2.9.2Portalportal.showSubsitesAsFlyoutfalse SAK-22703 - Getting issue details... STATUS # The flyout subsites menu is off by default. Grouping the subsites into a flyout menu can be very 
# useful if you have a wide and shallow site hierarchy. To turn it on, set the following property to true. 
# portal.showSubsitesAsFlyout=false
2.9.2Kernelsession.max.per.user0 (representing unlimited sessions) KNL-1035 - Getting issue details... STATUS # Limits the maximum number of session on a per user basis 
# If a user exceeds this number of sessions then the oldest ones will be expired 
# when a new one is established until the total is at the max again 
# Default: 0 (unlimited number of sessions per user) 
#session.max.per.user=100
2.9.2Lessons/Securitylessonbuilder.filterhtml (NOTE: this has not yet been updated in default.sakai.properties.)true SAK-23523 - Getting issue details... STATUS # Should instructor content be filtered for dangerous html? false is filtering off. true is filtering on.
# If antisamy is enabled, filtering will be done with level low 
# If antisamy is enabled, explicit filtering levels can also be used: default, none, low, high 
# May be overridden for one instance of Lessons using an instance property of filterhtml
# Default=true; 
# THIS IS CHANGE FROM RELEASES *BEFORE* tag Sakai 2.9.2, which default to false
# lessonbuilder.filterhtml=false
2.9.2Securitycontent.cleaner.use.legacy.htmlfalse KNL-1015 - Getting issue details... STATUS

# Force the use of the legacy html content processor (used in versions before and including 2.9),
# if this is not overridden then the antisamy html cleaner will be used
# Default: false (use AntiSamy)
#content.cleaner.use.legacy.html=true

2.9.2Securitycontent.cleaner.default.low.securityfalse

KNL-1015 - Getting issue details... STATUS

KNL-1029 - Getting issue details... STATUS

# Force the user of a lower security profile for content processing and scanning,
# if this is not overridden then high security settings are used.
# The standard high and low files are located in "kernel/sakai-kernel-impl/src/main/resources/antisamy/"
# Override the standard files by placing your own files in:
# ${sakai.home}/antisamy/high-security-policy.xml
# ${sakai.home}/antisamy/low-security-policy.xml
# NOTE: only works if AntiSamy is enabled (see content.cleaner.use.legacy.html)
# Default: false (use high security - no unsafe embeds or objects)
#content.cleaner.default.low.security=true

 

2.9.1Search

searchServer@org.sakaiproject.search.api.SearchService

true

SAK-23166 - Getting issue details... STATUS

SRCH-96 - Getting issue details... STATUS

Controls access to the Admin page within search.
This should only be activated on the actual search server node and all other nodes should have this turned off to restrict access.

2.9.0Profile2profile2.profile.change.email.enabledfalse PRFL-692 - Getting issue details... STATUS Email notification to a specific user whenever someone changes their profile.
2.9.0Profile2profile2.profile.change.email.eidadmin PRFL-692 - Getting issue details... STATUS  
2.9.0Announcementssakai.announcement.reordertrue SAK-8005 - Getting issue details... STATUS 994 Note that a tool property also needs to be set enableReorder=true (the default is false)
2.9.0AnnouncementsenableReorderfalse SAK-8005 - Getting issue details... STATUS see row above
2.9.0Contentcontent.zip.enabledfalse KNL-273 - Getting issue details... STATUS 995
2.9.0Contentcontent.zip.expand.maxfiles1000 KNL-273 - Getting issue details... STATUS  
2.9.0Contentcontent.zip.expand.enabledfalse KNL-273 - Getting issue details... STATUS  
2.9.0Contentcontent.zip.compress.enabledfalse KNL-273 - Getting issue details... STATUS  
2.9.0Assignmentsassignments.instructor.submit.for.studentfalse SAK-7475 - Getting issue details... STATUS

Allows an instructor or any user with assignments management permissions to submit the assignment on behalf of a student who has no submission yet (via the View Assignment list by student)


2.9.0

Configuration

config.dereference.on.load.initial

 

true

KNL-924 - Getting issue details... STATUS

# ######################################################################## 
# CONFIGURATION 
# ######################################################################## 

... 

# Control the dereferencing of configuration values on initial load 
# (values are always dereferenced but this affects whether they are done on config load or not) 
# Dereferencing values means that all values like "${property.name}" are replaced 
# with the value from the config item of that name (unmatched ones are left as is) 
# Default: true (dereference all values loaded from the config properties files) 
#config.dereference.on.load.initial=false 
# Default: false (do not dereference all values including those loaded from other sources - e.g. database) 
#config.dereference.on.load.all=true

2.9.0Configurationconfig.dereference.on.load.allfalse KNL-924 - Getting issue details... STATUS Same as above
2.9.0Assignments/Turnitinturnitin.repository.setting.value1 SAK-21059 - Getting issue details... STATUS  Default value for "Submit papers to the following repository"
2.9.0Assignments/Turnitinturnitin.repository.setting
  
  SAK-21059 - Getting issue details... STATUS

Example:

turnitin.repository.setting.count=2
   turnitin.repository.setting.1=0
   turnitin.repository.setting.2=1

2.9.0Assignments/Turnitinturnitin.report_gen_speed.setting.value  SAK-21059 - Getting issue details... STATUS
   Default value for "Generate Originality Reports"
   ex.
   turnitin.report_gen_speed.setting.count=1
   turnitin.report_gen_speed.setting.1=2
2.9.0Assignment/Turnitin
turnitin.option.s_paper_check

true SAK-21059 - Getting issue details... STATUS  Option appears in GUI to check paper against Turnitin.
2.9.0Assignment/Turnitinturnitin.option.internet_checktrue SAK-21059 - Getting issue details... STATUS Option appears in GUI to check paper against Internet (web search).
2.9.0Assignment/Turnitinturnitin.option.journal_checktrue SAK-21059 - Getting issue details... STATUS

Option appears in GUI to check paper against Journals.

2.9.0Assignment/Turnitinturnitin.option.institution_checktrue SAK-21059 - Getting issue details... STATUS Option appears in GUI to check paper against Institutional repository.
2.9.0Assignment/Turnitinturnitin.option.s_paper_check.defaultfalse SAK-21059 - Getting issue details... STATUS The default checkmark in the Turnitin option in the GUI.
2.9.0Assignment/Turnitinturnitin.option.internet_check.defaultfalse SAK-21059 - Getting issue details... STATUS The default checkmark in the Internet (web search) option in the GUI.
2.9.0Assignment/Turnitinturnitin.option.journal_check.defaultfalse SAK-21059 - Getting issue details... STATUS The default checkmark in the Journal option in the GUI.
2.9.0Assignment/Turnitinturnitin.option.institution_check.defaultfalse SAK-21059 - Getting issue details... STATUS The default check mark in the Institutional repository option in the GUI.
2.9.0Entity Brokerentitybroker.batch.enablefalse SAK-22619 - Getting issue details... STATUS Property to disable direct batch servlet
2.9.0Portal2portal.use.profiletrue PRFL-757 - Getting issue details... STATUS Allows disabling of the Profile2 tool in Neo-portal
2.9.0Loginlogin.log-failedtrue SAK-22430 - Getting issue details... STATUS Log failed login attempts
2.9.0My Workspacemyworkspace.showtrue SAK-22386 - Getting issue details... STATUS Globally hide "My Workspace"
2.9.0Portalportal.portlet.tidy.warningsfalse SAK-22335 - Getting issue details... STATUS   Still false by default - when true - it runs Tidy in noisy mode. It does *not* take the output of Tidy - just checks the portlet output and then uses it unchanged. 
2.9.0Portalportal.portlet.tidyfalse This is now ignored. We cannot use the output of Tidy as the markup.
2.9.0Basic LTIbasiclti.provider.*n/a SAK-22229 - Getting issue details... STATUS blti.producer was the old prefix.
2.9.0 2.9.2Gradebookcourse_grade_details_export_course_grades_institution_control  SAK-22204 - Getting issue details... STATUS originally thought SAK-22204 was in 2.9.0, but was not completed until 2.9.2
2.9.2Gradebookcourse_grade_details_export_course_grades_institution  SAK-22204 - Getting issue details... STATUS  
2.9.2Gradebook

userid=Student ID
usereid=Student unique ID
useremail= Student Email
username= Student Name
sortname= Student Name
coursegrades= Course Grade
gradeitem= Grade Item
siteid= Site ID
sitetitle= Site Title

  SAK-22204 - Getting issue details... STATUS  
2.9.0Emailnotify.email.from.replyablefalse KNL-920 - Getting issue details... STATUS # Email notifications reply from preference 
# Set this to true to send notifications from the triggering user email addresses for announcements 
# instead of from a general server email address (no-reply@...) 
# OLD (deprecated) config value:  emailFromReplyable@org.sakaiproject.event.api.NotificationService  
# Default: false (use the no-reply@... instead) 
#notify.email.from.replyable = true 
2.9.0Account Validator   RES-42 - Getting issue details... STATUS #if you don't want to use ui.service as the Production name, use:
reset-pass.productionSiteName

#sets the toke expiration date
accountValidator.maxDays

#sets the max number of resends before it expires the token
accountValidator.maxResendAttempts
2.9.0URLshortenedurl.implementation=org.sakaiproject.shortenedurl.api.RandomisedUrlServiceoff SAK-21859 - Getting issue details... STATUS

#Uncomment this to use the built in URL randomiser/shortener (recommended) #shortenedurl.implementation=org.sakaiproject.shortenedurl.api.RandomisedUrlService

2.9.0URLshortenedurl.resources.enabledtrue

SAK-22331 - Getting issue details... STATUS SAK-21848 - Getting issue details... STATUS

enable the UI in various tools for presenting shortenedurls
2.9.0URL

shortenedurl.implementation

shortenedurl.implementation.bitly.login

shortenedurl.implementation.bitly.key

off SAK-21859 - Getting issue details... STATUS


# ########################################################################
# Shortened URLs
# ######################################################################## # https://confluence.sakaiproject.org/display/SHRTURL
# Note: short URLs are disabled by default
## RANDOMISED
# Uncomment this to use the built in URL randomiser/shortener (recommended) #shortenedurl.implementation=org.sakaiproject.shortenedurl.api.RandomisedUrlService

## BIT.LY
# Uncomment this to use the bit.ly URL shortner
#shortenedurl.implementation=org.sakaiproject.shortenedurl.api.BitlyUrlService
# You must also have a bitly account. So signup, navigate to http://bit.ly/a/your_api_key,
# retrieve your details, uncomment and set the following:
#shortenedurl.implementation.bitly.login=johnsmith
#shortenedurl.implementation.bitly.key=123qwe456asd789zxc

## EXTERNAL URL SHORTENING
# By default, external URLs (ie a URL for another site) cannot be shortened using the /direct/url entity provider
# You can change this by setting the following to true.
#shortenedurl.external.enabled=false

2.9.0URLshortenedurl.external.enabledfalse SAK-21859 - Getting issue details... STATUS see previous row for comments.
2.9.0Password ResetsiteManage.validateNewUsersfalse SAK-22014 - Getting issue details... STATUS  
2.9.0PDA Portal   SAK-22199 - Getting issue details... STATUS  
2.9.0Sakai Tutorial Toolportal.use.tutorialtrue SAK-22243 - Getting issue details... STATUS  
2.9.0Worksite setup   SAK-21707 - Getting issue details... STATUS

new sakai.properties:
================

#For each worksitesetup.sort.key property that is specified, the associated worksitesetup.sort.order property must also be specified

#The following are all comma separated values. If these properties are not present, the drop-downs will be sorted as they were sorted before (on eid, then title).
#The key on which the sessions are sorted. Possible values are authority, description, eid, endDate, startDate, title
worksitesetup.sort.key.session=

#The key on which the courseSets are sorted. Possible values are authority, category, description, eid, parent, title
worksitesetup.sort.key.courseSet=

#The key on which the courseOfferings are sorted. Possible values are academicSession, authority, canonicalCourseEid, courseSetEids, description, eid, endDate, startDate, status, title
worksitesetup.sort.key.courseOffering=

#The key on which the sections are sorted. Possible values are authority, category, courseOfferingEid, description, eid, enrollmentSet, maxSize, meetings, parent, title
worksitesetup.sort.key.section=


#The following are all comma separated lists of sorting orders that correspond to the above keys. They have values of 'asc' or 'desc' for ascending/descending
#The order on which the sessions are sorted
worksitesetup.sort.order.session=

#The order on which the courseSets are sorted
worksitesetup.sort.order.courseSet=

#The order on which the courseOfferings are sorted
worksitesetup.sort.order.courseOfferings=

#The order on which the sections are sorted
worksitesetup.sort.order.section=

2.9.0Forumsmsgcntr.editor.rows22 MSGCNTR-523 - Getting issue details... STATUS 22 rows is the default. Specify the size of the CK Editor in Forums.
2.9.0Calendarcalendar.default.viewweek SAK-20724 - Getting issue details... STATUS property can equal day, week, month or year
2.9.0Portalportal.neochatfalse SAK-20373 - Getting issue details... STATUS

# Controls the portal chat feature
# portal.neochat=false

# Controls whether or not an individual user's profile image will appear in the portal chat
# portal.neoavatar=true

2.9.0Portalportal.profiletool=sakai.profile2 
portal.preferencestool=sakai.preferences 
portal.worksitetool=sakai.sitesetup 
  SAK-20373 - Getting issue details... STATUS #The tool ids for the tools that end up in the top bar and slide out drawer  
# set to 'none' to suppress the top bar linking behavior 
portal.profiletool=sakai.profile2 
portal.preferencestool=sakai.preferences 
portal.worksitetool=sakai.sitesetup 
2.9.0Portalportal.neoavatartruesee abovesee above
2.8.0Session Timeout

timeoutDialogEnabled=true

timeoutDialogWarningSeconds=600

defaults SAK-22878 - Getting issue details... STATUS  
2.9.0Entity Brokeruser.explicit.id.onlytrue SAK-21654 - Getting issue details... STATUS

Allows for finer control over the way user lookups occur in Entity Broker user endpoint. The current implementation is preserved by default but this property will adjust it to never attempt an ID lookup unless it was requested explicitly (using "id=" as the prefix for the id).

"user.explicit.id.only=true"

Set this to true to disable id/eid failover checks (this means lookups will only attempt to use id or eid as per the exact params which are passed or as per the endpoint API)

In other words, the user id must be prefixed with "id=", otherwise it will be treated like an eid.

2.9.0Worksitesportal.always.display.active_sitesfalse SAK-15769 - Getting issue details... STATUS Whether to always show the "My Active Sites" tab, even if there is not an "overflow" of worksites.
2.9.0Cachingprecache.users.run.startupfalse KNL-826 - Getting issue details... STATUS

This contributed code improves performance by pre-caching Sakai users. So the full improvement of user caching does not require waiting for a second user interaction. This user pre-caching is done optionally on servlet container (Tomcat) restart and is also done optionally according to a configurable daily schedule.

2.9.0Separate Domain for Contentcontent.separateDomains=true
content.chs.serverName=resources.oncourse.iu.edu
content.chs.serverUrl=https://resources.oncourse.iu.edu

content.login.urlprefixes.count = 4
content.login.urlprefixes.1 = /access/login
content.login.urlprefixes.2 = /sakai-login-tool
content.login.urlprefixes.3 = /access/require
content.login.urlprefixes.4 = /access/accept
  

used the raw redirecting code in

RequestFilter.java. The end result is pretty simple, and you can

actually host it on just 1 app node if you have multiple domain names

pointing to it from Apache [1].

 

 

2.9.0Forums

msgcntr.forums.showProfileInfo

*also requires profile2.profile.link.enabled=true

false MSGCNTR-584 - Getting issue details... STATUS displays user profile images and info next to the user's posts

 

2.0 New/changed permissions

Release

Tool/Service

Permission

Notes

2.9.0Site Creationsite.add.portfolio KNL-703 - Getting issue details... STATUS
2.9.0Site Creationsite.add.project KNL-952 - Getting issue details... STATUS

2.9.0

Site Stats

sitestats.admin.view

Admin access to statistics across all sites. Change for this setting?

2.9.0Site Statssitestats.viewUse Site statistics tool. change for this setting?
2.9.0Sitessite.roleswapchange for this setting?
2.9.0Lessonslessonbuilder.readAccess and read lessons.
2.9.0Lessonslessonbuilder.updCreate and update lessons.
2.9.0Messagesmsg.permissions.allowToField.allParticipants

If msg.permissions.allowToField.allParticipants   is set to true , then "All Participants" is an option in the "To:" field when sending a message. if chosen then all site participants will recieve the message.

2.9.0Messagesmsg.permissions.allowToField.groupsIf msg.permissions.allowToField.groups   is set to true , then all groups which have been defined are available as options in the "To:" field when sending a message and for each group selected, all group members will be sent the message.
2.9.0Messagesmsg.allowToField.rolesIf msg.allowToField.roles   is set to true , then all roles which have been defined in the site (such as instructor, teaching assistant role, etc) are available in the "To:" field when sending a message and the message will be sent to all the site participants assigned that role.
2.9.0Messagesmsg.permissions.viewHidden.groups
If msg.permissions.viewHidden.groups is set to true ,   then users with this role will be able to view groups which have been marked as hidden in the settings

 

3.0 Stealthed Tools

The OSP community recommends stealthing  the OSP Wizards tool and the OSP Layouts  -  SAK-22857 - Getting issue details... STATUS

Update the property stealthTools@org.sakaiproject.tool.api.ActiveToolManager by adding osp.wizard,osp.presLayout