Core and Edge User/Role/Contact Integrations for Maintenance Explained

Modified on Tue, 7 Apr at 9:44 AM

Overview

This article will explain the process surrounding Users/Roles and Location Contacts as it pertains to the Tango Maintenance Module and the data integrations between Tango Core and Tango Edge.

The general integrations explained below have been in place for a long time, but parts of the logic have changed and been enhanced more recently.

  1. User Integration
    • The system can automatically create Core Users in Edge.
    • This integration relies on specific Enterprise Role assignment to Core users that are specifically set up to match Edge roles.
    • Certain Maintenance Enterprise Roles also have additional business logic in Edge.
    • This integration will also support Roles that are not Maintenance specific (such as BidManager).
  2. Location Contact Integration
    • The system can also integrate Contacts added to Core Locations to Edge.
    • Certain Contacts also have additional business logic in Edge.
    • This integration is only relevant in the context of Maintenance.

Note: By default, both integrations are not enabled, and the implementation team will typically configure them as needed. Tango Support/Services team can assist.

 

Users/Enterprise Roles

Enterprise Roles provide application/security access to users in Core.

The Core to Edge user integration uses Enterprise Roles flagged as Edge Role = Yes to send User and Role data from Core to Edge. "Edge" Roles in Core do not require any Core application access, but configuration can differ per implementation.

Edge Roles in Core must be set up specifically to match the Role names in Edge. For a subset of hard-coded Roles (based on the Role name), there is also additional logic processed.

Any valid Edge role can be set up in Core. For Maintenance, the Roles are typically:

  • FacilityManager
  • MaintenanceLead
  • MaintenanceTechnician
  • FacilitiesAdmin
  • FacilityMatrixAdmin
  • ClientVendorAdmin (Not Maintenance Specific)
  • Requestor (Optional, only used if Requestors will use Edge and not Core)

Note: Users should only have one of the following Roles: FacilityManager, MaintenanceLead, MaintenanceTechnician, Requestor. These Roles are not designed to be assigned in any combination with one another.
When one of these 4 Roles is processed by the integration, the process will unassign any existing Role out of the 4 and assign the new Role, so an Edge user will only ever have 1 of these roles at a time, even if they are assigned more of them in Core.

 

Role Added

RoleAdded.png

When one of the “Edge” Roles is added to a User in Core, the integration logic will process as follows:

  1. Does a User with that email already exist in Edge?
    • If Yes, Add the Role to that user.
    • If Not, Create a new user and add the Role to the new user.
  2. Is the Role one of the following?
    • FacilityManager, MaintenanceLead, MaintenanceTechnician, Requestor
    • If yes, is the user already assigned to one of these 4 Roles? 
    • If yes, unassign the existing Role(s) and assign the new role 
  3. Is the Role (Name) one of the following?
    • MaintenanceLead
      • If Yes, also create a corresponding Maintenance Lead Trade record.
    •  MaintenanceTechnician
      • If Yes, also create a corresponding Maintenance Technician Trade record.
    •  FacilityManager
      • If Yes, also create a corresponding Facility Manager Trade record.

Maintenance Lead Trade, Maintenance Technician Trade and Facility Manager Trade records are required for various auto assignment and selection criteria. More information can be found in the following articles:

Example Facility Manager Trade record:

FMTradeExample.png

 

Role Removed

RoleRemoved.png

In Tango Core, Enterprise Roles can be added or removed in specific Country or BU contexts. In Tango Edge, the Roles are either assigned to the User or not. There is no similar concept of Country/BU specific Roles.

When an Edge Role is removed from a User in Core, the integration logic will process as follows:

  1. Does the email in the message match an existing Edge User?
    • If no, the message is not valid, do nothing.
    • If yes, proceed.
  2. Does the country context of the role removal match the user’s default country?
    • If not, then do nothing.
      • Note: For updates created in "All" Country context for BU clients, the default country logic is bypassed, and the Role will be removed.
    • If yes, remove the Role from the user in Edge and proceed.
  3. Does the updated User still have other Roles?
    • If yes, do nothing. The process is complete.
    • In Not, the user will also be Un-Registered/Deactivated

 

Core User De-Activated

UserDeactivated.png

When a Core user is De-Activated and that user still has “Edge” Enterprise Roles assigned, the integration will also Un-Register the user in Edge if the email matches an existing user.

The integration does not remove any Roles as part of this process, but the user will no longer be selectable in Edge lookups.

 

Location Contacts

Contact records in Core are a way to assign a specific Role to a User in the context of an entity/record, different from their Enterprise Role/application security access. Contacts exist on different entities such as Locations/Buildings/Stores, Projects, and Leases.
Contacts added to Locations (Buildings/Stores) in Core are also integrated to Edge. Contact data will be displayed in Edge on the Location record in the Other Contacts section. OtherContactsSection.png

Specific hard coded Contact "Roles" also have additional processing built in to the integration logic.

Contact Added

ContactAdded.png

For any Role not specifically mentioned below, the integration will create a new “Other Contact” record associated to the Location in Edge.

The following Contacts do not create a record in the Other Contacts section, and instead processes different logic (again, all logic is based on the CODE for the Role, not the name/label):

  • Requestor, Facility Manager (also "FACM" [this is the current standard] or "FACILITYMGR" [support for older Facility Manager Contact Role Code]), Maintenance Lead ("ML") and Maintenance Technician ("MT")
    • This integration assumes the Users added as Contacts with these Roles already have the corresponding Enterprise Roles and the User/Role integration added the Core user as an Edge user.
    • If the Contact from Core is a Requestor or Facility Manager, Maintenance Lead or Maintenance Technician, do not create an “Other Contact” record, but instead Associate the Edge User for those Contacts to the Location.
      • Note: Requestor is a deprecated Edge Role that this logic still supports but is not used by newer clients. Requestors only exist in Core as General Users for newer clients.
    • If the Facility Manager User is not found, the integration will create an “Other Contact” record.

Default Facility Manager

If the Role is a Facility Manager, the integration performs additional logic to determine if the User should also map into the  Default Facility Manager field on the Location in Edge.

Based on the Work Order Configuration field "Map FM Contact to Default FM" the logic will do the following:

  • Value = Blank
    • Do nothing.
  • Value = Always Overwrite with most recent FM Contact
    • Map the user to the Default Facility Manager field on the Location.
  • Value = Only Map if Default FM is blank
    • If the Default Facility Manager on the Location is blank, map the user into the Default Facility Manager lookup.
    • If the Default Facility Manager on the Location is populated, do nothing.

Map FM Contact to Default FM field on the Work Order Configuration:
WOConfig2.png

Location Information Contacts

There are also 3 Roles that can be given client specific labels per client that will display in the Location Information section on the Service Request (which also maps into the Work Order)

Work Order Configuration showing client specific Labels for the Core Roles:
WOConfig.png

Roles: FRANCHISEE, SM, OP can be given specific labels.
Note: These “Roles” are the Codes for the Roles in Core, not the Labels/descriptions that end users see in the system.
Note: Contacts for those 3 Roles will also create a record in the Other Contacts section.

ContactLocationInfo.png

Those labels will be displayed in the Location Information Section if the Location selected has "Other Contact" record(s) with the corresponding Role. This information will then map into the Location Information section on  the corresponding Work Order:

LocationInfo.png
Note: Data from the Business Phone field is displayed in this section, not Cell Phone.

 

Contact Updated

ContactUpdated.png

For any Role not specifically mentioned below, the existing “Other Contact” record fields will be updated with the data from Core.

The following Contacts do not create “Other Contacts” records, and instead processes different logic (again, all logic is based on the CODE for the Role, not the name/label).

For these Roles, search for the Edge User by their email and Associate them to the Location.

  • Requestor
  • Facility Manager
  • Maintenance Lead
  • Maintenance Technician

Note: It is not recommended to update the Contacts for these Roles because there is no way for the integration process to know who the previous user was and de-associate them from the Location. Instead, you should Remove the Contact and Create a new one (see below).
Users can be associated to or de-associated from Locations manually in Edge directly as needed. 

 

Contact Removed

ContactRemoved.png

For any Role not specifically mentioned below, the existing “Other Contact” record is Deleted.

The following Contacts do not create “Other Contacts” records, and instead processes different logic (again, all logic is based on the CODE for the Role, not the name/label).

For these Roles, search for the Edge User by their email and De-Associate them to the Location

  • Requestor
  • Facility Manager
  • Maintenance Lead
  • Maintenance Technician

Note: As mentioned above, removing the Contact in Core, and creating a new one instead of updating the Contact is the recommended approach and the system will automatically associate and de-associate the Users from the Locations.

 

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article