From raeburn at msu.edu Sat Sep 24 19:43:25 2016 From: raeburn at msu.edu (Stuart Raeburn) Date: Sat, 24 Sep 2016 19:43:25 -0400 Subject: [LON-CAPA-dev] Draft of Release Notes for 2.11.2 Message-ID: <20160924194325.26drv35e04cgwco8@loncapa.org> *** Draft of LON-CAPA 2.11.2 release notes *** 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 a domain for a different institution than the server belongs to is selected 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. 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 public-facing helpdesk form includes: v.2 of Google reCAPTCHA ("I am not a robot" checkbox). - 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. - 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. 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. 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 - 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 - Additional items can be sent to localenroll::crsreq_updates(): _LC_coursedescription, _LC_coursestartdate, _LC_courseenddate. - Additional calls to lonnet::auto_crsreq_update() for new actions: (a) initializereview and (b) prereview used to support custom javascript in textbook request page, and custom onload action. - Additional keys supported in hashref populated in localenroll::crsreq_updates() to customize "textbook" course request page: - createdactions (set course settings, post-creation, e.g., self-enrollment). - createdcustomized (suppress standard display of "Make another request etc.) - onload (actions to execute on page load). - validationjs (items to include in the form validation function). - javascript (additional javascript functions for use with textbook course request form). 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. Specific enhancement requests/bugs addressed: (see http://bugs.loncapa.org) 4394, 5464, 5596, 5679, 5787, 6690, 6770, 6708, 6774, 6778, 6782, 6788, 6793, 6796, 6797, 6800, 6802, 6806, 6810, 6815, 6817, 6832. 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 5, 6 or 7, RHEL (AS|ES) 4, 5, 6, or 7, Scientific Linux 5, 6 or 7, SLES 9, 10, 11 or 12, Ubuntu LTS 10, 12, 14, or 16 Fedora Core 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 or 24, or SuSE 11.4, 12.1, 12.2, 12.3, 13.1 or 13.2. (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 11 below. On Ubuntu LTS servers either prepend sudo for each command, or use sudo -i. 2) Update LONCAPA-prerequisites to 1-25 (a) Fedora yum update (b) RedHat Enterprise 4 up2date -u LONCAPA-prerequisites (c) Red Hat 5, 6 and 7/Centos 5, 6 and 7/Scientific Linux 5, 6 and 7 yum update (d) SuSE/SLES 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 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 7 service httpd stop SuSE 12.X, 13.X, SLES12: service apache2 stop SLES 9: /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.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:/// to https:/// 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:/// to be rewritten to https:///, 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 block: 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} RewriteRule (.*) - [L] RewriteRule ^/public/.*/syllabus$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L,NE] replacing with the IP address of the server itself. Note: this is only needed if you are using SSL (i.e., requests to https:/// are supported) and you want to rewrite external requests to http:/// to always use https:/// 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 9: /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 /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