Skip to main content

Bulk import Person profile content from the University's Enterprise Directory Services (EDS)

Overview

Quickstart provides the ability to bulk import Person profile content from the University's Enterprise Directory Services (EDS). This creates public-facing profile pages for faculty, staff, or other individuals whose information should be displayed on your website.

Important distinction: This imports Person content (profile pages visible to site visitors), not user accounts for logging into your site. User accounts are provisioned automatically when people log in via WebAuth - see the EDSGrouper Integration article for user account management.

What Gets Imported

When you import Person profiles from EDS, the system creates Person content nodes with information including:

  • Name (preferred first and last name)
  • Job title/employee title
  • Email address
  • Phone number
  • Pronouns (if available)
  • Organizational affiliation (student, employee, faculty, etc.)

This data is pulled directly from EDS and respects university privacy policies, including FERPA restrictions on student information.

Requirements

Modules Required

  • Quickstart Person - Provides the Person content type
  • Quickstart Person EDS Import - Enables importing from EDS
  • Quickstart EDS - Provides LDAP connectivity

Configuration Prerequisites

  • EDS credentials must be configured (typically set during site provisioning)
  • At least one LDAP query must be created and enabled
  • Administrator or content management permissions

Setting Up Bulk Import

Step 1: Create an LDAP Query

First, define which people you want to import by creating an LDAP query:

  1. Navigate to Configuration > People > LDAP Configuration > Queries (/admin/config/people/ldap/query)
  2. Click Add LDAP Query
  3. Configure the query:
    • Name: Descriptive name (e.g., "Department Faculty and Staff")
    • LDAP Server: Select "EDS Service"
    • Base DNs: ou=People,dc=eds,dc=arizona,dc=edu
    • Filter: Define criteria for who to include (see examples below)
    • Attributes: Use the default or add: uid,eduPersonAffiliation,preferredPriorityGivenName,preferredPrioritySn,employeeTitle,pronouns,employeePhone,mail,isMemberOf
  4. Save and enable the query

Example LDAP Query Filters

Import everyone in a specific Grouper group:

(isMemberOf=arizona.edu:dept:yourunit:directory-list)

Import all employees in a department (if you have a department code):

(&(eduPersonAffiliation=employee)(ou=Your Department Name))

Import faculty and staff, but not students:

(|(eduPersonAffiliation=employee)(eduPersonAffiliation=faculty)(eduPersonAffiliation=staff))

Import from multiple Grouper groups:

(|(isMemberOf=arizona.edu:dept:unit:faculty)(isMemberOf=arizona.edu:dept:unit:staff))

Step 2: Run the Import

  1. Navigate to Content > Person EDS Import (/admin/content/person-eds-import)
  2. Select the LDAP query you created from the dropdown
  3. Choose an import mode:
    • Import only: Creates new Person profiles but doesn't update existing ones
    • Import and update: Creates new profiles AND updates existing ones with current EDS data
    • Track only: Preview mode - shows what would be imported without actually creating content
  4. Click Import

The import runs as a batch process. You'll see progress updates and a summary when complete.

Import Modes Explained

Import Only

Use this mode when:

  • Running your first import
  • You want to add new people without overwriting manual edits to existing profiles
  • Existing Person content has been customized beyond what EDS provides

Behavior: Only creates new Person nodes. Existing profiles are left unchanged.

Import and Update

Use this mode when:

  • You want to keep all profiles synchronized with EDS
  • People's titles, contact info, or names may have changed
  • Running periodic updates to maintain accuracy

Behavior: Creates new Person nodes and updates existing ones with current EDS data. Warning: This overwrites any manual edits made to Person content.

Track Only

Use this mode when:

  • Testing a new query before actually importing
  • Verifying who will be included/excluded
  • Checking how many profiles would be affected

Behavior: Simulates the import and reports what would happen without making any changes.

Managing Imported Content

Viewing Imported Profiles

After import, view your Person content at:

  • Content > Content (/admin/content)
  • Filter by Content type: Person

Editing Individual Profiles

You can manually edit imported profiles to add:

  • Photos
  • Biography text
  • Additional contact information
  • Custom fields specific to your site

Note: If you run "Import and update" mode again, manual edits to EDS-sourced fields will be overwritten.

Removing Profiles

The import process does not automatically delete profiles for people who no longer match the query. To handle departures:

  • Manually unpublish or delete outdated profiles
  • Periodically review Person content for accuracy
  • Consider using content moderation workflows

Privacy and Data Restrictions

Student Information

By default, the system excludes students or limits what information is imported to comply with FERPA:

  • Students with "PRIMARY NAME" restriction are excluded by default
  • You can enable student imports at Configuration > System > Quickstart EDS (/admin/config/system/az-eds)
  • Consult with your IAM team before enabling student data imports

Directory Opt-Outs

The system respects EDS privacy settings:

  • People excluded from the university phonebook are excluded from imports
  • The filter automatically includes: (!(isMemberOf=arizona.edu:services:enterprise:ldap.arizona.edu:phonebook-exclude))

Use Cases

Department Directory

Create a staff directory page:

  1. Create an LDAP query for your department's Grouper group
  2. Import Person profiles using "Import and update" mode
  3. Schedule regular imports (monthly/quarterly) to keep information current
  4. Create a view or listing page to display the directory

Faculty Profiles

Import faculty to create enhanced profile pages:

  1. Create query for faculty affiliation or faculty Grouper group
  2. Import using "Import only" mode
  3. Manually enhance profiles with research interests, publications, photos
  4. Re-run imports periodically to add new faculty without overwriting customizations

Project Team Pages

Display team members on a project site:

  1. Have IAM create a Grouper group for project team members
  2. Create LDAP query for that group
  3. Import team member profiles
  4. Update as team membership changes

Scheduling Regular Imports

Person data in EDS changes over time (new hires, title changes, departures). To keep your site current:

Manual Scheduling

  • Set a calendar reminder to run imports monthly or quarterly
  • Use "Import and update" mode to sync all data
  • Review the import summary for any errors

Automated Options

For sites needing frequent updates, contact Arizona Digital support about:

  • Setting up scheduled imports via cron
  • Automated import workflows
  • Custom integration requirements

Troubleshooting

No Results from Query

  1. Verify the LDAP query is enabled
  2. Test the query using the "Execute query" button in the LDAP Query interface
  3. Check filter syntax - ensure parentheses and operators are correct
  4. Verify group names are spelled correctly (case-sensitive)
  5. Confirm EDS credentials are configured properly

Import Fails or Errors

  1. Check Reports > Recent log messages (/admin/reports/dblog) for specific errors
  2. Verify network connectivity to EDS server (eds.iam.arizona.edu)
  3. Ensure sufficient permissions to create Person content
  4. Check if required fields are mapped correctly

Missing Information in Profiles

If imported profiles are missing expected data:

  1. Verify the person's information exists in EDS (check official university directory)
  2. Check if privacy restrictions apply
  3. Ensure your LDAP query includes the necessary attributes
  4. Some information may not be available for all affiliations (e.g., students may not have job titles)

Duplicate Profiles Created

The system matches profiles by NetID. Duplicates usually indicate:

  • Manually created profiles using different identifiers
  • Data inconsistencies in EDS
  • Migration issues from previous systems

Contact Arizona Digital support to resolve duplicate profile issues.

Best Practices

Query Design

  • Use Grouper groups when possible - easier to manage membership than complex LDAP filters
  • Test thoroughly using "Track only" mode before importing
  • Start small - import a subset first, verify results, then expand
  • Document your queries - note what each query does and why

Import Strategy

  • Choose the right mode:
    • Use "Import only" if profiles are heavily customized
    • Use "Import and update" if EDS should be the source of truth
  • Schedule regular updates to keep directory information current
  • Communicate with stakeholders about when imports will run
  • Review import results - don't just run and forget

Content Management

  • Standardize customization approach - decide which fields are managed by import vs. manual editing
  • Use content workflows if available to review imported content
  • Maintain a process for removing outdated profiles
  • Consider revision history - enable revisions to track changes over time

Relationship to User Accounts

It's important to understand that Person content and user accounts are separate:

Person ContentUser Accounts
Public-facing profile pagesLogin credentials and permissions
Visible to site visitorsBackend access only
Can be bulk importedCreated only at first login (JIT)
Content type: PersonEntity type: User
Managed via this import processManaged via EDSGrouper Integration

A person can have:

  • A Person profile only (listed in directory but can't log in)
  • A user account only (can log in but no public profile)
  • Both (can log in AND has public profile page)

Support and Resources

Getting Help

  • Arizona Digital Support: Technical issues with imports
  • IAM Team: Questions about EDS data, Grouper groups, or directory information
  • ServiceNow: Request new Grouper groups or report data issues

Related Documentation

Technical Details

Migration Process

The import uses Drupal's Migrate API:

  • Migration ID: az_person_eds_import
  • Source: LDAP queries against EDS
  • Runs as a batch operation to handle large imports
  • Can be monitored via Drupal's migration status tools

Data Mapping

EDS attributes map to Person content fields:

  • uid → NetID (used for matching existing profiles)
  • preferredPriorityGivenName → First name
  • preferredPrioritySn → Last name
  • employeeTitle → Job title
  • mail → Email
  • employeePhone → Phone number
  • pronouns → Pronouns
  • eduPersonAffiliation → Affiliation type

Module Location

The import functionality is provided by:

  • /modules/custom/az_person/az_person_eds_import/