NetDocuments Integration⚡

AdvoLogix provides seamless NetDocuments integration. The integration allows your organization to:

  • View NetDocuments content "in context" with your Matters.
  • Create the NetDocuments Matter Workspace directly from your AdvoLogix Matter.
  • Open a full page view of your Matter's NetDocuments workspace.

Please note, an existing NetDocuments account is required.

The following information applies to setting up an Add to NetDocs button for the NetDocuments integration in lightning. For set up in classic, please review this article.

Prerequisites

AdvoLogix uses the following fields to establish the data matching relationships.

Formula Field

  • ND_Client
    default formula: advpm__Primary_Account__r.AccountNumber

  • ND_Client_Desc
    default formula: advpm__Primary_Account__r.Name

  • ND_Matter
    default formula: advpm__Matter_Number__c

  • ND_Matter_Desc
    default formula: Name


To customize your formulas to use a different field mapping simply edit any (or all) of the formula fields to accommodate the desired result.

Create the NetDocuments Visualforce Page

  1. Navigate to Setup
  2. Type Visualforce Pages into the Quick Find box
  3. Select the New button
  4. Check the box for Available for Lightning Experience, Lightning Communities, and the mobile app 
  5. Now copy and paste the following code in the Visualforce Page Editor:
<apex:page standardController="advpm__Matter__c">
    <!-- 'standardController' is the API name of the Object on which this Button has been created on -->
    
    <!-- Classic Environment -->
    <apex:sectionHeader title="NetDocuments" subtitle="{!advpm__Matter__c.Name}" rendered="{! $User.UIThemeDisplayed != 'Theme4d'}" />
    
    <!-- Lightning Experience Environment -->
    <apex:slds rendered="{! $User.UIThemeDisplayed == 'Theme4d'}" />
    <apex:outputPanel styleClass="slds-scope" layout="block" rendered="{! $User.UIThemeDisplayed == 'Theme4d'}">
        <div class="slds-page-header">
            <div class="slds-grid">
                <div class="slds-col slds-has-flexi-truncate">
                    <div class="slds-media slds-no-space slds-grow">
                        <div class="slds-media__body">
                            <p class="slds-text-title_caps slds-line-height_reset">NetDocuments</p>
                            <h1 class="slds-page-header__title slds-m-right_small slds-align-middle slds-truncate" title="{!advpm__Matter__c.Name}">{!advpm__Matter__c.Name}</h1>
                        </div>
                    </div>
                </div>
                <div class="slds-col slds-no-flex slds-grid slds-align-top">
                
                </div>
            </div>
        </div>
    </apex:outputPanel>
    
    <!-- Classic Environment -->
    <apex:outputPanel layout="inline" rendered="{! $User.UIThemeDisplayed != 'Theme4d'}">
        <script type="text/javascript">
            window.onload = function() {
                //Your Button Javascript can go here, and the JavaScript redirect URL will replace <YOUR BUTTON URL HERE> below.
                window.location.href = 'https://vault.netvoyage.com/neWeb2/sf/lookupImp.aspx?sfUrl={!$API.Partner_Server_URL_70}&sfSession={!$API.Session_ID}&parentkey={!advpm__Matter__c.ND_Client__c}&parentName={!advpm__Matter__c.ND_Client_Desc__c}&key={!advpm__Matter__c.ND_Matter__c}&name={!advpm__Matter__c.ND_Matter_Desc__c}&ID={!advpm__Matter__c.Id}';
            };
        </script>
    </apex:outputPanel>
    
    <!-- Lightning Experience Environment -->
    <apex:outputPanel layout="inline" rendered="{! $User.UIThemeDisplayed == 'Theme4d'}">
        <script type="text/javascript">
            window.onload = function() {
                //Your Button Javascript can go here, and the JavaScript redirect URL will replace <YOUR BUTTON URL HERE> below.
                if ( (typeof sforce != 'undefined') && (sforce != null) ) {
                    sforce.one.navigateToURL('https://vault.netvoyage.com/neWeb2/sf/lookupImp.aspx?sfUrl={!$API.Partner_Server_URL_70}&sfSession={!$API.Session_ID}&parentkey={!advpm__Matter__c.ND_Client__c}&parentName={!advpm__Matter__c.ND_Client_Desc__c}&key={!advpm__Matter__c.ND_Matter__c}&name={!advpm__Matter__c.ND_Matter_Desc__c}&ID={!advpm__Matter__c.Id}', false);
                }
            };
        </script>
    </apex:outputPanel>
    
    <apex:pageMessages />
    
    <apex:form styleClass="{!IF($User.UIThemeDisplayed == 'Theme4d','slds-scope','')}" >
        <center>
            <apex:commandButton action="{!cancel}" value="  Go Back  " immediate="true" styleClass="slds-button slds-button--neutral" />
        </center>
        
        <!-- hidden InputFields for the sake of letting Visualforce Page know that we need to use values of this fields, a platform bug need this workaround, otherwise an error may be thrown that value could not be read from the object -->
        <apex:inputField value="{!advpm__Matter__c.Name}" rendered="false" />
        <apex:inputField value="{!advpm__Matter__c.ND_Client__c}" rendered="false" />
        <apex:inputField value="{!advpm__Matter__c.ND_Client_Desc__c}" rendered="false" />
        <apex:inputField value="{!advpm__Matter__c.ND_Matter__c}" rendered="false" />
        <apex:inputField value="{!advpm__Matter__c.ND_Matter_Desc__c}" rendered="false" />
        
    </apex:form>
    
</apex:page>

The illustration shown above exhibits the calling convention to open Worldox for the underlying Matter.  NetDocuments provides many options for this calling parameter. This example uses the fields highlighted in the prerequisites section.

For more information on NetDocuments, please visit NetDocuments Support.