By default, the CardioLog Tracking Agent tracks document usage for documents which are accessed through the browser. This is achieved by tracking browser clicks in document libraries (which are not displayed in Explorer view). In order to track document access from non-browser sources - such as Windows Explorer or Office, you need to install the CardioLog HttpModule for SharePoint.

 

  1. In the SharePoint server, add CardioLogHttpModule.dll to the GAC (See the Microsoft documentation for more information). The dll file can be found in the CardioLog installation folder: <\CardioLog\CardioLogScheduleServices\CardioLogHttpModule.dll>
  2. In the SharePoint server, for each web site, modify the SharePoint Web.config file:

    To register the module for IIS 6.0 and IIS 7.0 running in Classic Mode:
    <configuration>
      <system.web>
        <httpModules>
          <add name="CardioLogHttpModule" type="CardioLog.HttpModules.EventsModule,CardioLogHttpModule, Version=1.19.154.6, Culture=neutral, PublicKeyToken=56b51e29d93ab3fb" />

    To register the module for IIS 7.0 running in Integrated Mode:
    <configuration>
      <system.webServer>
        <modules>
          <add name="CardioLogHttpModule" type="CardioLog.HttpModules.EventsModule,CardioLogHttpModule, Version=1.19.154.6, Culture=neutral, PublicKeyToken=56b51e29d93ab3fb" />

    Add the following keys:
    <configuration>
      <appSettings>

        <add key="CardioLog.Events.DocExtensions" value=".doc*.docx*.ppt*.pptx*.pps*.ppsx*.txt*.pdf*.xlr*.xls*.xlsx*.log*.msg*.odt*.rtf*.csv*"/>
        <add key="CardioLog.Events.ExcludeUserAgents" value="Microsoft Office Existence Discovery*"/>
        <add key="CardioLog.API.EventsServiceUrl" value="http://<CardioLog server>:<port>/CardioLogAPI/Events.asmx"/>
        <add key="CardioLog.Events.LogFile" value="C:\CardioLogHttpModule.log"/>
        <add key="CardioLog.Events.LogLevel" value="None"/><!--None,Error,Message-->
        <add key="CardioLog.Events.SharePointVersion" value="2013"/>
    Optional keys: 
    <!--  Support claims based authentication  -->
    <add key="CardioLog.Events.SupportClaimsAuth" value="true"/>
    <add key="CardioLog.Events.ClaimsAuthRegex" value=""/>
    <add key="CardioLog.Events.ClaimsAuthRegexGroupMatch" value=""/>


    <!--  Ignore the event if a user already accessed the same document in the last 1000 milliseconds -->
    <add key="CardioLog.Events.CacheExpirationTimeoutInMs" value="1000"/>

    Edit the values for:
    • CardioLog.Events.SharePointVersion - the SharePoint version (2007/2010/2013)
    • CardioLog.Events.DocExtensions - a list of star separated file extensions you want to track
      Note: Make sure to enter all relevant document types in the "CardioLog.Events.DocExtensions" key (There's no need to add ".aspx", ".asp", ".php", ".htm" as they are included by default). You can use the Document Types CardioLog Report located in the Portal Growth folder of the Report Center navigation pane to see all document types included in your SharePoint environment.
    • CardioLog.Events.LogFile - log file location
    • CardioLog.API.EventsServiceUrl -  modify the CardioLog server name and port
  3. Open this file for editing: [Installation directory]\CardioLogAgent\js\AgentEmbed.js
  4. In AgentEmbed.js, set element.HandleFileExtension to false:
    element.HandleFileExtension = false;
    In versions lower than 2.0.8.0, this file should be located in [Installation directory]\CardioLogAgent\AgentEmbed.aspx
  5. Restart the SharePoint IIS server (iisreset).

[Installation directory] - By default, the CardioLogAgent folder is located in the CardioLog Installation folder. If the CardioLog Analytics SharePoint feature is installed, the CardioLogAgent folder should be located on all SharePoint WFEs under the SharePoint website "_layouts" folder.

Note: In you have multiple servers in your SharePoint farm, consider using the HttpModule as a farm scoped SharePoint solution. SharePoint has a dedicated class that deals with Web.config issues and handles rollback and recovery, and ensures that all sites are configured the same way.