Bard College at Simon's Rock: the Early College
  1. Home
  2. Guide
  3. How To
  4. Editors
  5. Admin
  6. Directory

Directory

Here is some background on the problem and solution of providing faculty and staff contact information.

Update Department

Update Department Listings

  1. Go to XML File: Departments
  2. Add/edit
  3. Save and publish

Department names function as unique identifiers. If Department names change in the XML file or if they are outputted inconsistently, it will break these department contact customizations.

Add Staff for Department

  1. Add Snippet - Directory Department
  2. Enter Department exactly as it appears in the XSL file.

Add Link to Person Listing

For people who have faculty bios (or equivalent), create a manual link.

  1. Go to faculty-and-staff-department file
  2. Add/edit, ~line 293
  3. Save and publish
  4. Go to faculty-directory file
  5. Add/edit, ~line 108
  6. Save and publish

Create Name Override

For staff who have names that should be listed differently than the data feed, create a manual override. 

  1. Go to faculty-and-staff-department file
  2. Add/edit, ~line 233
  3. Save and publish
  4. Go to faculty-directory file
  5. Add/edit, ~line 35
  6. Save and publish

Update Building Links

To add a link to a building, create a manual link. 

  1. Go to faculty-and-staff-department file
  2. Add/edit, ~line 257
  3. Save and publish
  4. Go to faculty-directory file
  5. Add/edit, ~line 69
  6. Save and publish

Publish and Republish

The directory database lives in Banner and ends up as rendered HTML through an intermediary. 

  1. Banner Database
  2. XML File on Simon’s Rock hosted
  3. OUCampus staging server
  4. On publish: simons-rock.edu (set to auto-publish regularly)

If OUCampus fails to find the XML file, then it will output “Search is currently unavailable.”

Add Directory to page

Add the following code:

<div class="directory-search">
Directory Placeholder
</div>

Implementation

XSL

Template-matches.xsl powers the HTML output for the directory. See the page for comments.

JavaScript

The search is powered by list.js. There are two scripts that are added via a template match on common.xsl. The general list.js script is served via a CDN. The script specific to our implementation is an asset: Code - Directory Search and Filter

CSS

Module specific CSS is coded with the Sass partial app_directory. 

Project Background

Tasks

The Directory needs to address the several users tasks. 

Search By Name

Users can search by name, department, or title by entering a search into the query form.

A-Z List

Users can view an alphabetical list of faculty and staff and then drill down.

Campus Departments

Users can browse departments and then get more information about the department, including personnel and contact information. 

Components

The Directory builds off the Bootstrap framework and Simon’s Rock styles. Three views were separated into a Bootstrap carousel. The staff by Department was separated into a Bootstrap accordion panel. The buttons for the carousel were based on the Primary Red Button CTA. However that button was too bold and a more neutral pattern was introduced.

History

The Directory was initially built on separate web server and website from simons-rock.edu. Then, an iFrame was added to portal in some of the data and the directory server was styled to look more consistent. The, an XML solution replaced the iFrame. Then, a layer of PHP was added to avoid setting pages to autopublish. 

 

XSL Implementation - Depracated (March 2019)

We moved to a PHP implementation in order to avoid having to set pages to autopublish. 

 

Iframe Implementation - Deprecated (July 2017)

Information is output via PHP to lock.simons-rock.edu/fsdir/. ITS manages these processes. 

The Archived Directory accesses lock.simons-rock.edu/fsdir/ via an IFrame. For other views, users are sent to the external site.

There is a shared CSS style sheet for the website, the Directory iFrame and lock.simons-rock.edu/fsdir1/. Updating the live CSS will affect all of these properties.

The Directory iFrame includes a .directory class wrapper. The iFrame can be adjusted by targeted this CSS rule.