Contents
Monitoring Non-SharePoint Websites
CardioLog uses a logical tree which represents the hierarchical structure of the monitored website. Whenever a usage event is being sent to CardioLog it includes a mapping to the relevant item in the website hierarchy. This allows CardioLog to present aggregated and specific reports for any level of the website hierarchy.
The Portal Tree Updates service component is responsible for retrieving the hierarchical data from the website. It generates the hierarchical structure for SharePoint websites. In case you wish to retrieve the structure of a non-SharePoint website, you can specify an external web service to provide the hierarchical (logical) structure of your website.
In order to monitor a non-SharePoint web site you need to do the following:
- Install the Basic Tracking Agent, which monitors visitor behavior in non-SharePoint web sites (The tracking code is added to a common page component such as Master pages).
- Configure the Website tree adaptor or create a Custom Tree Web Service which returns a logical tree representing the hierarchical structure of the web site
Installing the Basic Tracking Agent
Note: The Tracking Agent installation does NOT require reboot or downtime.
If the Tracking Agent web application (named CardioLogAgent) - which is installed on your CardioLog application server - is inaccessible from the web site server (verify that you can open http://[web site server name]/CardioLogAgent/agentEmbed.aspx), install the CardioLogAgent web application on the web site server:
- Create a CardioLogAgent folder on the web site machine.
- Copy the installation files into the new folder from [CardioLog Installation Folder]\CardioLogAgent\. Verify that the BasicAgent_*.*.js file resides in the folder (if not, contact us to receive it).
- Open IIS on the web site machine, create a new virtual directory named CardioLogAgent under the web site, which points to the copied CardioLogAgent folder.
- Set the following properties for the new virtual directory - ASP.NET 2.0, Integrated Windows Authentication. Verify that the folder permissions allow read access for Everyone.
- Verify that you can open http://[web site root]/CardioLogAgent/AgentEmbed.aspx (edit the web site server name)
- Open the copied CardioLogAgent directory, open the web.config file and edit the following key, located in the <appSettings> section:
<add key="CardioLogAgentRoot" value="http://[web site root]/"/>
- Edit the Java Script tracking code to change the Tracking Agent location:
- Copy the sp_js_tracking_code.txt file and edit the web site server name (depending on the CardioLogAgent web application location)
ca.src='http://[web site root]/CardioLogAgent/ca.aspx?_random='+Math.random();
tt.src='http://[web site root]/CardioLogAgent/AgentEmbed.aspx?env=BasicAgent&r='+Math.random()*100000;
- Add the edited tracking code into every page you want to track immediately after the opening <head> tag. You can also use a common Java Script file, or add it to a non-Java Script common page component (in this case you need to add the opening and closing <script> tags). When adding the code to a master page - insert it before the closing</head> tag, and use opening and closing <script> tags.
- Verify event collection:
Click Ctrl+F12 or the "Agent Console" bookmark and wait for several seconds. Verify that you see the tracking agent console.
To add the "Agent Console" bookmark to your browser, follow the instructions in http://[CardioLog server name:port]/CardioLog/Configuration/AgentConsoleBookmarklet.aspx (edit the CardioLog server name and port).
Website Tree Adaptor
The Website Tree Adaptor creates a site map which is displayed in Analysis Center (Object Explorer) and is used in reports for content drilldown. In order to generate a site map, the adaptor crawls and indexes the website content (just like search engines).
After running a scheduled website crawl, the adaptor adds new pages and removes the deleted ones. The adaptor also adds to the site map any un-indexed pages which are detected by the tracking agent.
Unlike the CardioLog SharePoint adaptors which retrieve item metadata by using the SharePoint API, the Website Tree Adaptor collects information directly from the website pages. Therefore, some reporting features are not available, including the "by type" report filter and some of the portal growth reports (content contributors, document modifications, document modifiers, portal actions, portal growth trend, portal inventory, and unmodified documents).
The CardioLog Website Tree Adaptor is also used for remotely hosted disconnected systems (such as SharePoint Online).
The Website Tree Adaptor is installed along with CardioLog. There is no installation required on the website servers. In order to configure the Website Tree adaptor, perform the following steps:
- Browse CardioLog > Administration > System Configuration > Website Tree Adaptor
- Click Add Website button and fill in the website name and website URL. The URL should be the website root URL (example: http://www.intlock.com).
- Enter crawl Authentication credentials (for secured websites).
- Click Save at the bottom of the page. Once the crawl is saved. you will be able to view it in the main website tree adaptor user interface, where you will also see different columns of current information from the last scheduled job
- Restart the CardioLog Scheduling Service.
- After the next run of Portal Tree Updates service and running a scheduled website crawl, the site map will be displayed in Analysis Center (Object Explorer) and is used in reports for content drilldown.
Custom Tree Adaptor
Using the Custom Tree Adaptor you can specify a web service which provides the hierarchical (logical) structure of your website.
In order to load your custom hierarchical structure to CardioLog from which the CardioLog Portal Tree Updates service component will obtain it, perform the following steps:
- Create the custom tree web service for your web site.
- Verify that the custom tree 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.
- Browse CardioLog > Administration > CardioLog Scheduling Service > Portal Tree Updates.
- Click Advanced Settings.
- Enter the custom tree web service URL in the Tree Web Service URL textbox and then click the down arrow (acceptable file extensions: “aspx”, “asmx”, “xml”).
- Click Save and restart the CardioLog Scheduling Service.
- After the next run of Portal Tree Updates, the tree structure will be displayed in Analysis Center (Object Explorer) and is used in reports for content drilldown.
Creating the Custom Tree Adaptor Web Service
The Custom Tree web service should be exposed by a web page which provides an XML string response according to the following schema:
<xs:schemaid="OMTreeXmlSchema"elementFormDefault="qualified"
xmlns:mstns="http://tempuri.org/OMTreeXmlSchema.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:elementname="tree">
<xs:complexType>
<xs:sequence>
<xs:elementname="item"type="XmlNode" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexTypename="XmlNode">
<xs:all>
<xs:elementname="url"type="xs:string" />
<xs:elementname="title"type="xs:string" />
<xs:elementname="entitytype"type="xs:string"minOccurs="0"maxOccurs="1" />
<xs:elementname="owner"type="xs:string"minOccurs="0"maxOccurs="1" />
<xs:elementname="version"type="xs:string"minOccurs="0"maxOccurs="1" />
<xs:elementname="template"type="xs:string"minOccurs="0"maxOccurs="1" />
<xs:elementname="created"type="xs:string"minOccurs="0"maxOccurs="1" />
<xs:elementname="modified"type="xs:string"minOccurs="0"maxOccurs="1" />
<xs:elementname="permissions"minOccurs="0"maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:elementname="user"type="UserNode"minOccurs="0"maxOccurs="unbounded"/>
<xs:elementname="group"type="GroupNode"minOccurs="0"maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:elementname="items"minOccurs="0"maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:elementname="item"type="XmlNode"minOccurs="0"maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexTypename="UserNode">
<xs:sequence>
<xs:elementname="username"type="xs:string"minOccurs="1"maxOccurs="1"/>
<xs:elementname="permission"type="PermissionEnum"minOccurs="1"maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexTypename="GroupNode">
<xs:sequence>
<xs:elementname="groupname"type="xs:string"minOccurs="1"maxOccurs="1"/>
<xs:elementname="permission"type="PermissionEnum"minOccurs="1"maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleTypename="PermissionEnum">
<xs:restrictionbase="xs:string">
<xs:enumerationvalue="R"/>
<xs:enumerationvalue="W"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
Field Definitions:
item- represents an item in the custom tree hierarchy.
URL- item’s full URL path
title- item’s title as will be displayed in CardioLog reports
entitytype - item’s content type
template- item’s content type template, for displaying related icons in the tree structure
Entity type 5 - Folder
Available templates:
Website Folder -
Entity type 12 - Page
Available templates:
Website Page -
Website Folder Page -
Website Document -
Website Media -
Website Other -
You can define your own custom content types in coordination with Intlock.
owner - item’s owner/creator
version - item’s version, for tracking updates
created- item’s creation date
modified - item’s modification date
Sample Data:
0 Comments