[LON-CAPA-announce] New version released - LON-CAPA 2.11.2

Stuart Raeburn raeburn at msu.edu
Mon Jun 12 22:18:42 EDT 2017

New Version 2.11.2 Released

Update of 2.11.1 installations to 2.11.2 is highly recommended.

Although this is primarily a bug fix release, authors will see some
interface changes when using the editors in Authoring Space, because
a number of improvements have been included for both the "XML Editor"
and the "Colorful" Editor.

Changes from 2.11.1

Student Interface
  - Math Previewer is available for all textboxes in formularesponse items with
    multiple answers.
  - If the "buttonshide" parameter is set for a composite page to hide the
    icons on the right side of the standard course inline menu, icons are also
    hidden for each resource in the page.
  - Display of the pop-up reaction editor window for reactionresponse items is
    supported where the resources are published "public".
  - Course contents shows both due date and reservation status for items with
    access controlled by slots, if there is a due date, and status is open.
  - "Computer's answer now shown above" message moved to left of award-related
  - IP-based access control for portfolio files added to existing "conditional"
    access types used to grant read access to others besides the owner.
  - For resources already checked into a slot (now past its end time), unique
    time period use in used slot is taken into account when displaying
    reservable (future) slots.
  - Time limits can now be used for composite pages.
  - Countdown timer is included in a composite page if all items with time left
    have the same amount of time remaining.
  - Folders with "hiddenresource" parameter set at folder level now hidden in
    students' view of Course Contents.
  - When using "Forgot Password?" if the domain selected is for a different
    institution than that of the server there will be a redirect to the user's
    home server.
  - Improvements in display of log-in page and roles/courses page for mobile
    devices with small viewports.
  - For mobile devices, autocapitalization and auto-correct are disabled for
    input fields for username and e-mail address in "Forgot password?" form.

Course Management
  - Course's quota usage is displayed in the file upload section in Course
  - Time component of date parameters will be unchanged when cloning includes
    a date shift which causes the date to switch from daylight savings to
    standard time (or vice versa).
  - A progress indicator is displayed during enrollment of multiple students
    by file upload.
  - Blocking of user actions during an exam can include internally
    authenticated users changing a password via preferences or via
    "Forgot password?".
  - The parameter setting pop-up display for time limit settings is improved
    by disabling line wrapping.
  - Inclusion of an anchor in the URL for an external resource is now
  - A warning is displayed when removing resource(s) uploaded directly to a
    course (includes "blank web page") via a pop-up (which is used to confirm
  - Automated Enrollment (with drops) for a course with multiple institutional
    sections supports setting of "failsafe" threshold value, for maximum number
    of drops permitted, if no enrollment retrieved for one institutional
  - Export of resources to IMS package can now include raw XML of resources for
    which Course Coordinator is co-author for the space to which resource
  - An error message is displayed when creating a slot from an uploaded slot
    definitions file, if the date/time format used is invalid.
  - Textbook/Template course requests include an additional content option:
    "select from colleagues' courses" (for which requester has rights to
  - Courses created via "Request course" will automatically have the requester
    assigned as recipient of feedback from students on course content.
  - Submission status can be used as filter when using the grading table to
    modify scores for multiple students.
  - Additional privileges assignable to custom roles in a course:
    (a) View (but not modify) assessment parameters and course settings
    (b) View (but not modify) communication blocking
  - Additional functionality available to "View grades" privilege
    (a) View (but not modify) first access times for students for course,
    map/folder or resource with interval (timer) parameter set.
    (b) View (but not modify or delete) slots in a course
    (c) View reservation log for slots
    (d) View (but not reset) counters for problems above threshold for
    attempts, deg. difficulty etc. on "What's New" page.
  - For roles with "View class list" privilege, "People" item is now shown
    in the inline menu, and it links to the User Management menu.
  - Course owner can use People > Users > Helpdesk Access to override (a)
    default privileges and also which users with Helpdesk roles may use each
    domain-defined ad hoc role within the course. (Co-owners can view course-
    specific overrides, but not modify them).
  - In display of role change logs, "Previous N changes" and "Next N changes"
    buttons shown if changes/page (N) is such that results require > 1 page.

  - XML Editor and Script blocks in "Colorful" Editor use CodeMirror to
    (a) Line numbers
    (b) Indentation
    (c) Syntax highlighting
  - Deactivation/Reactivation of CodeMirror available in a User's Preferences
    for users with author/co-author role(s).
  - Drop down lists to insert problem templates and code snippets in XML
  - Scroll position saved when using "Save and Edit" or "Save and EditXML".
  - Menu bar containing "Discard Edits and View", and "Save and Edit" buttons
    etc. floats at top of window, when scrolling.
  - Colorful Editor can show/hide blocks during editing (state saved/restored).
  - Rich Text Editor (CKEditor) includes plug-ins for chemical formula
    formatting and mathematics formatting (TeX), accessed via new icons in
    Text Editor menu: Chemistry -- "ball and stick"; Math -- Sigma symbol.
  - Shortcuts for creation of empty problems, html files and directories
    when listing a directory.
  - Appropriate error message shown when displaying numericalresponse item
    in Authoring Space when invalid unit was included as an attribute.

Domain Coordination/Domain Settings
  - Choice of CAPTCHA mechanisms for both public-facing helpdesk form and user
    self-creation form include: v.2 of Google reCAPTCHA ("I am not a robot").
  - Domain configuration for helpdesk form supports different routing
    for help requests submitted by a domain's users, and those submitted
    by users from other domains, when no recipient e-mail address has been
    set by that domain.
  - A text string can automatically be added to the e-mail sent when a
    submission to the helpdesk form is forwarded -- either prepended to
    the subject or to the message body.
  - "Ask Helpdesk" form fields: Name, Phone, Username & domain, Course
    Details, Section, Cc e-mail, and File upload can be shown or not shown.
    The Name and Phone fields can be set to be required fields. The size of
    the uploaded file (authenticated users only) can be set (default: 1 MB).
  - Domain Coordinator can upload custom HTML mark-up into the head block of
    the log-in page for different domains on a multi-domain server.
  - Domain configuration for user self-creation of an account with e-mail
    address as username can include Student/Employee ID as a user-supplied
  - Domain defaults for Automated Enrollment for courses with multiple
    institutional sections includes "failsafe" threshold value, for maximum
    number of drops permitted, if no enrollment retrieved for one institutional
  - Default lifetime (since last update) can be set for "temporary" MySQL
    tables containing student performance data (course's homeserver only) by
    course type, (can be overridden in a specific course via DC's "View or
    modify a course").
  - Domain configuration for LON-CAPA directory searches for user information
    for users in a domain: can disable for all, or disable only for other
  - When listing users in domain context, actions available when clicking
    user's username link include display of access log information.
  - XML-based description of course attributes used for batch creation of
    courses can include "setcomment" tag, where a value of 1 sets recipient
    of feedback from students on course content to username:domain of course
  - Domain Helpdesk role receives rights to:
    (a) Receive ad hoc role(s) in any course or community in the domain,
    subject to course owner's veto in any particular course.
    (b) Display detailed course catalog information (enrollment counts etc.)
    (c) Display information about course creation and course requests.
    (d) Search for user in a domain, and view log-in, logout and role
    selection history, as recorded in user's activity.log file.
    (e) Browse published content in the domain, subject to any
    copyright/distribution rights set.
  - Domain Helpdesk Assistant role receives same rights as Domain Helpdesk
    except (e) is excluded, i.e., no browsing of shared content pool.
  - Domain configuration (Support Settings) supports definition of  
custom course
    role(s) for use as ad hoc role(s) in courses by helpdesk personnel. Which
    helpdesk personnel may use each ad hoc role can be determined by:
       - Role (Domain Helpdesk and/or Domain Helpdesk Assistant)
       - Institutional status,
       - Include specific people
       - Exclude specific people
  - "User Access Log" item in User Management Menu (Single Users) in domain
    context (can search for a user in a domain, and view log-in, logout
    and role selection history, as recorded in user's activity.log file.
  - Domain configuration for dedicated load balancer includes option to
    permit "Hosting on balancer itself" (if balancer has lowest load it
    will host the user session for a user).
  - Domain configuration for internal authentication includes encryption
    complexity (bcrypt used for new passwords), and option to convert existing
    passwords to use of bcrypt, when a user logs in (default is no).

  - Privileged users can print folders for which "hidden" is checked.
  - The default paper type used for "letter" format is explicitly set (to a4).
  - Page with link to PDFs includes link back to the resource, and a link to
    change printing options.

  - Updates to German translations.

  - Documentation on how the LON-CAPA spreadsheet can be used to provide
    an online gradebook with category-based grading.
  - Batch creation of courses documentation added to Domain Coordination
  - Documentation for Support Settings (including Domain Helpdesk role)
    added to Domain Coordination manual.

Third-party modules
  - MathJax updated to 2.6.1
  - CKEditor (WYSIWYG HTML editor) updated to 4.4.7
  - Updates of jQuery to 1.11.3, and jQuery-ui to 1.11.4
  - Use of jsMath discontinued; MathJax is used instead in cases where jsMath
    use is indicated in a resource, in a user's preferences, or in course

  - For formularesponse items evaluated with the Maxima CAS (the default) a
    student's submission is passed to Maxima to check if that it is valid
    syntax, and if so, Maxima is then used to evaluate correctness.
  - Most localized messages used in Javascript blocks are now escaped to
    eliminate javascript run-time errors caused by single quotes in localized
  - Speed-up for course contents display by caching symb when resource object
  - Sanity checking to avoid ISE in the case where slot was reserved for a
    resource which is now hidden, or has been removed from the course.
  - Speed-up for "What's New" page for people with large number of messages
    in INBOX.
  - Speed-up when retrieving institutional data for multiple users when adding
    users via file upload.
  - Speed-up access to data cached in %remembered hash which persists for
    duration of request.
  - SVG file type added to 'Pictures' category used as a search filter.
  - Key length for lonKey.pem increased to 2048 bits.
  - Log file for each user records change history for user's authentication.
  - Internally authenticated users can use passwords of any length.
  - Textbook/Template course requests
    (a) Additional items can be sent to localenroll::crsreq_updates():
      _LC_coursedescription, _LC_coursestartdate, _LC_courseenddate.
    (b) Additional calls to lonnet::auto_crsreq_update() for new actions:
      (i) initializereview and (ii) prereview used to support custom
      javascript in textbook request page, and custom onload action.
    (c) Additional keys supported in hashref populated in
      localenroll::crsreq_updates() to customize "textbook" course request
      (i) createdactions (set course settings, post-creation, e.g.,
      (ii) createdcustomized (suppress standard display of "Make another
      request etc.)
      (iii) onload (actions to execute on page load).
      (iv) validationjs (items to include in the form validation function).
      (v) javascript (additional javascript functions for use with textbook
      course request form).
  - Script available to dump memcached's currently stored keys and values to
      aid in troubleshooting.

Other bug fixes
  - Reinstate support for cloning of own course, where no cloning configuration
    was set in course's environment.db, when using course request form and
    course is created automatically.
  - Automated enrollment process now supports automated group membership
  - Fields: "allowedsections" and "allowedusers" available for assignment
    to columns in uploaded slot list (csv file) now supported.
  - Eliminated "caching of id  ... failed" messages in lonnet.log when starting
    or restarting loncontrol.
  - Eliminated warnings in lonc_errors where SSL is in use and distro has
    IO::Socket::SSL rev. 1.79 or newer.
  - Eliminated duplication of "Trying to get resource data for ... " messages
    in lonnet.log for a specific user where con_lost result is from cache
    (memcache), with 10 minutes expiration.
  - Values user selects in hour dropdown lists for "Open after" and
    "Closed before" when using "Search by date" display of slots are now used.
  - Load-balancer status is cached for unconfigured domains.
  - Improved checking during ./UPDATE to determine if ntp daemon is running.
  - Where the author has published an index.html file in his/her Authoring
    Space, allow standard display of directory listing in /res/domain/user/
    (Apache 2.4).
  - Script used to generate SSL key and certificate signing request ensures
    lonKey.pem file has correct owner.
  - Eliminated javascript error when using "Select Community" link when cloning
    a course (as Domain Coordinator) using "Create a single community".

Supported Linux Distributions
  - Added Ubuntu 16.04 LTS, Fedora 22, 23, 24, 25.

Specific enhancement requests/bugs addressed: (see http://bugs.loncapa.org)
4394, 5464, 5596, 5679, 5787, 6440, 6690, 6770, 6708, 6720, 6774, 6778, 6782,
6788, 6793, 6796, 6797, 6800, 6802, 6806, 6810, 6815, 6817, 6832, 6835, 6841.

Installation Notes:

To use this release you need to have version 1-25 of LONCAPA-prerequisites

To install this update:

1) You will need to be running CentOS/RHEL/Scientific Linux 5, 6 or 7,
SLES 10, 11 or 12, Ubuntu LTS 10, 12, 14, or 16,
Fedora Core 16, 17, 18, 19, 20, 21, 22, 23, 24 or 25, or SuSE 12.1,
12.2, 12.3, 13.1 or 13.2. (RHEL 4, Fedora Core 9, 10, 11, 12, 13, 14, & 15,
SLES 9 and SuSE 11.1, 11.2, 11.3, & 11.4 should continue to work, but are

You will need to be root to use the commands listed at steps 2 to 11 below.
On Ubuntu LTS servers either prepend sudo for each command, or use sudo -i.

2) Update LONCAPA-prerequisites to 1-25

(a) CentOS/RHEL/Scientific Linux 5, 6 and 7

yum update


Use yast-> Installation Source to refresh the LON-CAPA repository
Use yast->Software Management->Search to update LONCAPA-prerequisites

(c) Ubuntu

sudo apt-get update
sudo apt-get upgrade

(d) Fedora 22 (and newer)

dnf update

(e) Fedora 21 (and older)

yum update

On all distributions, it is recommended that you check that you have
the correct version of LONCAPA-prerequisites installed before proceeding.

(i) CentOS/RHEL/Scientific Linux/Fedora/SLES/SuSE
rpm -q LONCAPA-prerequisites

should report:
(where X is a distro identifier e.g., centos7.lc)

(ii) Ubuntu
sudo dpkg -l loncapa-prerequisites

should report
ii loncapa-prerequisites 1.25-X
(where X is a version number which depends on Ubuntu distro)

3) Download the new LON-CAPA tarball from
wget http://install.lon-capa.org/versions/loncapa-2.11.2.tar.gz

and untar it

tar xzvf loncapa-2.11.2.tar.gz

4) stop the LON-CAPA system services

/etc/init.d/loncontrol stop

5) stop the web server:

Fedora 16 (and older)/RHEL/Centos/Scientific Linux 6 (and older)
/etc/init.d/httpd stop

Fedora 17 (and newer), RHEL/CentOS/Scientific Linux 7
service httpd stop

SuSE 12.X, 13.X, SLES12:
service apache2 stop

SLES 10, SLES 11, Ubuntu:
/etc/init.d/apache2 stop

6) Run the UPDATE script as root
(Note: new in 2.11 -- you will be asked to confirm that you wish to
remove files installed by older versions of LON-CAPA which are no
longer used by 2.11).

cd loncapa-2.11.2

7) If you are updating a LON-CAPA library server from LON-CAPA version
2.10.1 or earlier, you will need to run a script to migrate Authoring
Spaces in domain(s) hosted on the server from their old locations in:
/home/ to their new locations in /home/httpd/html/priv

To do this use the command:

perl /home/httpd/perl/debug/move_construction_spaces.pl move

Note: You can perform a dry-run, which will show what would happen, but will
not actually move anything, by omitting the "move" argument.

8) If your Apache web server has been configured to use SSL, and you have
included rewrite rules to rewrite all requests to http://<yourserver>/
to https://<yourserver>/ you will need to modify your rewrite rule to
(a) allow internal HEAD requests to /cgi-bin/mimetex.cgi to be served
http://, in order to support vertical alignment of mimetex images
(one of the options for rendering Math content); (b) allow requests
for certain URLs (external resource, annotations, and syllabus)
to be served http:// to accommodate the use of iframes which would
otherwise result in browser blocking of mixed active content.

Starting with LON-CAPA 2.10, a config file containing rewrite
rules -- loncapa_rewrite.conf -- is added to /etc/httpd/conf
(CentOS, Red Hat, Scientific Linux, Fedora) or /etc/apache2 (SuSE, SLES,
Ubuntu, Debian). By default, rewrites are set to off (using
RewriteEngine off).  If you already have you own rewrite rules in place
you should either transfer them to loncapa_rewrite.conf, after completing
the LON-CAPA update, or leave your existing file in place and comment out
the entries in loncapa_rewrite.conf. Otherwise, if you are using
SSL with Apache, and would like requests to http://<yourserver>/
to be rewritten to https://<yourserver>/, you should copy
rewrites/loncapa_rewrite_on.conf to loncapa_rewrite.conf to enable this.
The rules included in that config file do not rewrite internal
requests (i.e., from to https://, so vertical alignment
of mimetex images is supported. In 2.11 there are also rules for the URLs
noted above, which exclude them from rewrites to https:// to avoid
issues with mixed active content.

Once you have the rules for ^/adm/wrapper/ext/(?!https:) and
^/public/.*/syllabus$ in place in loncapa_rewrite.conf you should also add
the following to your <VirtualHost _default_:443> </VirtualHost> block:

    <IfModule mod_rewrite.c>
      RewriteEngine on
      RewriteCond %{HTTPS} =on
      RewriteRule ^/adm/wrapper/ext/(?!https:\/\/)
      RewriteCond %{REMOTE_ADDR}
      RewriteRule (.*) - [L]
      RewriteCond %{REMOTE_ADDR} <Server IP>
      RewriteRule (.*) - [L]
      RewriteRule ^/public/.*/syllabus$

replacing <Server IP> with the IP address of the server itself.

Note: this is only needed if you are using SSL (i.e., requests to
https://<yourserver>/ are supported) and you want to rewrite external
requests to http://<yourserver>/ to always use https://<yourserver>/

9) Note about /home/httpd/lib/perl/localenroll.pm
When you use UPDATE to update an existing LON-CAPA installation to a newer
version, the customizable localenroll.pm file is not overwritten.  This
is the file which must be customized to support integration of LON-CAPA
with institutional data sources (e.g., for automated update of course
rosters or user information). Whenever new routines are included in
localenroll.pm these will appear in localenroll-std.pm, which is updated
when a new LON-CAPA version is installed.

If you have previously customized localenroll.pm it is recommended that
you compare the contents of localenroll.pm and localenroll-std.pm after
an update to see if there are new subroutines (which exist as stubs in
localenroll-std.pm) which can be copied to your custom localenroll.pm,
and later customized, should you wish to use that functionality.

Recent changes are addition of new_course() in LON-CAPA 2.10 to support
access to institutional classlist data for a particular course,
based on co-ownership (previously only ownership was considered), and
in LON-CAPA 2.11 (a) addition of crsreq_updates() to support domain-specific
operations during course request processing; (b) a fourth arg in
allusers_info() -- $lc_users -- a reference to hash containing LON-CAPA
usernames,  suitable for institutions which only allow a server to retrieve
institutional user information when the user's username is included in the
query; (c) validate_instcode() can return a third value: the default credits
earned by students when completing the course corresponding to the supplied
institutional code; (d) validate_crsreq() takes an additional arg:
$custominfo -- an optional reference to a hash of custom form data.
The custom form data themselves will come from crsreq_updates().

10) restart the LON-CAPA system services
/etc/init.d/loncontrol start

11) restart the webserver:

Fedora (16 and older)/RHEL/Centos/Scientific Linux 6 (and older)
/etc/init.d/httpd start

Fedora 17 (and newer), RHEL/CentOS/Scientific Linux 7:
service httpd start

SuSE 12.X, 13.X, SLES12
service apache2 start

SLES 10,11, Ubuntu:
/etc/init.d/apache2 start

12) It is recommended that loncron is run
(as the www user) after installation/update is complete.

su www

This will write to files in /home/httpd/lonTabs used to
store information about LON-CAPA versions on other servers in
the cluster to which the server belongs.  It may take some
minutes to complete as the script will contact other servers
in the LON-CAPA network sequentially.

13) It is also recommended that you check disk usage for courses
and Authoring Spaces, as 2.11 introduces default quotas of 0.5 GB
for each course (content uploaded directly via Course Editor) and
the same for each author.

For courses, log-in as Domain Coordinator and use:
Main Menu -> Status of domain servers -> Display quotas and usage for
Course/Community Content.

For Authoring Spaces, log-in as Domain Coordinator and use:
Main Menu -> Create users or modify the roles and privileges of users
->  Manage Users, and select Author in the "Role" dropdown, then
press the "Display List of Users" button.

The 0.5 GB default quota for Authoring Spaces in domain can be replaced via:
Main Menu -> Set domain configuration -> Blogs, personal web pages,
webDAV/quotas, portfolios

The 0.5 GB default quota for Courses can be replaced via:
Main Menu -> Set domain configuration -> Course/Community defaults

Quotas for individual authors can be set via:
Main Menu -> Create users or modify the roles and privileges of users
-> Add/Modify a User

Quotas for individual courses can be set via:
Main Menu -> View or modify a course or community
then search/select the course and use:
"View/Modify quotas for group portfolio files, and for uploaded content".

1) Defects reports, and enhancements requests can be entered at
2) Mailing lists can be joined and left at http://mail.lon-capa.org
3) Installation/update support is available from helpdesk at loncapa.org

Stuart Raeburn
LON-CAPA Academic Consortium

More information about the LON-CAPA-announce mailing list