Configuration Reference

All People Directory Plus settings are managed through the built-in configuration panel. Click the settings icon in the web part toolbar to open it. The panel is organized into tabs, each covering a group of related settings.

For advanced users, the full configuration is also available as a JSON5 document in Advanced → JSON5 Configuration.

Display settings

SettingTypeDefaultDescription
defaultViewstring"CARDS"Initial view mode. Values: "CARDS", "TABLE", "ORGCHART".
defaultCardWidthnumber240Width of user cards in pixels.
minimalCardWidthnumber200Minimum card width. Cards won't shrink below this value.
displayViewSwitcherbooleantrueShow/hide the Cards / Table / Org Chart view toggle buttons.
displayCardViewbooleantrueShow the Card View button.
displayTableViewbooleantrueShow the Table View button.
displayOrgChartViewbooleantrueShow the Org Chart View button.
displayPrintButtonbooleantrueShow/hide the print button.

Search and filter settings

Search box

SettingTypeDefaultDescription
displayTextBoxFilterbooleantrueShow/hide the search text input.
displayFilterFieldsDropDownbooleantrueShow/hide the filter field selector dropdown next to the search box.
filterFieldsarrayArray of searchable fields. Each entry has displayName (supports {{translationKey}} syntax), internalName (SharePoint managed property), and isDefault. Use "@" as internalName to search across all fields.
resetSearchIconstring"clear"Icon name for the reset/clear search button (Fluent UI icon).
resetSearchIconPlacementstring"FILTER_AREA"Where to place the reset button. Values: "FILTER_AREA", "COMMAND_BAR", "HIDE".

A-Z filter

SettingTypeDefaultDescription
aToZFilter.enabledbooleantrueShow/hide the A-Z letter tabs.
aToZFilter.lettersstring"ABCDE...XYZ"The letters to display. Customize for non-Latin alphabets or to show a subset.
aToZFilter.filterFieldstring"LastName"The SharePoint managed property to filter by when a letter is clicked.
aToZFilter.displayAllTabbooleantrueShow an "All" tab to clear the letter filter.

Custom tabs

An alternative to A-Z tabs. Use custom tabs to create category-based navigation (e.g. by department or office).

SettingTypeDefaultDescription
customTabs.enabledbooleanfalseEnable custom tabs (replaces A-Z tabs when active).
customTabs.filterFieldstringThe managed property to filter by.
customTabs.allowPartialMatchbooleanfalseIf true, matches values that contain the tab value (not exact match).
customTabs.tabsarrayArray of tab definitions with label (display text) and value (filter value).

Custom filter dropdowns

Add one or more dropdown filters for any field. Configured in the customFilters array.

SettingTypeDescription
enabledbooleanEnable/disable this filter.
labelstringDisplay label for the dropdown.
filterFieldstringSharePoint managed property to filter on.
filteringTypestring"server" (KQL query) or "local" (client-side filtering).
loadOptionsFromDisplayedUsersbooleanAuto-populate options from values found in displayed users.
allowPartialMatchbooleanMatch values containing the filter term (not exact).
optionsarrayManual option list. Each with label, value, and optional isDefault.

Sorting

SettingTypeDefaultDescription
sortByDropDown.enabledbooleantrueShow/hide the sort dropdown.
sortByDropDown.defaultSortByFieldstring"LastName;FirstName"Default sort field(s). Use semicolons to separate multiple fields.
sortByDropDown.sortByFieldsarrayAvailable sort options. Each with displayName and internalName.

Tab alignment & CSV export

SettingTypeDefaultDescription
tabsAlignmentstring"even"How tabs are distributed. "even" (equal width) or "left" (left-aligned).
exportToCsv.enabledbooleantrueShow/hide the CSV export button.
exportToCsv.fieldsToExportstringSemicolon-separated list of fields to include in the CSV export.

Search engine settings

SettingTypeDefaultDescription
additionalSearchTermsstringKQL query appended to every search. Use this to globally filter users (e.g. Department:"Engineering").
trimDuplicatesbooleanfalseRemove duplicate results from search.
hideDisabledAccountsbooleantrueFilter out disabled Active Directory accounts.
pageSizenumber15Number of results to load per page.
propertiesToFetchstringSemicolon-separated SharePoint managed properties to retrieve from search.
hideUsersWithoutSpUserProfilebooleanfalseHide users without a SharePoint User Profile.
hideUsersWithoutOfficeProfilebooleanfalseHide users without an Office 365 profile.
systemAccountsstringSemicolon-separated account names to exclude (e.g. sptimerv4;spocrwl).
sourceIdstringSharePoint Search source ID. Leave empty to use the default People source.
noOfRequiredLettersToStartSearchingnumber0Minimum characters required before search starts. Set to 0 to show all users immediately.
enableAutoLoadMorebooleanfalseAutomatically load more results when scrolling to the bottom.
autoLoadMoreOffsetstring"300px"Distance from the bottom to trigger auto-load.
prefetchMultipliernumber1.3Multiplier for batch loading. Higher values fetch more results per request.

Graph API settings

SettingTypeDefaultDescription
disableGraphApibooleanfalseDisable all Graph API calls. Improves loading speed but disables presence, out-of-office, and photo enrichment.
graphApiVersionstring"beta"Graph API version. "v1.0" or "beta". Beta provides more features.
graphApiUserEndpointstringGraph API user endpoint URL template with placeholders.
outlookPhotoUrlstringPhoto URL template. Uses {{primaryEmail,true}} placeholder for the user's email.

Theme settings

SettingTypeDefaultDescription
primaryColorstring"#0078d4"Main brand color used for UI accents, buttons, and highlights.
secondaryColorstring"#F50057"Secondary accent color.
linkColorstring"#555"Color for hyperlinks in user cards and details.
fontFamilystringSegoe UICustom font family for the directory UI.
useSpThemebooleanfalseUse the SharePoint site theme colors instead of custom colors.

Celebration settings

SettingTypeDefaultDescription
celebrations.enabledbooleanfalseMaster toggle for all celebration features.
celebrations.showBannerbooleantrueDisplay a collapsible banner for upcoming celebrations.
celebrations.bannerMaxItemsnumberMaximum number of items shown in the banner.
birthday.enabledbooleantrueShow birthday badges on user cards.
birthday.fieldNamestringSharePoint managed property containing the user's birthday.
birthday.rangeDaysnumberNumber of days ahead to highlight upcoming birthdays.
workAnniversary.enabledbooleantrueShow work anniversary badges.
workAnniversary.fieldNamestringSharePoint managed property containing the hire date.
workAnniversary.rangeDaysnumberNumber of days ahead to highlight upcoming anniversaries.

Feature settings

SettingTypeDefaultDescription
presence.enablebooleantrueShow real-time presence indicators (requires Presence.Read.All permission).
skillTags.enabledbooleanfalseDisplay clickable skill tags on user cards.
skillTags.fieldNamestringProfile field containing skills (e.g. SPS-Skills).
skillTags.searchFieldNamestringSearch API managed property for skill search.
skillTags.delimiterstring"|"Character separating skills in the field value.
companyRootAccountNamestringEmail of the top-level user for the org chart root (e.g. CEO).
debug.enabledbooleanfalseShow debug information panel for troubleshooting.

KQL query examples

The additionalSearchTerms field accepts KQL (Keyword Query Language) to globally filter users. Here are common examples:

GoalKQL
Show only a specific departmentDepartment:"Engineering"
Show multiple departmentsDepartment:"Engineering" OR Department:"Product"
Exclude a department-Department:"Contractors"
Show users in a specific officeBaseOfficeLocation:"Sydney"
Hide mailbox accountshideMailboxes
Show users with a specific titleJobTitle:"Manager"
Users where a field is not emptynotEmpty(Department)
Users where a field is emptyisEmpty(MobilePhone)
Tip: You can combine multiple KQL expressions with AND / OR. Expressions in additionalSearchTerms are appended to the user's search query.

Advanced settings

Available in the Advanced tab of the configuration panel:

  • JSON5 Configuration — edit the raw configuration document directly. Useful for bulk changes or copying settings between environments.
  • Custom JavaScript Filter — write a custom filter function that runs after server-side filtering. Receives a user object and returns true to include or false to exclude.
  • Custom CSS — inject a global stylesheet to override any visual element.
  • Translations — override any localization string for the current language.

Custom JavaScript filter example

function filter(user) {
  // Only show users from Engineering with "Manager" in their title
  return user.department === "Engineering"
    && user.jobTitle.includes("Manager");
}
Need help configuring? See the documentation overview or contact us at support@nodevision.com.au.