Hosted CDI::Initialize
The procedure initializes the Customer Directory Integration (CDI) namespace with the Plans database. This should be run before any of the namespace procedures are called.
This procedure currently calls methods of the Managed Helpers Namespace to create/update entries in the Plans database. These calls will be replaced by appropriate calls to the APIs of the Managed Customer Plans Namespace.
Arguments
Input argument | Required | Description |
---|---|---|
<preferredDomainController> |
Yes |
The name of the preferred domain controller in the Service Provider domain |
Remarks
Register
The following parameters will be used while registering this service with the Plans Manager:
serviceId : 106B6FE5EB494A12906A1A8F77D6C01B
serviceName: Hosted CDI
serviceDescription: Customer Directory Integration
Event Types
There will be three event types:
eventTypeCode: IE
eventTypeName: CDIEnabled
eventDescription: Customer enabled for Customer Directory Integration
and
eventTypeCode: IM
eventTypeName: CDIModified
eventDescription: Customer Directory Integration settings modified
and
eventTypeCode: ID
eventTypeName: CDIDisabled
eventDescription: Customer disabled for Customer Directory Integration
Plan Types
There will be one plan installed when initializing:
PlanTypeCode: DI
PlanTypeName: CDIHosting
PlanTypeDescription: Customer Directory Integration plan
Feature Types
There will be one plan feature:
featureName: RemoteDomains
featureDescription: Number of remote domain subscriptions allowed
Asset Types
There will be two asset types:
AssetTypeCode: ID
AssetTypeName: RemoteDomain
AssetTypeDescription: Customer remote domain
and
AssetTypeCode: RU
AssetTypeName: RemoteUser
AssetTypeDescription: Customer remote user properties
Plan Categories
There will be one plan category:
CategoryName: System
CategoryDescription: Internal system plan constructs
Updates to Plans Database
The following methods of the Managed Helpers Namespace are currently called to create new entries in tables of the Plans Database:
CreateEventTypeRecord_
CreateAssetTypeRecord_
CreatePlanTypeRecord_
CreatePlanFeatureTypes _
CreatePlanCategoryRecord_
TryCreatePlanRecord_
TryAddFeatureToPlan_
TryAddPlanToCategoryRecord_
Managed Customer Plans Namespace APIs
This and the section that follows, list the Managed Customer Plans APIs that will be called internally by the Initialize procedure.
SN | Plans DB Action | Managed Customer Plans API |
---|---|---|
1 |
Create EventTypes Record |
CreateEventType |
2 |
Create AssetTypes Record |
CreateAssetType |
3 |
Create PlanType Record |
CreatePlanType |
4 |
Create PlanFeatureTypes |
CreateFeatureType |
5 |
Create PlanCategory Record |
CreatePlanCategory |
6 |
TryCreatePlanRecord_ |
CreatePlan |
7 |
TryAddFeatureToPlan_ |
AddFeaturesToPlan |
8 |
TryAddPlanToCategoryRecord_ |
AddPlanToCategory |
Additional Functionality
Additionally, in keeping with the requirements for the namespace to be integrated with Plans Manager System, the register functionality has to be implemented.
SN | Plans DB Action | Managed Customer Plans API |
---|---|---|
1 |
Register Hosted CDI as a service in the Plans database |
AddService |
Internal Calls Made By the Procedure
The following graph describes the internal calls made by the procedure.
Insert Image: CMSU_Graphics_CDI_Initialize_Calls_to_APIs_of_Managed_Customer_Plans.JPEG
Sample Code
Example XML Request
For informational purposes, the following example illustrates an XML request for the Initialize procedure of the Hosted CDI Namespace:
<request>
<procedure>
<execute namespace="Hosted CDI" procedure="Initialize" impersonate="1">
<executeData>
<preferredDomainController>ad0l.fabrikam.com</preferredDomainController>
</executeData>
<after source="executeData" destination="data" mode="merge"/>
</execute>
</procedure>
</request>
Applies To
API Name [HMC SDK] for:
Hosted Messaging and Collaboration version 4.0
Hosted Messaging and Collaboration version 3.5
Windows-based Hosting version 4.5
Windows-based Hosting version 4.0
Windows-based Hosting for Applications version 1.0