[LON-CAPA-dev] Draft of Release Notes for 2.11.0

Stuart Raeburn raeburn at msu.edu
Fri May 23 06:01:46 EDT 2014

*** Draft of LON-CAPA 2.11.0 release notes ***

New Testing Version 2.11.0.RC3 Released

This version is currently installed on production servers at MSU.
I expect to release this as the 2.11.0 final release within a few days.

Changes from 2.10.1

General user interface
- "Functions" menu for Roles/Courses screen has icons/links for some  
or all of:
     Check for changes, Hotlist, Request course, Show queued, Include expired,
     Course catalog. (which are shown depends on number of roles user has and
     user's rights in the system).
- Inline menu changes:
   - Course context has new items for Grades, People, Settings, Public (or
     Syllabus and Feeds)
     - Grades, People, Settings and Public (course personnel) have drop-down
     - "Return to Last Location" link is now icon instead of text.
- Course Contents screen includes "Main Content", "Supplemental  
Content", "Content Search" tabs.
- Users with advanced privileges (i.e., authoring or coordinator) have  
access to "Stored Links"
   utility which allows saving (and management) of links to content in  
shared resource pool
   (also available when user is browsing a colleague's course, with an  
assigned student role).
- Countdown timer available for items with either a due date set, or  
the interval parameter set
   (timer displayed automatically for a timed quiz),
- "Set my preferences" - jPicker used for color preferences.
- New standard element -- "action box" used to offer contextual  
actions at the bottom of a page.
- Messages/communication page design and usability improved.
- Critical messages now displayed in reverse chronological order, by default.
- "Edit" link/icon included in "Functions" menu for users with  
privileges to edit current content is
   standardized to support more pages including templated pages  
("About Me", Syllabus, Bulletin Board,
   Simple Page), Student-viewable roster, uploaded html file, and  
"External Resource".
- Supplemental Content display uses breadcrumbs for nested folders so  
users can navigate to higher
   level folders.
- Self-creation of a user account with e-mail address as username now  
uses a single web form to
   request e-mail address, password and user information (fields can  
be required or optional).
- Browser detection used to identify when mobile device (e.g., iPhone,  
iPad etc.) is in use to support:
   - improved handling of scrolling and pop-up help.
   - different display mode for PDFs.
   - suppress autocapitalization and autocorrection of text entered in  
username or domain fields on
     log-in page.
- Pop-up windows are now modal windows (page behind pop-up still  
viewable) in a number of contexts
   (e.g., contextual help, previous tries).
- Previous tries screens include encoding of HTML Entities when  
displaying past submissions.
- Upload of files to dropbox/essay assignments allows overwriting of  
file with same name/location in
   user's portfolio (user will be prompted to allow it).
- Student's display of currently submitted files for dropboxes:
   - Show/Hide link toggles display of path for items uploaded from  
portfolio; default: only file name.
- Time/date of each submission shown in display of student's previous tries.
- In a non-anonymous discussion post, username:domain is only appended  
to a poster's nickname if
   viewer is one of the course personnel.
- Improved Progress indicator -- uses jQuery.
- Additional math renderer: MathJax
- For servers running Apache/SSL rewrite rules updated to ensure  
requests for syllabus page (could
   included iframe loading external site) and also external resources  
where external site is served
   by http) are served by http to avoid default blocking by some  
browsers because of "mixed active

Domain Management
- Configuration of self-creation of accounts has more options:
   - e-mail address as username:
    - choice of (original) CAPTCHA or newer reCAPTCHA, or no CAPTCHA  
on form used to request account.
    - can specify which user information fields are required,  
optional, or are omitted.
    - requests can be queued for approval, or created automatically,  
and processing can be set to
      be based on self-reported status (e.g., instructor or student).
   - Shibboleth authenticated SSO username
     - environment variables provided by Shibboleth can be set to  
provide data for specified
       user information fields.
- Configuration of self-enrollment in a course has more options:
    - configuration rights for self-enrollment can be assigned (by  
field) to course personnel or to
      Domain Coordinators (domain defaults can be overridden for  
individual courses).
    - self-enrollment requests can be queued, pending validation.
    - self-enrollment validation can be via an external validation  
server/script (e.g., for e-commerce).
- Configuration of course creation requests has more options:
    - a new container type - "textbook" provides a simplified (single  
page) course request form. Options
      include cloning from a set of pre-fabricated textbook courses or  
template courses.
    - a unique six character code can be generated at course creation  
time for use by self-enrolling
      students, to search the catalog for the course.
    - Details of pre-fabricated courses: "textbooks" and "templates"  
for cloning when creating a new "textbook"
      course can be uploaded (subject, title, image, author,  
publisher, and LON-CAPA course domain/ID.
    - Validation of requests now available as an option for all course  
container types.
    - Validation of unofficial and textbook courses, and communities  
can be via a validating server/script.
      Form fields to send to validator can be specified.
    - Customization of course request handling supported by  
customization of new subroutine:
      &crsreq_updates() in localenroll.pm
- Configuration of course catalog has more options:
    - Type of catalog displayed can be one of: standard (i.e.,  
original catalog), domain-only (i.e.,
      no selector to switch to different domain, code search form,  
i.e., form to search by six character
      code, or no catalog.
    - Type of catalog displayed can be set to be different for  
authenticated and unauthenticated users.
- More granular control is provided over what is shown in the Domain  
Coordinator Course Catalog view
   i.e., when "Show full details" is checked:
   - Totals can be displayed for unique courses, sections, counts for  
current, future, and past students.
   - Counts of "past" students can be based on: (a) default end access  
date, (b) auto-enrollment end date,
     or (c) active status on a specific date.
   - Totals can be included for student credit hours, if credits  
enabled for official or unofficial courses.
- Configuration of course/community defaults has more options
    - Default quotas can be set (by course type) for files uploaded  
directly to course via Course Editor.
    - Default credits can be set (by course type).
- Additional server status access pages: listing of course/community  
disk usage, listing of six character
      codes in use, results of checksum-based validation of installed  
LON-CAPA modules.
- Configuration permits users to request creation of an author role in  
their domain.
   - Requests can either be processed automatically, or queued for approval.
   - Defaults can be assigned based on institutional status, and can  
be overridden for individuals.
- Logging of role changes for domain roles and co-author roles (who,  
what, when, context, and by
   whom), with access to the appropriate log information via a submenu  
in "Modify users".
- Information to show when listing users in the domain, based on role,  
is selectable. Disk usage
   and disk quota are new options available when listing information  
about authors.
- Contact Helpdesk can be set to require CAPTCHA validation (default:  
is to not use).
- Display of the "Contact Helpdesk" link on log-in page can be  
disabled (default is to display).
- Link on log-in page to "log-in help" can point to custom log-in help  
page for user's domain
   (different log-in help files can be provided for different  
languages, and the file linked to
   depends on user's browser language preferences).
- A web-based interface is available to manage load balancing on the  
domain's servers which supports
   use of multiple dedicated load balancing servers in a particular domain.
   - Servers can be easily taken out/added to the balance pool to  
facilitate maintenance.
- The color chooser used for color selections in the domain  
configuration is jPicker.
- Fullname, username, and domain are shown in domain configuration  
where a DC needs to be selected
   (e.g., who to notify of authoring space or course requests needing  
- Utilities are available to checksum LON-CAPA modules to verify  
integrity of LON-CAPA installation,
   and also to check the availability of new LON-CAPA releases  
(recipients of nightly e-mail sent
   if module changes or LON-CAPA updates are detected can be set).
- Domain defaults can be specified for credits earned in a course for  
official or unofficial courses.
   - Course-specific credits can be specified when: (a) creating a  
single course, (b) in the XML in
     batch course creation, or (c) via "Modify course" after the  
course has been created.
   - Course credits for an official course can be specified or  
retrieved from customized localenroll.pm,
     and can be specified for an unofficial course as part of a course request.
- Institutional user types defined for a domain (e.g., Faculty, Staff  
and Student) can be set via the
   web-based domain configuration tool. Values set this way will  
supersede values for the domain from a
   customized inst_types() routine in localenroll.pm. Types can be  
applicable to self-created usernames
   (e-mail address as username) - self-reported in this case.
- Default disk quotas can be set for Authoring Spaces, based on user's  
affiliation (e.g., Faculty, Staff etc.)
- WebDAV access to Authoring Spaces can be enabled for users with  
author or co-author roles, based on user's
   affiliation, as long as log-in is supported via a non-SSO log-in,  
i.e., internal, local, or Kerberos.
- Configuration of Contact information has more options:
   - Set recipients of e-mail generated by a nightly check of LON-CAPA  
module integrity/updates.
   - Set recipients of e-mail generated by a bi-nightly check for  
multiple users sharing same student/employee ID.
   - Error report e-mail generated when a user submits the error  
reporting form displayed in the case of an ISE
     (500 error) can be set to not be sent to the LON-CAPA developers (at MSU).
- Bubblesheet format file supports additional field (BubblesPerRow),  
which is number of bubbles available
   in each row used to bubble an answer. (If not specified, 10 assumed).

Institutional integration
- Shibboleth authentication supported for Single Sign On (SSO).
- Institutional status can be set when auto-enrollment adds a new  
LON-CAPA user.
- Credits for individual students can be retrieved from an  
institutional data source
   and stored in the LON-CAPA roster database file.

Course Management
- Edit Folder icon/link in Functions menu, when displaying a resource,  
and also icon alongside folder names
   in Course Contents provide direct access to the Course Editor for  
the specific folder.
- Syllabus and Feeds items included in inline menu for Course Coordinators.
   - other roles will also receive the Feeds item if there are any  
visible course RSS Feeds.
   - other roles will also receive the Syllabus item if the syllabus  
has been edited and is not
     included in the Main Content area.
- Two additional syllabus types available - uploaded file, and minimal  
template (single editable
   WYSIWYG text area).
- For standard template-based syllabus list of course personnel to  
display is configurable.
- "Edit" button for syllabus which provides direct access to  
configuration replaces access via:
   Course Configuration -> General course settings.
- "External Resources" can be edited directly from an "Edit" link  
(i.e., without entering the Course Editor).
- Edit icon included in row of icons for each item in a composite  
page, if user has privileges to edit
   the content item.
- Display of date/time of last "login" by user/role/section added to a  
Course's What's New screen and
   also to "List Users" screen in the User Management menu (a "login"  
event is selection of a course role).
- Course Editor paste buffer improvements:
   - Main Content <-> Supplemental Content pasting within a course is  
now handled correctly.
   - Folders created via the Course Editor containing other folders  
can be cut/copied/pasted.
   - The paste buffer can be used to copy content (including entire  
folders) between courses.
   - If "cut" in current course was used to put content in the paste  
buffer, and content is an
     uploaded folder/page, bulletin board or simple page, paste  
includes the options to either:
     (a) copy (i.e., make new item), or (b) "move", i.e, move as current item.
   - When pasting Simple Pages added to the paste buffer via a "cut",  
user can choose to move or copy.
   - When pasting Simple Pages added to the paste buffer via a "copy",  
page is copied (i.e., a new page
     is created, which, when edited, has no effect on the old page).
- Course Editor interface improvements:
   - An "edit" link is included for all editable items (uploaded html,  
css, js, and txt files),
     templated files (Syllabus, Simple Page, Simple Problem, External  
Resource, About Me) and published
     resources for which user has rights to edit.
   - A "blank" web page can be created and the RichText Editor, and  
"manage dependencies" button used to edit it.
   - Undo delete and history tabs are available for both the  
Supplemental Content and Main Content areas.
   - Archive files can be uploaded (and decompressed) in the Main  
Content and Supplemental Content areas.
   - HTML files uploaded to Supplemental Content can be edited, and  
any dependencies can be replaced
     (or uploaded if missing).
   - Switching of the active tab on mouse-over has been eliminated;  
clicking an already active tab will
     make the tab inactive.
   - Display of file input elements for External Resource, Load Map,  
Upload File and IMS Import now
     triggered by clicking the icon/link for the particular action.
   - Use of static HTML files: extpickframe.html and extpickcode.html  
discontinued for External Resource.
   - Use of a unique identifier is ensured when adding a folder or  
composite page to a course.
   - No cut/copy links are provided for special folders created when  
using groups:
     (Groups Folder, folder for each group, and Discussion Boards  
folder for each group).
   - The location of Remove, Rename, Cut, Copy links is consistent for  
each line in the Course Editor
     (visibility hidden if Cut or Copy not available for a particular  
   - Checkboxes for hidden, URL hidden, Randomly Pick, Random Order  
can be selected for multiple items
     in a folder and submitted all at once.
   - External resources can be included in Composite pages (iframes used).
   - Support for uploading multiple (linked) pages to a course, where  
only one (containing links to others)
     is included in a folder.
   - Editing utilities not specific to current folder moved to  
separate "Content Utilities" tab.
   - Copy Course Content to Authoring Space now displays hierarchical  
view of folders and content, and allows
     user to pick which ones to copy (if user session NOT hosted on  
home server, switch server link shown).
   - Copy Course Content to Authoring Space prompts user to explicitly  
choose target space, if user has co-author
     access to Authoring Spaces in addition to his/her own Authoring Space.
   - "Simple Pages" and "Simple Problems" added to a course using the  
Course Editor can be copied to Authoring
     Space ("Simple Problems" are converted to the appropriate response type).
   - Unique time-based id included in path for storage of uploaded  
photos in Simple Pages to avoiding overwriting
     files with the same name in different Simple Pages in the same course.
   - Verification of valid xhtml for Simple Pages supports more tags  
and supports rendering of HTML entities.
- Dependencies in HTML pages uploaded directly to a course can be  
managed via a Manage Dependencies button
   available when editing the file.
- When using discussion voting, a course setting can be used to  
configure styles used for popular/unpopular
- When displaying user lists, checkboxes can be used to decide what  
user information to include for each
   user listed.
- Course owner can revoke/modify Course Coordinator roles from the  
"list users" screen.
- The role switcher used to switch between course roles now supports  
switching between roles when
   viewing a page with "URL hidden", if URL hiding applies in one  
role, but not the other.
- The time column in student submission reports (HTML and csv output)  
has been internationalized.
- The icon used to link to the Course Editor to edit folder contents  
is now also displayed for
   "composite pages" added to a course via the Course Editor.
- Generation of breadcrumb trails in auto-enrollment configuration  
screens now uses standard routines.
- Credits earned for a course can be different for a specific student  
(e.g., retrieved from institutional
   classlist data), or specified when a Course Coordinator adds a  
student to a course via the web GUI.
- Simple pages can have content open/close dates and other content  
style parameters.
- When Camtasia 8 files are uploaded directly to a course in a zip  
file, they are automatically unpacked.
- Exam blocking configuration has more options:
   - Generation of printouts can be added to the feature blocked.
   - Access to content within a LON-CAPA course (aside from the online  
exam itself) can be blocked.
   - The blocking event may be set to only apply for a specified timed  
quiz (i.e., a folder with a
     timer set), and come into effect when the user presses "Show  
Resource" to start the timer.
- New parameters
   - lenient (partial credit for optionresponse and matchresponse).
   - retrypartial (new submission allowed, subject to tries limit, for  
partially correct).
   - discussvote (voting like/unlike on discussion posts).
   - printstartdate and printenddate (define time window during which  
printout generation is allowed).
- Student names containing accented character(s) no longer cause  
misalignment of columns in Assessment Chart.
- Course personnel permitted to view grades can view a student's prior  
versions of a Bridge Task (BT).

- Bubblesheet grading of CODEd exams now supports use of the  
randomorder and randompick parameters
    for the folder being graded.
- When using bubblesheets to record grades for handgraded exams, user  
can choose what filled last bubble
   represents (either a zero or maximum possible).
- When composing messages to students on grading screens, decision on  
whether or not to have scrollbars
   is left to web browser.
- Support Turning Technologies clickers.

- spreadsheet functions -- &NUM(), &BIN(), &SUM(), &MEAN, &STDDEV(),  
&PROD(), &MAX(), &MIN(), &SUMMAX,
   &SUMMIN(), &MAX(), &MIN(), &SUMMAX, &SUMMIN() now exclude cells  
previously populated but since
   updated to contain nothing, when counting numbers of cells.

- When problems/resources from folder are printed for CODEd  
assignments, the order will be the same
   as seen on screen for a particular CODE, in cases where randomorder  
is set for the folder.
- When printing problems/resources for another user in cases where  
"randompick" is set for the folder,
   resources printed will be appropriate for the "randompick" in force  
for the other user.
- The ability to print resources can be controlled by setting  
printstartdate and/or printenddate.
- The attribute direction="horizontal" for radiobutton response types  
applies in printouts.
- Privileged users can print incomplete problems for selected students.
- Printout option to sort by section, then students (the default)  
works as advertised.

- Support is available for utf-8 encoding (requires gnuplot 4.4 or later).
- More control is provided over arrows in vector plots.
- Complete control is provided over axis major tics.
- Tick labels can be rotated.
- Drop-down color-picker available (uses jPicker).
- Support for dashed lines in Gnuplot (both screen and printouts).

- New problem responsetype: functionplotresponse (uses GeoGebra).
   - Students using mouse pointer or trackpad etc., to drag handles to  
construct a graph with splines.
     - uses either Geogebra HTML5 javascript in modern browser,  
otherwise falls back to Java applet.
   - Author establishes rules for determining correctness of graph  
(e.g., match of function itself,
     or match of first derivative, or second derivative etc. to  
student submission) to grade submission.
     - Uses HTML5 javascript if browser support available, otherwise  
falls back to Java applet.
- New problem templates
   - Custom Response comparing Equations using Computer Algebra System.
   - Functionplotresponse with Background Plot.
   - Functionplotresponse with Labels.
   - Functionplotresponse with Vectors and Hints.
   - Functionplotresponse with two Splines and Hints.
   - Drop Box.
   - Option Response - Matching (multilingual).
   - Numerical Response Multiple Answers unordered.
- Spell-checking is available for <input type='text'> and <textarea>  
using spellcheck attribute;
   supported languages are: en, de, es, fr, he, pt, tr.
- Warnings about significant figures where answer format is set to be  
S, but correct answer is an
   integer with multiple trailing zeroes are eliminated.
- Radiobuttonresponse containing foil with location="bottom" and  
value="false" can now include "true"
   foil in next to bottom position.
- Optionresponse includes a "noprompt" attribute in <foilgroup> tag  
which can suppress the default:
   "all that are true" text displayed in checkbox mode.
- Matchresponse:  An additional attribute: "columns", works in tandem  
with the existing attribute:
  "direction". If columns is not set, display defaults to a single  
row, for direction=horizontal, or
   single column - otherwise).
   - When columns is set to an integer (e.g., 3), for  
direction=horizontal items will be labelled as:
       A B C
       D E F
     or, for direction=vertical:
       A C E
       B D F
- A "People" item is included in the inline menu if a user's current  
role is author, which
   provides access to user management (e.g., add/revoke co-author roles).
- A "Change Log" item available in the user management area if a  
user's current role is author
   can be used to list the history of co-author role changes.
- The tabular display of the contents of a LON-CAPA directory is now  
sortable by column, and a
    new column (Size) has been added, which will show file size.
- Publishing a Camtasia 8 file automatically sets allow tags for all  
- Image supported as link in <window> tag.
- New tag <windowlink> will bring up the link in a modal window.
- Icon added to Custom Rights file editor to highlight status of  
allow/deny setting for each entry.
- If iframe tag is included in a resource, and source points at  
another LON-CAPA resource,
   inhibitmenu="yes" attribute added during rendering, unless included  
in original published resource
   to avoid duplicate LON-CAPA inline menus.
- Support for upload of .webm files (HTML5).
- Enhanced readability of "Large Text Entry Area"-block in colorful  
editor by improving contrast/color

- Many new translations and improvements for German localization.
- Some updates to translations for other supported languages.
- List of selectable languages in user preferences is shown  
untranslated (i.e., in native language/

- Reorganization of Authoring Manual -- several additional contextual  
help files created/included.
- Text in several help files used in Course Coordination manual  
clarified or extended.
- Help menu provides authors and coordinators access to both Authoring  
and Course Coordination
   manuals (both PDF and HTML) from dropdown lists in help menu screen header.
- Documentation for functionplotresponse (student graphing response type).
- Added documentation on importing testbanks to Authoring Manual.
- Added documentation on adaptive hints to Authoring Manual.
- Added documentation for library files to Authoring Manual.

Third-party modules
- DragMath WYSIWYG math editor updated to 0.7.9 and signed using  
InCommon code signing cert.
- Mimetex renderer updated to 1.74 (addresses rendering issue for  
certain expressions with
   Ubuntu 10.04, 64 bit architecture).
- GeoGebra updated to

Other bug fixes
- Access to versioning information is available for published content  
which requires wrapping.
- Unwanted log messages on a load-balancer server generated when  
/adm/switchserver is called via
   internal_redirect, immediately following authentication, have been  
- Speed-up in display of Course Contents screen during timed quiz.
- Incorrect syntax in expression passed to maxima no longer results in  
"Code ran too long"
   for certain recent Linux distro versions.
- Sporadic "code ran too long" errors for problems involving use of  
&cas() function
   calls to maxima symbolic math engine eliminated.
- In metadata, creationdate and modificationdate set appropriately at  
publication time.
- Dynamic metadata in multi-part problem now includes statistics for  
other than last calculated part.
- Significant figures checking of "computer's answer" no longer warns  
of conflict in the case
   where the answer format is set to S, but the correct answer is an  
integer with multiple trailing
- Image file uploaded to domain configuration for header image no  
longer truncated by 1 byte.
- Portal URL (if defined in domain configuration) is now set in cached  
domain defaults.
- Search of the cross-institutional content repository can once again  
search all domains hosted
   on a multi-domain server.
- Use of a unique identifier enforced when creating a new folder or  
composite page in a course using
   the Course Editor, by testing for uniqueness of time-based id.
- Access to functionality in CPAN module: Math::Complex in Safe Space  
re-enabled by replacing
   standard module with LONCAPA::LCMathComplex which eliminates use of  
Config.pm (disallowed in
   Safe Space).
- What's New screen now correctly displays roles which became active  
in the specified time period.
- Approval of course requests in domains containing a hyphen in the  
domain name now works.
- Generation of javascript for first page of course request form  
modified to work with
   perl-5.8.8-40.el5_9 (CentOS 5 update: 3/26/2013).
- Improved handling of changing client IP address when using dedicated  
load-balancer server.
- List of selected broadcast message recipients handled correctly in  
the case where there is only
   one user of the specified type (active, future, or previous).
- Support toggle between Rich Text/Plain Text for multiple textareas  
in a composite page.
- Correctly detect browser version for IE, in cases where Chrome Frame  
plug-in is in use.
- Browser type and version detection supports Chrome.
- Use hostname in place of IP address to avoid a "certificate verify  
failed" issue with certain
   SSL configurations when fetching a user file from a remote server  
for permanent storage in
   userfiles subdirectory in course's directory on home server.
- Can display applets where hidden URL is set, and can also display  
Camtasia files (with dependencies
   on .js, .swf and .mp4 files) where hidden URL is set.
- Script available to expire DC role for user whose homeserver is also  
library server in a DC role's
- Eliminate creation of unnecessary copies of previous versions of  
LON-CAPA files which have changed
   (saved as .lpmlsave files) -- if other than the latest stable  
LON-CAPA version was installed,
   and later updated with a newer stable release of LON-CAPA.
- Re-establish availability of ln() function in script blocks for  
Linux distros running perl 5.10.1
   or newer.
- Matchresponse editing with colorful editor: additional blocks  
selected to be inserted after
   the matchingresponse block now added on the correct hierarchical level.
- Can display student submissions from customresponse items with  
multiple input fields.
- Can view own submissions in anonymous surveys.

- Requests to dump the contents of a GDBM database file residing on  
the same server as hosting the
   user session are handled by direct filesystem access instead of via  
the LON-CAPA daemons.
- Requests for filtered search of GDBM database file used for quick  
look-up of course information for
   courses in a domain also uses direct filesystem access if session  
server is also the domain's
   library server.
- Support for Apache 2.4 -- $r->user() needs to be set to user's  
username for requests for <Location>
   directives which include Require valid-user.
- Modifying a domain default which is cached for 24 hours will cause  
the domain defaults caches to be
   expired on other servers belonging to the domain, causing the new  
default to be retrieved and cached
   on the domain's servers the next time defaults are needed.

New supported Linux distros:
Fedora 17, 18, 19, 20; SuSE 12.2, 1.3, 13.1; and Ubuntu 12.04 LTS are  
newer Linux distro versions
which are now supported with LON-CAPA.
Note: Ubuntu 14.04 LTS is also expected to be supported for 2.11.0 (final).

Specific bug/enhancement requests addressed:
838, 874, 1223, 2201, 2359, 2484, 2598, 2802, 3009, 3374, 3462, 3569,  
4046, 4164, 4331, 4334, 4492, 4586,
4769, 4827, 4900, 5047, 5209, 5324, 5590, 5676, 5685, 5712, 5753,  
5771, 5794, 5824, 5891, 5962, 5991, 6127,
6128, 6149, 6165, 6185, 6202, 6224, 6244, 6291, 6305, 6340, 6371,  
6408, 6419, 6420, 6431, 6448, 6450, 6454,
6455, 6459, 6470, 6489, 6491, 6518, 6540, 6534, 6535, 6542, 6543,  
6548, 6550, 6558, 6559, 6561, 6566, 6576,
6577, 6586,6587, 6592, 6593, 6595, 6603, 6606, 6608, 6610, 6619, 6629,  
6632, 6634, 6638, 6639, 6646, 6647,
6649, 6653, 6660, 6662, 6667, 6668, 6670, 6671, 6675, 6679, 6685,  
6689, 6694, 6703

Installation Notes:

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

To install this update:

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

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

2) Update LONCAPA-prerequisites to 1-23

(a) Fedora

yum update

(b) RedHat Enterprise 4

up2date -u LONCAPA-prerequisites

(c) Red Hat 5 and 6/Centos 5 and 6/Scientific Linux 5 and 6

yum update


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

(e) Ubuntu

sudo apt-get update
sudo apt-get upgrade

On all distributions, it is recommended that you check that you have
the correct versions 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., centos5.lc)

(ii) Ubuntu
sudo dpkg -l loncapa-prerequisites

should report
ii loncapa-prerequisites 1.23-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.0.RC3.tar.gz

and untar it

tar xzvf loncapa-2.11.0.RC3.tar.gz

4) stop the LON-CAPA system services

/etc/rc.d/init.d/loncontrol stop

5) stop the web server:

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

Fedora 17 (and newer), SuSE 12.X, 13.1:
service httpd stop

/etc/init.d/apache stop

SuSE 11.X, 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.0.RC3

7) If you are updating a LON-CAPA library server from an earlier version
of LON-CAPA, 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

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 may 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, jsMath, 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 -- will be 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:\/\/)  
     RewriteRule ^/public/.*/syllabus$  

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 LON-CAPA
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  
-- $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/rc.d/init.d/loncontrol start

11) restart the webserver:

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

Fedora 17 (and newer), SuSE 12.X, 13.1:
service httpd start

/etc/init.d/apache start

SuSE 11.X, 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.0 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 the 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-dev mailing list