TeamDynamix
Overview
TeamDynamix (TDX) is an SaaS application used primarily by the ITS Help Desk for service management.
FIM Implementation Details
FIM implements TDX integration via controlling a SQL view X.TDX_Push_v in the idm database via the "TDX Push" management agent.
The SQL table is one row per patron, with the following fields. (Note: because TDX is in a shared tenant with St. Olaf, many of the values in the patron feed are institutionally scoped in one way or another.)
EUID | Used as the connector anchor, and not sent along with the upload. |
createdOn | Datetime of record creation. |
syncRule | Name of the highest-precedence sync rule being enforced. |
lastActiveOn | (Used by patron maintenance process?) |
okToDelete | True if FIM can disconnect user from connector (set by patron maintenance process). |
Username | eduPersonPrincipalName (netId@carleton.edu) |
User_Role | "User" |
Authentication_Provider | Carleton LDAP |
Authentication_Username | eduPersonPrincipalName (netId@carleton.edu) |
Security_Role | One of Client, College Communications - CC, Enterprise - Full Access, Student Technician, and Technician |
First_Name | Chosen first name |
Last_Name | Chosen last name |
Location | Human-friendly version of primary campus location (office for fac/staff, dorm for students). (Overridden by patron maintenance process.) |
location_code | College room code (building*room) of primary campus location (office for fac/staff, dorm for students). |
Organization | "Carleton College" |
Title | Primary job title for fac/staff |
Acct_Dept | Department name (fac/staff) or "Student", scoped to Carleton. e.g. "Development Office - CC". |
Organizational_ID | eduPersonUniqueId (wxyz1234@carleton.edu) |
Alternate_ID | Colleague ID |
Is_Employee | False for clients, true for technicians (ITS and otherwise) |
Primary_Email | Carleton email address if deliverable, otherwise "UNKNOWN-EMAIL-DISABLED-USER-"+eduPersonUniqueId |
Alternate_Email | unused |
Work_Phone | Office phone (e.g. +1 507 222 9999) |
Work_Postal_Code | 55057 |
Time_Zone | 4 |
Capacity_Is_Managed | 0 |
Reports_To_Username | unused |
HasTDNext | False for clients, true for technicians (ITS and otherwise) |
HasMyWork | False for clients, true for technicians (ITS and otherwise) |
HasTDPeople | False for clients, true for technicians (ITS and otherwise) |
TDClient_2092 | Access level within ITS help desk part of TDX: Client, Technician - Basic, and Enterprise |
TDClient_1893 | unused |
TDClient_2527 | Access with CCOM part of YDX: Client and CCOM Staff |
TDTickets_1736 | Null for ITS clients, otherwise Technician - Basic or Enterprise |
TDTickets_2528 | Null for CCOM clients, otherwise CCOM Staff |
Primary_Client_Portal_Application | "Carleton Client Portal" |
Is_Active | False for clients going through off-boarding, True for everyone else |
Alert_Email | Carleton email address if deliverable, otherwise "UNKNOWN-EMAIL-DISABLED-USER-"+eduPersonUniqueId |
FIM Service Rules
FIM Service Rules
Expand source
SSIS Packages
MakeTDXUserFeed - 2016 (deployed to sqlserver1-2016)
Notes:
- SSIS source code resides in \\protected.ads.carleton.edu\protected\Departments\ITS\ITS-Only\SSIS-Projects\SSIS-Projects\MakeTDXUserFeed - 2016
- Version control is tracked in https://github.com/carleton/MakeTDXUserFeed
- The SSIS production configuration is deployed to SQLServer1-2016
- The SSIS job takes its data from a view X.TDX_Push_for_import, which is a thin layer over the underlying table.
- NULLs are replaced with blanks
- Underscores in column names are replaced with hyphens or spaces, depending
- Additional filtering of non-Carleton email addresses is applied
- SQL booleans (bits) are converted to T and F
- Unused columns are ignored
- The Location column is replaced with data joined from the ODS, producing a result compatible with the TDX location data integration
- The SQL Agent on SQLServer1-2016 runs the SSIS code once a day, 6 pm, which syncs department names and room locations using the TDX API and then queues a "people" import by running the TDX import tool
- The TDX import tool in installed on the server (see parameters); it is obtained from https://stolafcarleton.teamdynamix.com/SBTDNext/Home/Desktop/Default.aspx (click the upper left window menu; go to Downloads)
- In order for the SSIS job to work correctly, both for TDX API and Newtonsoft.JSON library must be installed; this locks the version
- The TDX API must be installed, not only with NuGet (in Visual Studio) so the SSIS package can see it, but also added to the server’s assembly cache with gacutil.exe (via the Visual Studio CMD shell)
- It is imperative that multiple people imports NOT be queued up for a single import window (for the sandbox the import happens multiple times a day, but the production instance imports only once a day); if you queue up multiple imports for production in a single day, it can trigger a race condition on the TDX end that requires their support people to fix (and in the meantime, our data is messed up)
Scheduled Tasks
TBD
Authentication
LDAP authentication