You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »


A guide to configuring the SimplyE Circulation Manager, for hosting/implementation providers or technical library staff

Purpose

This document provides the basic instructions necessary to configure a demonstration implementation of the Circulation Manager. They provide access to a single library with a small, open access collection. This configuration does not yet demonstrate configuring a DRM-protected library service stream from a commercial service, such as Overdrive, Bibliotheca, or Axis 360. Instead, the aim here is to:

  1. Ensure that the Circulation Manager is deployed successfully,
  2. Review how the Circulation Manager works,
  3. Provide an opportunity to experience actively configuring a Circulation Manager before deploying a production service, and
  4. Promote confidence that the organization is ready to deploy a more robust, production Circulation Manager.

Though this Quickstart does not demonstrate configuring a library's commercial collection of DRM-protected materials, there are other documents which provide step-by-step guidance. After you have configured this demonstration Circulation Manager, you may wish to see the "Configure" articles in the How-to articles section for integrating a specific commercial provider collection.

NOTE: I need to do something with the following block. After reviewing and editing the doc, 
This document will provide the following:

  1. Getting your initial Circulation Manager installed and configured to a state in which a Sysadmin can access and use the configuration UI
  2. Getting a testable version of the App through test flight so they may evaluate and troubleshoot configurations and operations prior to pilot.

Assumptions/Requirements

Deployment. Your Circulation Manager should be completely deployed and available on the Internet to fully test the configuration elements presented here. Refer to the Deploying a SimplyE Service document for more information on deployment scenarios and instructions on deploying to virtual servers and Amazon Web Services.

System and Library Information. This document refers to data you will need to complete the configuration of several areas of the Circulation Manager. For example, in a production environment as the hosting provider/implementor, you should have already received information from a library to be added to the Circulation Manager. The required library data is described in detail in the document SimplyE Library Implementation Guide.

In addition to the library information, we make reference here to system-related information. For example, when you deployed your Circulation Manager infrastructure you should have implemented a domain name for the SimplyE Circulation Manager service and added it to your DNS zone. For a single library implementation within a statewide SimplyE implementation (the original design thinking for the service), the domain name would have the form https://library_name.simplye-state-abbreviation.org. With a change in software implementation to host multiple libraries on one Circulation Manager instance, and with providers offering services not constrained by geography, the Circulation Manager domain might take the form https://circulation.org-name.com/ or https://simplye.org-name.com/. For the sample configuration in this document, we will use the fictitious information below:

SimplyE Provider Domain: http://simplye.provider-name.org/

Library Name: ABC Public Library
Library Website URL: https://www.abclibrary.org/
Library Shortname (supplied by NYPL): TXABCL
Library Shared Secret (supplied by NYPL): a45fc87dffff

TECHNICAL NOTE: The provider domain above uses a simple HTTP service, not an encrypted site. The simple test deployment instructions referenced in Deploying a SimplyE Service do not install the OpenSSL library/module needed to provide HTTPS service. This is by design: the circ-webapp container does not include an SSL service. In a production environment, we assume the Circulation Manager application service will actually be deployed as a multi-server cluster behind a load balancer for reliability and scalability. In that case, the HTTPS service will terminate at the load balancer. Communication between the load balancer and the back-end application server instances will be via simple HTTP. This is standard practice as it decreases load on the application servers. If you will deploy a single application server host for your production Circulation Manager service, you will need to implement SSL on the circ-webapp container or potentially build a custom container. In production, then, we expect the provider domain to be available only via HTTPS.

Web Browser. Last, you must use Google Chrome or Mozilla Firefox to work in the Admin configuration interface. The Admin interface currently does not render correctly in Microsoft's Internet Explorer or Edge browsers.

Accessing the Circulation Manager Admin Interface

Once you have installed the circulation manager software, go to https://<your-circ-manager-url>/admin, and:

  1. Configure admin authentication you must do this before you can proceed
  2. Verify the initial server settings automatically created for your system
  3. Configure Elasticsearch AWS Getting Started Guide
  4. Register the circulation manager with the metadata wranglerI need to add this to the guide.. Guide Document
  5. Configure library / libraries. Guide DocumentThis needs a document

Note: When configuring the library, you MUST provide a default email address to use when notifying patrons of changes.

  1. Configure a patron authentication technique (SIP or ILS) and associate it with the libraryDocument needed?
  2. Configure an analytics mechanism and associate it with the library.Document needed?
  3. Configure collections and associate them with the library. Guide Document
  4. Register your library with NYPL's library registry.

Test Run

Perform Web-Based System Configuration

  1. Log into the new Circulation Manager's administrative configuration panel:
    • Go to the admin panel using your URL (e.g. https://<your-circ-manager-url>/admin )
    • Scroll to the bottom of the initial entry screen to the "Create a new individual administrator" form.
    • Enter the email address and password for your first administrative user. You can create additional admin accounts in the configuration utility.
    • Click the submit button to create the first admin account.
    • At the resulting login page, enter the admin credentials you created above and click the Sign In button.
    • Click the Configuration link in the upper right corner of the admin panel.
    • You should see the main configuration page with eleven configuration sections in a left sidebar. Those configurations sections are:
      1. Libraries
      2. Collections
      3. Admin Authentication
      4. Patron Authentications
      5. Site Wide Settings
      6. Metadata
      7. Analytics
      8. CDN
      9. Search
      10. Discovery
  2. Verify the initial server settings created automatically for your installation:
    • Click the Sitewide Settings item in the left sidebar.
    • Click the Base url of the application setting and make sure it is set to the host and domain name you desired (no trailing 'admin' path).
    • For this base testing deployment, no other site settings are necessary.
  3. Configure the Elasticsearch service integration for the Circulation Manager:
    • Click the Search sidebar item.
    • Click the Create a new search service item.
    • Enter a descriptive name for the service, such as "Elasticsearch indexing server"
    • Currently only the Elasticsearch server is supported, so the default Protocol item is appropriate.
    • Enter the URL to your Elasticsearch service:
      1. for testing Virtualbox and Linode (single-server) implementations, enter the internal container IP-based URL, "{+}http://172.17.0.2:9200+".
      2. for testing AWS implementations using the AWS ES service, enter the URL to the Elasticsearch server as shown in your ES service console.
    • Unless there is a local reason to change it, leave the default Elasticsearch index name as "circulation-works".
    • Click the Submit button.
  4. Create a Metadata Wrangler integration:
    • Click the Metadata sidebar item.
    • Click the Create a new metadata service item.
    • Enter a name for the shared Library Simplified Metadata Wrangler service; e.g., "NYPL Metadata Wrangler".
    • In the Protocol list, select the "Library Simplified Metadata Wrangler" item.
    • You can accept the supplied URL for the shared wrangler
    • Click the Submit button. Note: If you happen to receive an error message ("Error: The library could not complete your request because a third-party service has failed"), the Wrangler server may be experiencing high volume or be down for maintenance. Try waiting ten minutes or so and re-submit the form.
  5. Create the first library:
    • Click the Libraries sidebar item.
    • Click the Create a new library item.
    • Enter a descriptive name that uniquely identifies the library and makes it easy to find in a long list of library names hosted on the Circulation Manager; e.g., "Testing - Demo Library 1".
    • Enter the unique shortname for the library (e.g., "XXABCL", created by NYPL as described in DRM Token for Adobe Vendor ID on page three); this value is used in the OPDS feed path (see the last section of this document) for accessing the library's books from the mobile app.
    • Enter a required primary language code for the library's collection(s); e.g., 'eng' for English and/or 'spa' for Spanish. Again, at least one language must be specified.
    • Select a color for your library theming
    • You can upload a logo PNG - (135x135 required)
    • Click the Add button to the right of the primary language field.
    • You can specify other information about the library if desired (help pages, loan periods, etc.), but the above three are required for testing.
    • Click the Submit button to create the library.
  6. Create a test collection and assign it to the demo library:
    • Click the Collections sidebar item.
    • Click the Create a new collection item.
    • Enter a descriptive name that uniquely identifies the collection and makes it easy to find in potentially a long list of collections.
    • For a collection available as a simple public OPDS feed, which we'll use here (note: composed of 'open-access' or 'borrow' acquisition links; 'buy' links are not supported and such books do not appear in the collection's feed in the SimplyE app), accept the "OPDS Import" protocol.
    • Enter the URL of a publicly accessible feed; for initial testing we will use a small subset of the Library Simplified Open Access collection (a small set of books minimizes import/indexing time and makes the full collection viewable in a short period): [{+}http://oacontent.librarysimplified.org/works/sources/Plympton+
    • http://oacontent.librarysimplified.org/works/sources/Plympton]Give the collection a unique data source name; e.g., "oacontent-plympton"

    • Assign the collection to the test library:
      1. In the Add Library dropdown, select the name of the test library
      2. Click the Add Library button which appears below the dropdown; this links the collection to the library.
      3. You will see the library in a group list and can delete it if necessary by clicking the 'x' to the right of its name.
    • Click the Submit button to create the collection.
  7. Create a test patron authentication configuration To run a full test of the Circulation Manager, you will need to be able to authenticate the patron to the library. The web admin utility features a single-user test authentication mechanism. You can use this for testing, but you will need to use connectivity to an authentication resource, typically an ILS, for production systems.
    • Click the Patron Authentication sidebar item.
    • Click the Create a new patron authentication service item.
    • Again, give the service a descriptive name that is easy to identify in a long list of services.
    • Accept the default "Simple Authentication Provider" in the dropdown list for this test.
    • Enter a test user identifier; for a simulated 14-digit barcode, you might enter the following: 29999087654321.
    • Enter a test password, which in this case should actually be a PIN, something like: 0550.
    • In the Libraries dropdown item, select the test library you created.
    • Click the Add Library button at the bottom of the form.
    • Click the Submit button.

Register a Library with the NYPL Adobe ID Service

As mentioned above, new libraries added to the Circulation Manager must be registered with NYPL in order for patrons using the SimplyE app to borrow books from their collection(s). After obtaining the library's shared secret from NYPL staff above (see DRM Token for Adobe Vendor ID on page three), log into the Circulation Manager application server and create a Short Client Token and register the library with the service.
[Steps to be added.]
bin/configuration/short_client_token_library_configuration --website-url="<website_url>" --vendor-id="NYPL" --short-name="<lib_shortcode>" --secret="<secret_from_NYPL>"

Run Commands to Import the Test Collection

While the configuration of the collection above creates the database information needed to access the collection, and to contact to the metadata wrangler server at NYPL to provide additional/enhanced metadata if available, it does not actually result in books being added to the collection. The OPDS feed import option does not have a corresponding import script that is scheduled to run on the server. You will need to access the Circulation Manager host and execute the script manually.

Log in to the Circulation Manager

When deploying the Circulation Manager host resources locally in VirtualBox or online using Linode.com, the instructions provided allow you to connect remotely to the host with a Vagrant command:
vagrant ssh
This will be the simplest way to connect. However, it isn't the most secure way to connect. For production servers, you should disable remote access to the host by the root user and enforce private-key-based access (with passphrase) only.
For deployments to Amazon Web Services, since this repository uses Ansible alone for AWS deployments, one should create a standard SSH connection. Future additions to the documentation will include specific instructions as needed.

Run Scripts to Import the Collection

There are two Docker containers that provide Circulation Manager services: circ-scripts and circ-deploy. The circ-deploy container actually hosts the application; the circ-scripts container hosts the management scripts. Management scripts that are required to keep the Circulation Manager operating appropriately are already scheduled to run periodically.
However, the script which controls OPDS feed imports is not run automatically. To access the proper Docker container and execute the script, first connect to a console session inside the container. Issue the command:
sudo docker exec -it circ-scripts /bin/bash
Once you receive a command prompt in the container, you can begin the import process by running the following command:
../core/bin/run opds_import_monitor >> /var/log/cron.log 2>&1
The test collection, at the time of this writing, has about 70+ titles. Give the server fifteen minutes or so to complete importing the works from the feed.
Once the import process is complete, if you wish to review the import logs, execute the following command:
cat /var/log/libsimple/opds_import_monitor.log
After the title data is imported from the feed, the views of the collection may need to be "refreshed" before those titles will be available in the OPDS feed to the SimplyE app. However, the script to refresh the views only runs every 6 hours. To run the script manually, execute the following command:
../core/bin/run refresh_materialized_views >> /var/log/cron.log 2>&1
Once the "refresh" script is complete, you can return to the host by running the command:
exit

Configuring Custom Lanes for the SimplyE Mobile App

The SimplyE mobile app presents subsets of a library's collection, usually specific genres and/or sub-genres of a collection, as a set of carousels termed lanes in its primary interface. Lanes are automatically generated from the metadata included in an ebook data feed. However, the lanes presented can be customized. Customize the lanes configuration for a library using the web-based admin panel (as of version 2.1).
This section now needs a step-by-step demo of customizing the swim lanes in the Admin panel.
For previous Circulation Manager versions, you must configure lanes in a JSON-formatted configuration file. Specific elements and examples of lanes are documented in the official Simplifed wiki under LaneConfiguration. An example lane configuration file is provided in the files directory of the repository. Instructions to provide a configuration file in your test deployment are provided in the main README file.

Configuring an Alternate URL in the SimplyE Mobile App

Once the system is configured and the test feed is imported, you can set up the generic SimplyE mobile app to point to your test library's collection by using a tap sequence to open up a hidden prompt.

  1. Open the SimplyE app on your device.
  2. Tap the menu icon.
  3. Tap the Settings item.
  4. In rapid succession, tap the Version entry eight times.
  5. Tap the Alternate URIs entry which appears.
  6. In the Feed URI field, enter the URL to the test library's OPDS feed; the feed will be of the following form, ending with the shortname mentioned above when creating the library settings:

http://hostname.example.com/shortname

  1. Click the Set button at the bottom of the form.
  2. Click the back arrow icon to go back to Settings.
  3. Click the menu icon.
  4. Click the Catalog item to display books in the test library's collection.

This manual mechanism is available for informally testing library collections. In production scenarios, each library created in the admin panel must be registered using the Discovery sidebar item and the Simplified Library Registry. The process of registering a library's circulation feed will enable the development team to include the library in the selector of available library feeds in the generic SimplyE mobile app. Do not register test libraries.

  • No labels