[LON-CAPA-admin] LON-CAPA version 2.11.2
Stuart Raeburn
raeburn at msu.edu
Mon Jun 12 22:25:03 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
message.
- 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
Editor.
- 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
supported.
- 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
removal).
- 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
section.
- 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
belongs.
- 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
clone).
- 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.
Authoring
- XML Editor and Script blocks in "Colorful" Editor use CodeMirror to
provide:
(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
Editor.
- 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
field.
- 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
section.
- 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
domains.
- 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
owner.
- 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).
Printing
- 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.
Localization
- Updates to German translations.
Documentation
- 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
manual.
- 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
preferences.
Internals
- 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
phrases.
- Speed-up for course contents display by caching symb when resource object
created.
- 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
page:
(i) createdactions (set course settings, post-creation, e.g.,
self-enrollment).
(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
changes.
- 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
installed.
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
deprecated).
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
(b) SuSE/SLES
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:
LONCAPA-prerequisites-1-25.X
(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
su
./UPDATE
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 127.0.0.1) 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:\/\/)
http://%{HTTP_HOST}%{REQUEST_URI} [R,L,NE]
RewriteCond %{REMOTE_ADDR} 127.0.0.1
RewriteRule (.*) - [L]
RewriteCond %{REMOTE_ADDR} <Server IP>
RewriteRule (.*) - [L]
RewriteRule ^/public/.*/syllabus$
http://%{HTTP_HOST}%{REQUEST_URI} [R,L,NE]
</IfModule>
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, SLES 12
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
/home/httpd/perl/loncron
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".
----NOTES
1) Defects reports, and enhancements requests can be entered at
http://bugs.lon-capa.org
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-admin
mailing list