Archive for LibAuth

LibGuides Accessibility Updates, AZ Page Stats, HTTPS Certificates and more!

Accessibility fixes

This week at Springy HQ we are pleased to bring you the following accessibility fixes. Our first pass of fixes in the last few months focused on “errors” on all public pages; this pass hits the E-Reserves module as well as many things classified as “alerts”—things that could technically adhere to guidelines but needed examining. See something else we need to consider? Let us know! Click the Support tab on any admin-side LibGuides page to send us a ticket.
Please include:
  • Name of the accessibility tool you’re using
  • Description of the issue, including any code snippets that trigger the alert
  • Screenshot of the accessibility tool’s overlay highlighting the issue, if possible
  • URL of the page (included automatically if you use the Support form)
To ensure that content that you add keeps your guides accessible, please see our help guide on LibGuides and Accessibility accessible as well as the upcoming training session on the topic.
E-Reserves fixes
  • We rebuilt the E-Reserves request form using plain HTML & Bootstrap select menus, eliminating several issues with keyboard and screenreader navigation.
  • We eliminated a few errors and alerts on the main E-Reserves listing page and on course pages.
  • We changed the H4 element used to mark up the number of courses shown to an H2 to maintain proper page outline.
Public Pages fixes
  • We’ve replaced the select menus on the Subject and Profiles by Subject pages with simpler HTML that eliminates several alerts and errors.
  • We changed an H4 tag on the Subjects page to H2 in order to maintain proper outline order.
  • We added a missing ARIA label on the system homepage and changed the Sort control to a <div> rather than a <form> tag.
  • We removed a hidden field that was triggering a “redundant ALT text” alert.
  • We wrapped the profile image and name together in a single link tag to eliminate the “redundant link” alerts.
Gallery boxes
  • We incorporated an updated version of the component used in Gallery boxes as it contained several accessibility updates.
  • We changed the slide title field to H3 since the box title is H2, to maintain proper outline order.
A few changes might require the updating of your system’s CSS and custom templates, but only if you make extensive use of CSS and custom templates. Most folks won’t have to worry about these! Here are the gritty details, should you need them:

CSS Changes:

System & Group Home Pages
WAS:
The element around the “Display” area, which allows you to control the order in which guide lists are displayed should not have been a <form> element.
NOW:
It is now a <div> element, so any customizations targeting the form element should be updated to use <div> instead.
Gallery Boxes
WAS:
Slide titles were <h4> elements.
NOW:
This is now an <h3>, following proper sequential numbering of heading tags on the page.
E-Reserves – er.php
WAS:
“Search for Courses” label next to the search box was a <span> element.
NOW:
This is now correctly in a <label>. Heading above the list of courses, subjects, etc., was an <h4> element. This is now an <h2>, following proper sequential numbering of heading tags on the page.
E-Reserves Request Form – er_request.php
WAS:
We had been using a component for some of the select options on the page that we determined was not accessible to screen readers / keyboard navigation. It had its own set of classes, which all started with “select2”.
NOW:
We’re using simple HTML styled by Bootstrap’s default classes. All classes starting with “select2” are removed. These include: select2-drop, select2-display-none, select2-with-searchbox, select2-drop-active, select2-offscreen, select2-input, etc.
Password-Protected Pages – Groups, Guides, Courses
WAS:
The message prompting users to enter the password (above the text box) was not in a <label>.
NOW:
That text correctly has a <label>, as it is associated with the password input below. Any CSS changes should target the <label> element.
Profile Landing Page – prf.php
WAS:
“By Subject” dropdown was using a component that we found was not accessible to screen readers / keyboard navigation. It had its own set of classes, which all started with “chosen”.
NOW:
We’re using simple HTML styled by Bootstrap’s default classes. All classes starting with “chosen” are removed. These include: chosen-select, chosen-container chosen-container-single, chosen-default, chosen-single, etc.
Profile names are not linked, so style changes could be made using:
div.s-lib-profile-nameProfile names are now linked to their profile (in addition to the picture being linked), so any style changes to the profile name must be adjusted to include the anchor tag:
div.s-lib-profile-name a
Subjects Pages: sb.php and individual subject pages
WAS:
Subject dropdown selection was using a component that we found was not accessible to screen readers / keyboard navigation. It had its own set of classes, which all started with “chosen”.
NOW:
We’re using simple HTML styled by Bootstrap’s default classes. All classes starting with “chosen” are removed. These include: chosen-select, chosen-container chosen-container-single, chosen-default, chosen-single, etc.  Headings above the list of guides, databases, etc., (“Showing x guides”, etc.) were <h4> elements. This is now an <h2>, following proper sequential numbering of heading tags on the page.

Template Changes:

Both the Profile and Subject pages now have ARIA labels for the <section> tags. If you are using the default templates, you do not need to make any changes to implement this update. Default templates automatically update.

If you have customized these templates, however, you will need to update your template to include the accessibility update, as outlined below.

Right now, each of these is coded as simply <section>. Now they are coded as follows. You can update customized templates to reflect these changes at any time.

Profiles Templates:

Main Landing Page – prf.php:

<section aria-label=”List of Profiles”>

Individual Profile Page – prf.php?account_id=x
<section aria-label=”Profile Content”>

Subjects Templates:

Search Bar:
<section aria-label=”Subject Search Bar”>Content area below Search Bar:
<section aria-label=”Content by Subject”>

Manage Your Domains!

New in LibApps is the ability to view and manage your systems’ domains, including the ability to add and change custom domains and upload a custom HTTPS certificate for LibGuides. Need a certificate installed for your LibCal or LibAnswers system? No sweat! Please email us at support@springshare.com or open a ticket by clicking the Support tab from the admin side of your product. We’ll get you set up right away, and the ability to manage these certificates on your own will be coming soon.
So what can you do on the new Manage Domains page? Go to LibApps > Admin > Manage Domains to:
  • View the domains for all your Springy apps
  • Add or change a Custom Domain Mapping for your LibAnswers, LibCal, or LibGuides site(s)
  • Create a Certificate Signing Request in order to request a custom HTTPS certificate for your LibGuides site with a custom domain
  • Manage the current HTTPS certificate for your LibGuides site with a custom domain
Also see our help guide on the topic.

Databases Page Stats

We’re pleased to add a long-awaited addition to your statistics interface: A-Z Databases Page hits. These stats show how many hits are made daily or monthly to your AZ list. From August 16, they also show the referring URLs, when that data exists.
Screenshot: the A to Z databases page stats include a graph and data table of hits to az.php

Other Fixes and Features

This release also included:
  • LibAuth:
    • The ability to specify a custom port for SIP2 and LDAP LibAuth configurations.
    • Automatic updating of LibAuth certification fingerprints and IdP configurations.
    • Now when you view an E-Reserves Course’s settings, you’ll see the name of the default LibAuth configuration, if one exists.
  • Resumption of the ability for customers to enter translation files for us. Interested? Please get in touch!
  • Ability to limit AZ Holdings Analysis to library type and location.

Just out: Authenticate to view LibGuides E-Reserves with LibAuth

We have some cool updates to LibAuth-related functionality to share with you today! Need to limit E-Reserves viewing to students and faculty? Limit a LibCal room to just faculty bookings? You totally can, with LibAuth Groups. Please note: currently SAML, Shibboleth / ADFS and CAS are the only authorization protocols that support groups; if you do not see the Group Permissions, then your selected protocol does not support Groups.

More about the existing LibCal functionality in a minute; what we’re really excited about is that you can now enable LibAuth authentication with LibGuides E-Reserves. You can specify which LibAuth profile to use at the system level or at the course level; both make use of Group Permissions.

To designate a LibAuth profile that governs access to all public E-Reserves content, go to Content > E-Reserves > Settings > Authentication.

Screenshot of LibGuides E-Reserves Settings with Authentication accordion expanded

To specify a profile to provide public access to the contents of an individual course, look for the Enable LibAuth Authentication menu in the course’s settings. You can choose the System Default profile, no profile, or a different profile.

Screenshot of E-Reserves Course Settings

LibAuth authentication for E-Reserves only grants access to public pages. Access to manage E-Reserves happens through LibApps accounts and not by virtue of assigning a LibAuth profile in E-Reserves settings. Want to enable LibApps login with LibAuth? You can! Edit your LibAuth profile and enable LibApps authentication, near the bottom of the screen.

To give permission to an authentication group to a group of rooms in LibCal, go to the settings page of the group of rooms and choose the appropriate option from Enable LibAuth Authentication.

LibCal Room Group settings: Study Rooms

If you use LibCal spaces, to go Admin > Spaces & Equipment > Manage Location > Edit > General > Enable LibAuth Authentication.

Screenshot of LibCal Spaces Settings

To enable LibAuth authentication for a calendar, go to Calendars > click the calendar name > Settings > Calendar Settings > Enable LibAuth Authentication.

screenshot of LibCal Calendar settings

Note as with the above configuration: if you choose a protocol that supports groups but do not have groups defined in LibAuth, the additional drop-down to choose a group will not appear.

You can also enable LibAuth authentication for My Scheduler by going to My Scheduler > Appointment Scheduler Settings > Enable LibAuth Authentication.

Need help setting up LibAuth? See our help documentation for more information.

We also squashed a few bugs and put out a few smaller features with this LibGuides code release, namely:

  • Access to v1 statistics
  • EU customer access to the Support site
  • When you clicked on a guide tag, search results weren’t limited to that tag
  • Re-enabled language options

Exciting LTI and LibAuth Updates, and Some LibGuides Fixes, Too

The year may be winding down, but here at Springshare we’re still moving full steam ahead! This latest release provides some great new features for LTI and LibAuth, and some key LibGuides fixes to boot. Let’s get started with the LTI updates…

LTI Updates

Just in time for spring semester planning/course building, we’re rolling out a few updates to LTI that make it easier to set up and provide more options for Automagic display behavior! Everyone does things just a little differently, so we’ve been tweaking and tweaking over time (thanks to your feedback!) to provide as much flexibility with setup as possible, while still using the same overall code for everyone. (We’d particularly like to thank Linda, Chris, and Amanda at Penn State for their invaluable feedback, which resulted in many of the improvements in this update! 🙂 )

Quick reminder:

  • Who can use LTI?
    LibGuides CMS customers; LibGuides customers who subscribe to the E-Reserves module (for E-Reserves content only)
  • Where would I add this tool?
    So far, this is mainly used by Learning Management (LMS) / courseware systems, like Blackboard, Canvas, Desire2Learn, Moodle, and Sakai…though it can be used in any software that supports the LTI framework.

Metadata Importing / Updating

Show of hands…how many of you have been holding off on implementing LTI Automagic because you had to manually add metadata to each guide, course, and/or subject you wanted to pull into your course site? Mmmm hmmm…that’s what we thought. Well, wait no more! And for those of you who have done it already and need to add/update items, rejoice! Metadata importing & updating is here!

Import Metadata

  • Just download the import template, fill it in, and upload to add metadata to guides, courses, and subjects simultaneously. Awesome, right?
  • Even better? Either keep that file handy or do an export of all metadata (use the Template export option) and use that file to update your metadata using that same import function!
  • Head to LibGuides > Admin > Metadata & URLs (previously Subjects, Tags & URLs) to review metadata currently in your system and run your import!

Automagic Matching & Display

Over the past year & a half of LibApps LTI availability, we’ve expanded what you can do with the Manual and Automagic tools greatly, thanks to your feedback. We realized the Automagic content matching options are no longer relevant…matching happens largely in the same way for all 3 original options – it was only the display options that differed. So we made some adjustments to the Setup Options area to reflect the display options instead. We also added a second “failover guide” option!

Content Display BehaviorFor matching, if a single guide or course matches (only one, not one of each), the tool automatically displays that one item. Otherwise, the Library LTI page displays, with all matches listed (if any). You can alter this behavior using the following options…and you can use them in any any combination you wish:

  • When no matches are found, display the following guide. (The dropdown lists all published & private guides from your LibGuides site.)
    This option automatically displays a specific guide instead of the Library LTI page if nothing (no guides, courses, or subjects) matches the parameter value sent from the LMS.
  • Display the Library LTI page when a single matching guide or course is found.
    Basically, always display the Library LTI page – single match, multiple matches, or no matches.
  • (New Option!) When displaying the Library LTI page, display a link to this guide if no matching guides are found. (The dropdown lists all published & private guides from your LibGuides site.)
    Anytime the Library LTI page is displayed, if there is no matching guide to display, the selected guide will display instead.

We’ve mapped your original selections to these new options, so you don’t have to worry about going in to make changes, unless you want to check out / change the options, of course! Here’s how we mapped the old to the new:

  • Option 1 was: “Load a specific guide if there is a direct match, otherwise load the Library LTI page.”
    Now: No additional options are selected.
  • Option 2 was: “Always load the Library LTI page.”
    Now: “Display the library LTI page when a single matching guide / course is found.” is selected.
  • Option 3 was: “Load a specific guide if there is a direct match, otherwise load this pre-selected guide.”
    Now: “When no matches are found, display the following guide.” is selected, with the appropriate guide selected from the dropdown.

Translation Table Updates

LTI Translation Table TemplateIf you use the Translation Table option, especially if you subscribe to E-Reserves, get ready for some great news… The template has been updated to allow matching on different metadata for guides, courses, and subjects for a single entry! For example, if you want to populate the Library LTI page for any given LMS (Blackboard, Canvas, etc.) course section with a general guide and subject, but a specific E-reserves course (for that specific section/instructor), this is perfect! Simply add the different metadata for the guide, course, and/or subject to the template, and you’re good to go! (For example, for my LMS course number 2017S-12345, I might add ENG100 for the related guide, 2017S-12345 for the course, and ENG for the subject.)

And since you can use this in conjunction with the matching options in the previous section, you could also set a general guide (general research, library, or even LibGuides info) to display if there is no matching course-related guide!

As with the matching section above, we’ve mapped your existing Translation Table files to this new format on the back end so it continues to work as before: guide, course, and subject fields all contain the same value.

Other LTI Updates:

  • Manual Tool - Custom NameManual tool + Canvas users: You can now customize the name of your Manual tool so it’s easier to find when adding links in Canvas courses! Go to LibApps > Admin > LTI Tool > Manual > Setup Options to customize yours.
    Important: If you already have the Manual tool installed in Canvas, you must reinstall it to use this feature, which will break existing connections.
  • Desire2Learn customers: LTI should be working (and has been for a little while now). As is true for other LMSes, D2L Admins need to configure the tool to enable sending the user role (Faculty, Student, etc.) & that should do it! The role tells the tool whether or not the user can edit the item, which is required by the Manual tool to initially select the guide / course / database(s) to display to students.
  • Automagic matching no longer returns published Internal or Template guides. In fact, we also removed matching on friendly URL to further ensure this type of thing doesn’t happen in future.
  • Profile pictures on the Library LTI page are now linked to that user’s profile page in LibGuides. (The link will open in a new window.)
  • When an instructor-level user clicked the Automagic link in the LMS course site and the Library LTI page was displayed, there was a note at the top in a yellow box that should’ve only appeared the first time the link was clicked…but appeared every time. That was confusing (and annoying 😉 ), so we removed it.
  • Guides with only one page now display the nav button, as they do when accessed from your LibGuides site.

LibAuth - Add ConfigurationLibAuth Update

We heard from some of you that you have more than one authentication system available at your institution, so we’ve added the capability to utilize any and all of those in LibAuth. Even if you already have an authentication method added in LibAuth, you’ll see the Add Configuration button to get you started on another.

LibGuides Updates

Admin Menu ChangeRemember the Metadata Import news in the LTI section? Well, since LibGuides CMS allows for metadata for more than just LTI, you can use that functionality for any metadata you’d like to add, without having to go to every guide (etc.) to add it! If you skipped that section, scroll back up to learn more…then come on back here to continue reading about LibGuides updates. 😉

Also, this new functionality resulted in an Admin menu name change: Subjects, Tags & URLs is now Metadata & URLs…because otherwise, we’d end up with a crazy-long menu name!

Lastly, there are a few small bugs that we’ve swatted here at Springy HQ to make your LibGuides experience even more awesome!

  • We added a character counter for Twitter posts so that you’ll know when you’re approaching that magic 140 character limit.
  • Patron accounts will no longer be recorded as [Deleted] if they write a long discussion board post and their cookie expires in the meantime.
  • Permitted Uses fields in A-Z Assets now save and delete properly.
  • We changed the text options that you see when editing an RSS asset to reflect the current behavior: show item under title / click on (i) icon.
  • It’s now possible to delete custom metadata from a guide.
  • We’ve fixed the link to E-Reserves contained in E-Reserve Request notification emails.
  • E-Reserves pages in guides with friendly URLs no longer prevent E-Reserve item pop-ups from displaying.

Login to LibGuides (And Other Springy v2 Tools!) Using Your Authentication Layer

LibAuth Login

LibAuth Login

Early this year, we announced greater LibAuth integration with Springshare Tools. One of the components of this integration is the ability to use your own authentication method to login to your v2 Springy tools!

Basically, if you’re using LDAP, CAS, Shibboleth, SAML, ADFS, or a self-hosted authentication tool – you can use that protocol for logging into your LibGuides, LibCal, LibAnswers, etc.

While you’ll still need to have an account in those Springshare tools, you won’t have to remember separate passwords for your Authentication layer and your Springshare apps.

Setting It Up – Cool Winter Project!

Navigate to LibApps > Admin > LibAuth Authentication. You need to be a LibApps admin in order to see this menu. Being a LibApps admin is different than being a LibGuides admin. Contact your LibApps admin if you need to elevate your account status.

On the configuration tab, set up your authentication protocol and be sure to run tests to make sure it’s working. At the bottom of the screen, click “YES” under Allow logging into LibApps using this authentication. Inside your authentication layer, you’ll need to release the email attribute.

LibAuth Authentication

Creating a lot of LibGuides Accounts?

No one wants to click ‘Add Account’ 100+ times when adding all of your LibGuides authors. But, they do need to have a LibGuides account for the authentication integration to ‘connect’. So, we’ve got a workaround that will make things much faster for LibGuides admins!

  • Setup your LibAuth login credentials (see above)
  • Login to LibGuides > Admin > Accounts
  • Click ‘Invitations’ Tab > Invite Users Button
  • Paste in email addresses for all your LibGuides authors (paste in hundreds of emails!)
  • Choose account level > hit send!
  • Authors will receive an invitation to create an account password however, their account has been ‘created’ so they can sign into LibGuides using your authentication layer!

Important Things to Note:

  • Not available with SIP2 – SIP does not contain the email attribute, so we’re not able to offer this option for SIP2 authentication services.
  • Granular Permissions – Are still managed at the Springshare Tool level. So granting access to specific tools and areas within those tools are handled inside LibGuides, LibAnswers, LibCal, etc.

But Wait, There’s More!

Authentication in LibCalIf you haven’t had a chance to check it out, there are amazing LibAuth integrations with LibCal. You can route users through your authentication layer for Room Bookings, Calendar Event Registrations, Equipment Bookings module, and even My Scheduler Librarian appointments.

It’s Just the Beginning!

This release is just phase one of our big plans for LibAuth integration with Springy Tools. We hope to integrate authentication services inside all of our Springshare apps! Just imagine, routing LibWizard quiz takers through your authentication service. Or allowing students to post on discussion boards or comments on your blog through your active directory of users. Or using your authentication protocols before patrons can initiate a LibChat chat exchange. This is just the beginning of great things to come!

Introducing LibAuth – Authentication for Springshare Tools

We are excited to announce a new tool in Springshare’s cloud platform of apps – LibAuth. LibAuth is our implementation of patron authentication inside Springshare apps and systems. This is important new functionality which will make Springshare tools even more useful and more applicable to a wide variety of use-case scenarios within libraries. We have big plans for LibAuth and will be enhancing it further to offer innovative authentication-based solutions and services to our libraries.

But first things first. LibAuth is a free module inside our LibApps platform.  In essence, if you use any of our v2 tools (LibGuides, LibAnswers, LibCal, LibInsight, etc.) you automatically get LibAuth. Your Springshare LibApps admin configures LibAuth to link to the authentication method used at your institution. We currently support Shibboleth, LDAP, SAML, CAS, SIP2, and a remote self-hosted script option. If your institution relies on a method not listed here, please contact us and we’ll investigate how to make it happen! Springshare is also a member of InCommon and the UK Federation which makes authentication setup even easier for institutions who are members of either of these federations.

So, if you are the super-admin of Springshare tools at your institution (we call these LibApps admins) head to LibApps Dashboard -> Admin -> Manage Authentication (see screenshot below) and configure your authentication method.

LibAuth Setup Location

 

 

Click on the “Manage Authentication” link in the navbar to enter the details of your authentication method and select attributes to release to Springshare. It is very likely that you will need to work closely with your IT folks to set this up so we recommend that you have your IT folks on good terms 😉 while setting up LibAuth. The setup form also provides testing tools to ensure you set things up correctly.

Pro tip: LibAuth also lets you define and configure any number of “rules” – for example if certain functionality should only be available to faculty or to undergraduates etc – as long as your authentication supports it and you release the necessary attributes to Springshare, you can setup all sorts of rules to be used in Springshare (and later in non-Springshare) apps.

 

libauth-setup

 

 

Once you successfully setup your authentication scheme in LibAuth, here’s what happens next.

  1. At your option, your librarians with access to a LibApps account (to work on LibGuides, LibAnswers, LibInsight etc) can login to these tools using LibAuth, i.e. using their campus/library username/pwd.
  2. Starting tomorrow, LibCal room booking functionality is ready to work with LibAuth. Once you set up and verify your authentication method via LibApps, head to LibCal > Room Bookings > Settings > Edit Group to require LibAuth authentication for that group of rooms. If you’ve previously setup room booking authentication inside LibCal, we’ll automatically transfer those settings to LibAuth so you’re all set (but check the LibAuth console to confirm and do a couple of room booking tests, just to make sure).
  3. Over the next few weeks we will turn on authentication support for Event Registrations and Librarian Appointments so you will be able to restrict these (optionally of course) to your authenticated users (or groups) only.
  4. Over the next month we will turn on LibAuth authentication in our E-reserves module (our library reserves/reading list solution). This way our ER module will not only be the most affordable Reserves/Reading solution, but also one of the most secure ones too ;).
  5. In the next 3-4 months we will add support for LibAuth inside all of our apps, wherever and whenever needed. We’d love your feedback and ideas on this – email our support or sales teams and let us know where you think we should add authentication support (inside which Springshare apps and for what use-case scenarios). This is a really exciting and really big development for us, and we truly feel that adding authentication points inside our apps will bring many more use-case scenarios which will make your Springshare tools even more useful and will make you love ’em even more!
  6. Over the next 6-12 months we will be adding new products and services based on LibAuth capabilities, and we will be releasing an API to use LibAuth anywhere. Yes, we’re going there! We believe there are many opportunities ahead for providing seamless authentication that “just works” inside other library products and services. Send us your ideas, we’d love to hear from you.

 

Last but not least – please bear with us over the next few weeks regarding support and fixing any issues you may encounter while setting up your authentication method in LibAuth. We did tons of testing but with so many different authentication setups out there the best way to test and fix any issues is to release it into the wild and invite everyone to start using it. So while this is not “beta” because the full functionality is there and it works, we appreciate your patience while we ensure that it works well for everyone.

Thank you to all our clients who helped us during LibAuth development, with your excellent feedback and suggestions. We’re starting 2016 with a bang, and we have so many new things in store for our clients this year (and beyond). Thank you all for being the best clients, ever!

-Slaven & The Springshare Team