My solution is a bit more indirect. The amount of manipulation that I
must do to the data coming in is _significant_, so I had to use a
staging form. This is an extension of the existing integration we built
(when Axton was here) for eDir to populate SHR:People in Help Desk 5.5.
I get my records pushed into a SQL Server table via a Novell data
exchange from eDir. The LDAP system (eDir) is fed in batch from
PeopleSoft, plus real-time updates. Anything that eDir gets, it pushes
into my table when it processes inserts or updates. AIE runs ten data
exchanges each hour - one for each number 0-9 that can be the trailing
number in an employee id, so that instead of comparing 150,000 records
in each exchange it is only comparing about 15,000. It pushes almost
every attribute from LDAP to my staging form, into a section that stores
the latest values from LDAP. New records are flagged as inserts and are
processed a little differently for efficiency; changed records (where
the PeopleEID and UserEID have already been posted back to the staging
form) are compared field to field with data in the section that contains
existing data, and filters act on the differences.
A third section of the staging form ends up holding all of the data that
will be pushed into CTM:People or User, with all of the necessary
transformations of data already done. For example, LDAP gives me the
building and room separately, and I concatenate them to the value to set
in Desk Location. LDAP gives me a budget account number, which I look up
in a supporting table and use to set Company, Organization, Department,
Region, Site Group, and Site. LDAP gives me role codes that are used in
PeopleSoft and eDir, and I push them all the way into the CTM:People
form and and company permissions accordingly. Every customer with a
valid role is added to the UNT Customers company; specific roles will
also add them to UNT SYS Students and/or UNT SYS Employees, which gives
them access to different categories within the Kinetic Request service
catalogs.
When creating new People and User records, the filters set flags for a
loop that submits a new record as Proposed, and after it completes the
new record ids and Profile Status = Enabled are set on the staging form
records. Everything after that is an update. Another filter traps for
updates that did not originally qualify to create People and User
records (no role), and if an update adds a role it is treated as a new
create process. Here is a create:
/* Tue Apr 15 2008 19:48:09.6420 */ Checking
"+EDS:PersonShadow-CreatePeopleEntry01"
0: Push Fields -> "CTM:People"
<deferred from filter
+EDS:PersonShadow-CreatePeopleEntry01>
Display_Locale (1000003974) = 1000
Notification Availability (1000000846) = 1
Phone Number Home (1000000062) =
Phone Number Fax (1000000060) =
Phone Number Business (1000000056) =
Corporate ID (1000000054) = 99999999
Internet E-mail (1000000048) =
Desk Location (1000000035) =
Client Sensitivity (1000000027) = 1
VIP (1000000026) = 1
Support Staff (1000000025) = 1
Nick Name (1000000024) = Nick
JobTitle (1000000023) =
Client Type (1000000022) = 7000
Middle Initial (1000000020) = Thomas
First Name (1000000019) = Nicholas
Last Name (1000000018) = Gage
Full Name (1000000017) = Nicholas Thomas Gage
Organization (1000000010) = Helpdesk Support
Company (1000000001) = UNT Customers
UNT Phone (900000001) =
Hourly Rate (240000040) = .00 USD
zTmpUpdateRole (600003998) = 0
LDAP_role (600000242) = untapp
Accounting Number2 (302006500) = TU###
ManagerLoginID (301336500) =
Contact Type (260141102) = Primary
ManagersName (260000006) =
Site (260000001) = UNT Students
Accounting Number (240000042) = TU###
Region (200000012) = University of North Texas System
Site Group (200000007) = Students and Applicants
Department (200000006) = UNT Students
Full Text License Type (110) = 0
License Type (109) = 0
Default Notify Mechanism (108) = 0
Password (102) = ***
Profile Status (7) = 0
Remedy Login ID (4) = abc1234
Submitter (2) = abc1234
/* Tue Apr 15 2008 19:48:09.9740 */ Checking
"+CTM:PPL:SubmitUserInfo_502_Customer`!" (502)
--> Passed -- perform actions
0: Push Fields -> "User"
Disable Password Management (138) = 0
Full Text License Type (110) = 0
License Type (109) = 0
Default Notify Mechanism (108) = 0
Group List (104) = 1000000006;
Email Address (103) =
Password (102) =
Login Name (101) = abc1234
Full Name (8) = Nicholas Thomas Gage
Status (7) = 0
Creator (2) = Demo
/* Tue Apr 15 2008 19:48:10.4210 */ Checking
"+EDS:PersonShadow-CreateARUserPreference01"
0: Push Fields -> "AR System User Preference"
<deferred from filter
+EDS:PersonShadow-CreateARUserPreference01>
Report Server (24002) = itsm7.ars.unt.edu;22700;;
OpenHomePageAuto (23681) = 1
ODBC Use Underscores (23235) = 1
FlatLookOnForms (23208) = 1
Num Item in Recently Used List (23206) = 9
Prompt For Login (23201) = 1
Maximize AR System User (23200) = 1
Refresh Table Field on Display (20119) = 0
Max Items Returned (20104) = 1000
Limit Number of Items (20103) = 1
Short Description (8) = Preference entry for abc1234
Submitter (2) = abc1234
Group 1000000006 is UNT Customers
If this were a student or staff person, not an applicant, this OOTB code
would start the process to add more company permissions as group ids to
the existing one:
/* Tue Apr 15 2008 19:57:48.9000 */ Checking
"SHR:SHR:UpdateGroupListCompanyG_550" (550)
--> Passed -- perform actions
0: Set Fields
z1D Permission Group ID (1000001582) = 1000000006
1: Call Guide "CTM:PPL:UpdateGroupList-Add"
/* Tue Apr 15 2008 19:57:48.9000 */ Checking
"SHR:SHR:UpdateGroupListAdd_100" (100)
--> Passed -- perform actions
0: Set Fields
z1D Permission Group List (1000001583) =
1: Set Fields
z1D Permission Group List (1000001583) =
2: Set Fields
z1D Permission Group List (1000001583) =
3: Set Fields
z1D Permission Group List (1000001583) = 1000000006;
4: Set Fields
Assignee Groups (112) = 1000000006;
/* Tue Apr 15 2008 19:57:48.9000 */ Call Guide
"CTM:PPL:UpdateGroupList-Add" (return)
Christopher Strauss, Ph.D.
Call Tracking Administration Manager
University of North Texas Computing & IT Center
http://itsm.unt.edu/
_____
From: Action Request System discussion list(ARSList)
[mailto:[EMAIL PROTECTED] On Behalf Of Joe D'Souza
Sent: Thursday, April 17, 2008 12:48 PM
To: [email protected]
Subject: Re: The General Access group in ITSM 7...
**
Chris,
Thanks for your response..
I noticed that the General Access group gets added automatically
like you said whenever you select any Permission Group that is of type
Application Permission.
How did you go about 'automatically' creating users from
PeopleSoft? What were your Push field mappings to the CTM People form?
Any of the temporary fields that need to be populated? I populated the
obvious which are visible, including Site ID, which is associated with
the Region and Site group..
However although the user that is running the data exchange has
got Contact People Admin permission but yet I get that error (ARERR
1071032): As the Application Data Admin of this ticket, you do not have
permission to submit or modify the People profile Status from "" to
"Obsolete".
So looking at the filter CTM:PPL:StatusRulesErr_032 that causes
this error message, I might need to populate some of those tmp fields???
Joe
_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor: www.rmsportal.com ARSlist: "Where the Answers Are"