Presentation on theme: "OSU Profile A Drupal Module to provide every site an easy way to manage a directory of their people, and provide a way to include whatever data they want."— Presentation transcript:
OSU Profile A Drupal Module to provide every site an easy way to manage a directory of their people, and provide a way to include whatever data they want. Uniform and Extensible. Data is pulled from institutional data sources. Minimal hand entry. Data can be shared between sites and aggregated for the main campus directory.
A Distributed Campus Directory Data entry can happen at any level. Data can be viewed anywhere.
An Extensible Data Model
Data comes from authoritative source whenever possible Things like Locations, Departments, and Positions are linked entities. Profiles provide data to other services like the campus or department directories.
Distributing the data using REST
Historical Use of People Profile Variations of “People Profiles” widely used since OSU started with Drupal 5 Different developers often built their own versions – CWS – WebComm – Site administrators Different functionality was provided in different variations
Sample – Marine Mammal Institute Show peopled grouped by which lab the people belong to.
Sample – College of Business Table of Contents worked in via the theme The College of Business took their publications a step further, though. They’ve integrated a third-party bibliography service with their Drupal site. COB also displays publications contextually
Sample – College of Public Health College of Public Health also provides publications, but they’re filtered and displayed differently The College of Public Health’s site provides a dynamic, filterable directory. Filter based on various criteria, then click on the appropriate person’s name to open their profile. The College of Public Health’s site provides a dynamic, filterable directory. Filter based on various criteria, then click on the appropriate person’s name to open their profile.
Sample – School of Writing, Lit, & Film WLF’s directory uses the same view as College of Public Health’s, with an override on the grouping. WLF doesn’t display publications, instead they wanted to tie courses to their people profiles Content that was originally static was re-architected to be dynamic for the WLF mobile app.
Problems with the Old Way No authoritative data source used No way to swap data between sites No version control Constant rebuilding Continual need for re-theming So much manual entry and maintenance!
Benefits of the New Way Pulls updated data from an authoritative source (LDAP) Extensible! Version control Manual entry greatly reduced, which also reduces data entry variations Standardized and trainable
profile2 module Provides any number of profiles to each user Entities, not nodes – Fields w/ display settings (CCK) API & Hooks for Profile CRUD Allows for changes / updates https://drupal.org/project/profile2
Module(s) structure Main module Defines requirements (.info) Provides helper functions Communicates with LDAP Profile modules Defines dependencies (To main module, parent profiles) Defines fields and groups specific to itself Installs profile type Locations / Departments separate
User creation Use a single primary profile by affiliation Profile inheritance “Query LDAP” adds all users by department User creation