150 likes | 286 Vues
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.
E N D
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. OSU Profile
A Distributed Campus DirectoryData entry can happen at any level.Data can be viewed anywhere.
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.
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 COB also displays publications contextually The College of Business took their publications a step further, though. They’ve integrated a third-party bibliography service with their Drupal site.
Sample – College of Public Health 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. College of Public Health also provides publications, but they’re filtered and displayed differently
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 (@todo)