People Sync: Overview - akumina/AkuminaTraining GitHub Wiki

Applies to

Akumina Foundation 3.3.0.0 and later

What is the People Sync?

Most Intranets require up to date information on people associated with the enterprise. This presents the administrator with two problems.

  1. How to retrieve and display people's information on an Intranet
  2. How to ensure the information is up to date

The Akumina Framework provides turnkey solutions to both problems. The latest information on people within the enterprise is synced with the Akumina Foundation Intranet via the People Directory Sync Management app. overview1

And this information is displayed in a searchable and filterable manner on the front end of the Akumina Foundation Intranet site via the People Directory Widget. overview2

People Sync Console App

A People Sync is a threefold process. First, users and their associated data are retrieved from the specified Data Source. Second, the list of retrieved users pass through a filter which removes any undesired users from the sync. And lastly, the users are written into the aadusers.xml file that is referenced by the People Directory Widget and Akumina Workspaces. As of 4.0.0.0, this functionality is now built into a Console App which can be scheduled to run at specified intervals. Information on configuring the People Sync Console App can be found at the Akumina Learning Center

People Directory Sync App - DEPRECATED

overview3 The People Directory Sync Management App within the AppManager provides a UI for a business user to manually initiate a People Sync. This UI is no longer supported as of 4.0.0.0.

aadusers.xml

The aadusers.xml file is where the User Data is stored and referenced by the People Directory Widget and the Directory Search Widget. Each User has an individual xml tag for them and within that tag, all associated data with the particular user is stored within attributes. Below is a sample user tag.

<User accountenabled="True" city="New York City" numberoflicenses="1" companyname="" country="United States" deletiontimestamp="1/1/0001 12:00:00 AM" department="Strategy Consulting" dirsyncenabled="false" displayname="Aaron Painter" facsimiletelephonenumber="" givenname="Aaron" jobtitle="Strategy Consulting Manager" mail="aaronp@akuminadev02.onmicrosoft.com" mailnickname="aaronp" mobilephone="" objectid="580b44a4-f461-482f-9a36-cd9ecc7bbddb" objecttype="User" officelocation="Boston" othermails="[]" postalcode="" preferredlanguage="" />

The location of aadusers.xml file has to be specified within the interchange.settings.config file under the TempUploadPath key. If the path is not specified, then the file will be placed in the windows temp directory, usually c:\windows\temp.

<add key="akumina:tempuploadpath" value="C:\akumina\InterChange\Patches\3.3.1612.2862\Src\Akumina.Interchange.Web\temp" />

The specified folder path must exist or the People Sync will not execute.

Data Sources

Azure Active Directory Rest

Fetches data from the enterprise's Azure Active Directory. The Enterprise Azure Active Directory is determined from the AAD keys set within the DigispaceConfigurationIDS_AK list. The Azure Active Directory Rest runs a differential People Sync which only updates changes from the previous People Sync.

SharePoint Profiles

Fetches data stored within the SharePoint Profiles of the site. It should be noted there are fewer attributes for users available within SharePoint Profiles compared to Azure Active Directory profiles.

Azure Active Directory (Intranet 365)

Fetches data from the enterprise's Azure Active Directory. This is specifically for Intranets using Akumina's Intranet365 iteration of the directory.

Custom

Developers can fetch data from a Custom Data Source by creating a class that extends the IPeopleDirectoryUserFetcher interface.

Attribute Filtering

After Users are initially fetched, the list of Users are passed to a UserProcessorService, within which, users are removed based on the values of their attributes. Developers can implement a Custom User Processor Service be creating a class that extends the IPeopleDirectoryUserProcessor interface.

People Directory Widget

The People Directory Widget provides a front end where Users synced to the aadusers.xml file are visible with their properties on the Intranet Site. The default view for the People Directory Widget only makes some of the User attributes visible as shown below. overview6 However, Developers can create a custom view for the People Directory to make additional attributes visible.

Search

overview4 The People Directory Widget is searchable with the built in Search Bar inside of the Widget. Users are searched from here by name. overview5 You can also search for a user from anywhere within the Akumina Foundation Site by clicking the Directory Search icon at the top of the page. You will be redirected to the People Directory Page with the results of your search.

Filters

overview7

The People Directory Widget supports filtering of Users by specific attributes. Attributes can be added to the filter by adding a string of the format below to the facets array within the PeopleDirectory Widget Properties where the Attribute Name is the exact name of the attribute within the aadusers.xml and the Attribute Display Name is how you want the name to appear in the People Widget.

{ "facetName":"<Attribute Name>","facetDisplayName":"<Attribute Display Name>"}

Additional Articles: