Ares 4.7 Web Page Changes

Follow

The following changes have been made from the 4.6 to 4.7 default web pages.

 Running Ares Web DLL from Single Physical Location

The Ares Web DLL can now be installed to one physical location on the web server but be accessed from multiple web directories. This is beneficial so that there is only one copy of the Ares Web DLL on the server which will make updating and configuration within IIS easier.

Note that this setup will only work with Ares 4.7 and higher. Previous versions of the Ares Web DLL may appear to function under this setup but certain features will not work properly.

Modifying Existing IIS Setup
1. Add a handler mapping (module mapping) at the Server or Site level. Atlas recommends using the server level when multiple websites are configured under the server level that needs to support the Ares web dll. (i.e. Using different domain names)

The request path should be set to Ares.dll, the executable should point to the physical location of the Ares.DLL file, and the Name of the mapping should be set to Ares DLL. Note that the IIS web user accounts associated with the Ares application pool must have NTFS permissions to read and execute the Ares.dll.

2. Set the request permissions. It is important to uncheck "Invoke handler only if the request is mapped to...". If this is on, IIS ensures the DLL exists in the physical path of the virtual directory.


3. Set Access to Execute


4. Edit the feature permissions to "Execute" on the Ares.DLL. You may also see that the ISAPI-dll handler will become enabled at the same time which is expected behavior in IIS.


5. As with previous web dll configurations, the ISAPI & CSGI restrictions need to allow the DLL from the new physical location (if using a new directory).


6. All previous ISAPI & CGI restrictions for the Ares.dll should be removed, including specific configurations for the Testweb ares.dll. The physical Ares.dll that existed in the web pages directories can also be removed (i.e. C:\inetpub\wwwroot\ares\ares.dll & C:\inetpub\wwwroot\ares\testweb\ares.dll)

New Item Menu with more clarity for differences between Enabled, Disabled, and Hover state

Created a new item menu that has more clarity for differences between enabled, disabled, and hover state. Also has options to hide disabled links. The menu is output as a <ul> HTML tag with each menu option as an <li>.

 

The menu tag supports attributes of ID & MenuClass to alter the ul tag that is generated.

  • menuClass will set the css class of the ul element. e.g. if menuClass=cssClass, the output would look like <ul class="cssClass" ......>....</u;l>
  • ID will set the ID of the ul element. e,g, if id=itemMenu, the output would look like <ul id="itemMenu" ....>....</ul>. Note that if an id is not provided, itemMenu is used by default. 

The menu tag supports 4 item options of View, Edit, Delete, & ExportCSS. Each item can be added to the menu by adding an attribute to the menu tag with the name of the item option. The link text will display the same as the item option name unless it is overridden. To override, add a colon and the text to display after the item option name. e.g. 

<#MENU name="item" item="View"....> is not overridden & will show the View link with the text "View".

<#MENU name="item" item="View:View Item"....> will show the View link with the text "View Item".

 

If item options are not provided the default items are added to be as if the user entered the following.

<#MENU name="item" item="View:View Item" item="Edit:Edit Item" item="Delete:Delete Item" item="ExportRIS:Export Citation" .....>

 

To control whether the links will open in new windows, add the item option names to the NewWindowMenuItems attribute. Example: If you want View and Edit to open in new windows the menu tag should look like <#MENU name="item" NewWindowMenuItems="View,Edit"

Changes to CSS

".nav" is used to display the menu

".nav-link" and ".nav-item" are used to display the individual items in the menu

"a.nav-link:visited," "a.nav-link:link," and "a.nav-link:hover" are used to format the different states of the menu links.

"#item-menu .disabled" sets disabled links to the correct display.

 

If you don't want to see the disabled options on the page, uncomment the line of code containing "display: none;" inside of "#item-menu .disabled"

Changes to include_vieweditdelete.html

The include_vieweditdelete.html page replaces the entire contents with the new menu tag.

Previously the page had the following: 

<div style="margin: 2px 15px 2px 25px; padding: 3px; background-color: #E6E6FA; border: 1px solid #0000FF;">
    <#ITEM field="BuildURL" alt="View this item" linkText="View this item" footertext=" <span aria-hidden='true'>|</span> ">
    <#ITEM field="BuildEditURL" alt="Edit this item" linkText="Edit this item" footertext=" <span aria-hidden='true'>|</span> ">
    <#ITEM field="BuildDeleteURL" alt="Delete this item" linkText="Delete this item" footertext=" <span aria-hidden='true'>|</span> ">
    <#ITEM field="BuildRISExportURL" alt="Export Citation" linkText="Export Citation">
</div>

 This was replaced with the new menu tag. 

<#MENU name="item" item="View:View Item" item="Edit:Edit Item" item="Delete:Delete Item" item="ExportRIS:Export Citation">

Changes to include_viewdelete.html

The include_viewdelete.html page replaces the entire contents with the new menu tag.

Previously the page had the following:

<div style="margin: 2px 15px 2px 25px; padding: 3px; background-color: #E6E6FA; border: 1px solid #0000FF;">
    <#ITEM field="BuildURL" alt="View this item" linkText="View this item" footertext=" <span aria-hidden='true'>|</span> ">
    <#ITEM field="BuildDeleteURL" alt="Delete this item" linkText="Delete this item">
</div>

This was replaced with the new menu tag. 

<#MENU name="item" item="View:View Item" item="Delete:Delete Item">
 

Calendar widgets updated in default pages

The Ares Calendar has been updated because the old calendar used deprecated features.  Since pages are customized, manual action must be taken to update the calendar in already existing pages.  

It is recommended to backup website files before doing this update.

Update Steps:

1. Remove Unneeded Files

    • Ares\js\mod_date.js
    • Ares\js\mod_day.js
    • Ares\js\mod_info.js
    • Ares\js\mod_journal.js
    • Ares\js\mod_link.js
    • Ares\js\mod_list.js
    • Ares\js\mod_long.js
    • Ares\js\mod_tiles.js
    • Ares\js\mod_time.js
    • Ares\js\mod_tips.js
    • Ares\js\xc2_control.js
    • Ares\js\xc2_default.js
    • Ares\js\xc2_inpage.js
    • Ares\js\xc2_template.html
    • Ares\js\xc2_window.js
    • Ares\js\_xc2_default.js
    • Ares\css\xc2_default.css
    • Ares\css\xc2_image.cs

2. Remove References to old files in the web project

    • <link rel="stylesheet" type="text/css" href="css/xc2_default.css" />
    • <script type="text/javascript" src="js/xc2_default.js"></script>
    • <script type="text/javascript" src="js/xc2_inpage.js"></script>


3. Update Ares\js\arescal.js 

    • Go to C:\Ares\Updates\WebPages
    • Unzip DefaultWebpages.zip
    • Within the DefaultWebpages folder navigate to the js folder
    • Copy the arescal.js file
    • Navigate to the Ares web directory's js folder (Ares\js)
    • Overwrite the existing arescal.js file with the new version copied from the DefaultWebpages folder

Correct Improperly Formatted INCLUDE tags

Correct the improperly formatted INCLUDE tags on the following pages:

  • include_fullproxysharedlistmenu.html

    Replace this:

    <#INCLUDE Filename="include_changepasswordoption.html" AresAuth="True"> 

    with this:

    <#INCLUDE filename="include_changepasswordoption.html" restriction="AresAuth">
  • include_instructorcoursemenu.html

     

    Replace this:

    <#INCLUDE Filename="include_changepasswordoption.html" AresAuth="True"> 

    with this:

    <#INCLUDE filename="include_changepasswordoption.html" restriction="AresAuth">
  • include_instructorsharedlistmenu.html

    Replace this:

    <#INCLUDE Filename="include_changepasswordoption.html" AresAuth="True"> 

    with this:

    <#INCLUDE filename="include_changepasswordoption.html" restriction="AresAuth">
  • include_studentcoursemenu.html

    Replace this:

    <#INCLUDE Filename="include_changepasswordoption.html" AresAuth="True"> 

    with this:

    <#INCLUDE filename="include_changepasswordoption.html" restriction="AresAuth">
  • include_menu.html

    Replace this:

    <#INCLUDE Filename="include_changepasswordoption.html" restriction="AresAuth=True"> 

    with this:

    <#INCLUDE filename="include_changepasswordoption.html" restriction="AresAuth"> 

Update JQuery from 1.9 to 1.12.4

The latest Ares Default Pages are now using JQuery 1.12.4. To update JQuery, follow the following steps.

Steps:

  1. Open include_head.html
  2. Replace this line of code

    <script src="//code.jquery.com/jquery-1.9.1.min.js"></script>

    with this line of code

    <script src="http://code.jquery.com/jquery-1.12.4.js"></script>

Fix incorrect file path on some images in main.css

A few images had an incorrect file path to them in main.css. It has been fixed in the Ares default pages. To make the changes on your pages, follow the following steps.

  1. Open main.css
  2. Find the lines of code that look like this:

    background-image: url(/css/images/bullet.gif);
  3. Replace them with this line of code:

    background-image: url(images/bullet.gif);
  4. Find this line of code:

    background: transparent url("/css/images/aoutside.gif") no-repeat 100%;
  5. Replace it with this line of code:

    background: transparent url("images/aoutside.gif") no-repeat 100%;

Prevent Students from viewing items that are not available yet

When students navigated to an item directly (or via plink), they could see the item content if they were a member of the course even if the item was not yet available. This is now prevented so that in addition to a user being associated with a course, the user must either be an instructor or proxy for the course to see the item or the item must be active (i.e. status must be at Item Available... and the current date should be within the availability date range).

If a user is not associated with the course, the user will be redirected to their respective Home.html page. The SLDeniedItemID status line is used for the message displayed.

If a user is associated with the course but the item is not yet available, the user will be redirected to their respective Home.html page. The SLItemNotAvailable status line is used for the message displayed.

Three status lines were added if they were not already present:

Status Line Field Name Description
SLDeniedCourseID Shown when a user is not associated with a course when attempting to view course information, course tags, remove a course user, build the course spreadsheet (when not an instructor).
SLDeniedItemID Shown when a user is not authorized to view an item or item information (not associated with the course), or when not associated with the course trying to export RIS information.
SLItemNotAvailable Shown when a user is authorized to view an item but it is not yet available.

Change IPreviousCourseList.html offscreen heading

The default web page IPreviousCourseList.html (iPreviousCourseList.html) offscreen h1 was changed from Item # to Previous Courses.  This will only affect screen readers and will not change the visual display of the page.  If you would like to update your existing IPreviousCourseList.html page, please do the following:

  1. Open IPreviousCourseList.html (iPreviousCourseList.html) page.
  2. Locate the line that says:

    <h1 class=“offscreen”>Item <#ITEM field=“ItemID”/></h1>
  3. Replace it with the following:

    <h1 class=“offscreen”>Previous Courses</h1>

Fixed Missing Single Quote on ISharedListItemInfo.html and UItemInfo.html

There is a missing single quote on the ISharedListItemInfo.html and UItemInfo.html pages. Both missing single quotes are located in the WorldCat icon section of code. To find the missing single quote, search for width=16'. The corrected text should be width='16'.

New JavaScript functionality for the Loan Period in Ares Web

The Loan Period field in Ares Web can be either a custom drop-down field, a hidden input, or entirely missing, depending on the number of Loan Periods that are associated with the selected Pickup Location. This switch is made by the DLL on page load, but there is also a function in aresajax.js that pulls in a new set of Loan Periods whenever the Pickup Location is changed. This function did not respect the original formatting of the Loan Period drop-down, meaning that any custom field labels were replaced by the default label for that field whenever the Pickup Location was changed.

Changes were made to the aresajax function to preserve the formatting of the #LoanPeriod select element when different Pickup Locations are specified.

  • When the selected Pickup Location has 0 associated Loan Periods, the process will empty the contents of the #LoanPeriodDiv element.
  • When the selected Pickup Location has only 1 associated Loan Period, the process will replace the contents of the #LoanPeriodDiv element with a hidden input containing the value of that single Loan Period option.
  • Otherwise, the process will replace the contents of the #LoanPeriodDiv with a select element containing the associated Loan Periods, surrounded by any markup that appeared on the page when it was loaded by the browser.

Limitations:

  • If the DLL loads the page when the selected Pickup Location has 0 or 1 associated Loan Periods, then the text specified in the headerText and footerText properties of the #OPTION DLL tag do not exist on the page and cannot be referenced, meaning that custom field labels will be discarded anyway.
  • There is no text that can be specified in the #LoanPeriodDiv element that will appear when the selected Pickup Location has 0 or 1 associated Loan Periods.

Miscellaneous Changes

The following are small changes and fixes made on various web pages.

  • Removed duplicate image folder - Version 4.7 will remove CSS/images, since all images were in the root images folder, change image references to the images folder and then remove unused images as well.
  • Instructors navigating to an OpenURL link who have no available courses will no longer see the request form. Previously a request form would display but there was no way to submit the form since no courses were available to choose which course(s) the item should be added to. Now the instructor is redirected to the Main Menu. A new status line has been added (SLInstructorNoAvailableCourses) that the user will see when this happens. The status line defaults to "You have no available courses to add items to."
  • Improved the efficiency of GroupItem tag on courses with a large number of items.

Learning Management System (LMS) Pages

There is a new set of default web pages to be used in conjunction with various Learning Management Systems such as Canvas. The main functionality of the LMS web pages is the item/shared list tools. These tools include creating and editing items, adding them to shared lists and student favorites, etc. The LMS pages differ from the regular default web by minimizing the functionality and the interface. Other than that, the LMS pages utilize many of the same functions of the regular default pages. These pages were created to allow instructors to put a "permalink" within other documents on the course management systems using an LTI.

The web page changes to the LMS pages include:

  • Header bar has been removed
  • Nav menu changed to a horizontal menu at the top of the page
  • Removed all course editing tools (Create, clone, etc.)
  • Removed the Logoff option
  • Removed account editing tools (Change User Information, Change Password, etc.)
  • Removed peripheral tools (search, alerts, emails)
The LMS pages are not included in the installer and must be set up manually. The zip file download can be located on the Downloads page.
0 out of 0 found this helpful

Comments

0 comments

Article is closed for comments.