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 Microsoft Office, you need to install the CardioLog HttpModule for SharePoint.

 

  1. In the SharePoint WFE server, add the 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>
    Note: Make sure to disable the "User Account Control: run all administrators in Admin Approval Mode" policy on the SharePoint server (for more information click here) in order to be able to drag and drop the dll file to the GAC (to the C:\Windows\Assembly folder).
  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/2016)
    • 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\web.config
    set HandleFileExtension to false:
    <add key="HandleFileExtensions" value="false"/>

    [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 (for example - C:\Program Files\Common Files\Microsoft Shared\Web server extensions\14\Template\layouts)

    In versions lower than 3.0.0, edit [Installation directory]\CardioLogAgent\js\AgentEmbed.js
    set element.HandleFileExtensions to false:
    element.HandleFileExtensions = false;
    In versions lower than 2.0.8.0, this element will be located in [Installation directory]\CardioLogAgent\AgentEmbed.aspx

  4. Restart the SharePoint IIS server (iisreset).

 

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.