Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

CardioLog provides advanced visitor segmentation capabilities by integrating both external and internal personal user data into reports.

The organizational hierarchy of users and groups is monitored by the Active Directory Updates service, which retrieves the data directly from Active Directory by default. The Active Directory Updates service can also retrieve the data from a custom source, using a designated web service which supplies the desired organizational structure of users and groups. Retrieval of additional user information, such as department, gender, and other profile data is performed by the User Categories Updates service, which retrieves the data from Active Directory attributes or SharePoint User Profiles by default. The User Categories Updates service can also retrieve the data from a custom source, using a separate web service that supplies the user information.

Contents

Anchor

...

In order to load your user and group organization structure to CardioLog, you are required to specify a web service that the Active Directory Updates service will gather the organization's data from. This is done through the CardioLog Administration user interface:

  1. Create the custom organization structure web service for your organization.
  2. Verify that your custom organization structure web service returns a valid XML response, according to the XML schema,
  3. Confirm the CardioLog Scheduling Service user account has sufficient read request permissions to access the web service.
  4. From the navigation pane in CardioLog go to Administration and in System Configuration select Users and Groups Management.
  5. Click on the desired database you would like to edit.
  6. Enter the custom web service URL in the Web Service URL text box (acceptable file extensions: "aspx", "asmx", "xml").
  7. Confirm all other details are accurate.
  8. Click Save.
  9. Perform IISRESET on the CardioLog application server.
  10. After the next Active Directory update, your users and groups will be added to the relevant Users and Groups filter of each report.

...

The Users and Groups web service should be exposed by a web page which provides a XML string response according to the following schema:

 

<?xmlversion="1.0"encoding="Windows-1252"?>

<xs:schema

elementFormDefault="qualified"

xmlns:mstns="http://tempuri.org/ADXmlSchema.xsd"

xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:elementname="tree">

<xs:complexType>

<xs:sequence>

<xs:elementname="users">

<xs:complexType>

<xs:sequence>

<xs:elementmaxOccurs="unbounded"name="user">

<xs:complexType>

<xs:sequence>

<xs:elementname="accountName"type="xs:string" />

<xs:elementname="displayName"type="xs:string" />

<xs:elementname="userMail"type="xs:string" />

<xs:elementname="memberOf"type="xs:string" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:elementname="groups">

<xs:complexType>

<xs:sequence>

<xs:elementmaxOccurs="unbounded"name="group">

<xs:complexType>

<xs:sequence>

<xs:elementname="groupName"type="xs:string" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Field Definitions:

User accountName: the user account name (a unique user ID).
User displayName: the user display name.
User userMail: the user email address.
User memberOf: a semicolon separated list of group names associated with the user.

 Sample Data:

 

<tree>

<users>

<user>

<accountName>MyCompany\james</accountName>

<displayName>James Wright</displayName>

<userMail>james.wright@mycompany.com</userMail>

<memberOf>Administrators;Marketing</memberOf>

</user>

<user>

<accountName>MyCompany\dana</accountName>

<displayName>Dana Cohen</displayName>

<userMail>dana.cohen@mycompany.com</userMail>

<memberOf>Sales</memberOf>

</user>

</users>

</tree>

...

In order to load additional user information from a web service, specify a web service from which the User Categories Updates service will extract the user data. This is done through the CardioLogAdministration user interface:

  1. Create the custom user information web service for your organization.
  2. Verify that the custom user information web service returns a valid XML response, according to the XML schema, and that the CardioLog Scheduling Service user account has sufficient permissions to access (request) the web service.
  3. In the navigation pane in CardioLog go to Administration System Configuration User Categories Updates.
  4. Click Next.
  5. Enter the web service URL in the Categories Web Service URL field (acceptable file extensions: "aspx", "asmx", "xml").
  6. Click Save and restart the CardioLog Scheduling Service.
  7. Perform IISRESET using the IIS Manager on the CardioLog application server.
  8. After the next run of the User Categories Updates service, your user categories will be added to the Visitor Segments filter of each report, under User Categories.

...

The user information web service should be exposed by a web page which provides an XML string response, according to the following format: 

 

<?xmlversion="1.0"encoding="utf-8" ?>

<xs:schemaid="CategoryXmlSchema"

elementFormDefault="qualified"

xmlns:mstns="http://tempuri.org/CategoryXmlSchema.xsd"

xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:elementname="tree">

<xs:complexType>

<xs:sequence>

<xs:elementname="item"type="UserCategoryXmlNode"minOccurs="0"maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:complexTypename="UserCategoryXmlNode">

<xs:sequence>

<xs:elementname="userName"type="xs:string" />

<xs:elementname="categories"minOccurs="0"maxOccurs="1">

<xs:complexType>

<xs:sequence>

<xs:elementname="categoryValue"type="categoryNode"minOccurs="0"maxOccurs="unbounded" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

<xs:complexTypename="categoryNode">

<xs:sequence>

<xs:elementname="categoryName"type="xs:string"minOccurs="1"maxOccurs="1" />

<xs:elementname="categoryValue"type="xs:string"minOccurs="1"maxOccurs="1" />

</xs:sequence>

</xs:complexType>

</xs:schema>

Field Definitions:

username: the user account name (should match the accountName field in the organization structure)
categoryName: the designated category name.
categoryValue: the assigned category value.

Sample Data:

 

<tree>

<item>

<userName>MyCompany\james</userName>

<categories>

<categoryValue>

<categoryName>Region</categoryName>

<categoryValue>West</categoryValue>

</categoryValue>

<categoryValue>

<categoryName>Gender</categoryName>

<categoryValue>Male</categoryValue>

</categoryValue>

</categories>

</item>

<item>

<userName>MyCompany\taylor</userName>

<categories>

<categoryValue>

<categoryName>Region</categoryName>

<categoryValue>North</categoryValue>

</categoryValue>

<categoryValue>

<categoryName>Gender</categoryName>

<categoryValue>Female</categoryValue>

</categoryValue>

</categories>

</item>

</tree>

Anchor
active directory
active directory
Configuring Visitor Segmentation by Active Directory Attributes

...