Configuring the HotDocs Advance installation settings

Before you install HotDocs Advance, you must update the installation configuration JSON file with details about your deployment environment. For example, the domain under which Advance runs and database connection strings.

To edit the installation configuration settings

  1. Unzip the provided HotDocs Advance installer zip file.
  2. In the unzipped folder, navigate to the bin folder.
  3. Open the HdaInstallerSettings.json file in a text editor.
  4. Edit the following options:
  1. Save your changes.

See Installation configuration settings for a full list of settings.

If you need to change the settings after installation, you can edit the site settings file.

Application Pool settings

You can optionally change the settings in this table to configure the application pool used by Advance.

Name Description Example value
AppPoolName The name of the new application pool for Advance. If you do not want to create an application pool, set this setting to null. HdaAppPool
AppPoolIdentity The identity used by the new application pool. This can be NetworkService, LocalSystem, LocalService, ApplicationPoolIdentity, or a specific Windows account. You can pass this parameter using the command line rather than changing it in the installer settings file. The command line option is: -p AppPoolIdentity={identity} YOURDOMAIN\JohnSmith
AppPoolIdentityPassword The password for the specified AppPoolIdentity.   If you are using a domain account, you should pass this setting using the command line rather than changing it in the installer settings file. The command line option is: -p AppPoolIdentityPassword={password} examplePassword1234
AppPoolResetEnabled When set to true, the installer will update the existing Advance application pool to use the name specified by the AppPoolName setting. false

Client Interview settings

You can optionally change the settings in this table to configure whether Advance installs client interviews. You must install client interviews to use public interview links.

Name Description Example value
InstallClientInterviews This setting controls whether the HdaInstaller installs the client interview application. If you want to install client interviews, set this setting to true. When set to true, the installer requires the next setting to be entered. false
ApiSiteSettings.AppSettings.GuestInterviewsUrl The URL for the client interviews web application. https://clientinterviews.localhost/HdaClientInterviews
ApiSiteSettings.AppSettings.ClientInterviewsAssemblyServiceUrl

The URL for the HotDocs Core Assembly Service that will be used by the client interviews application. The service is used to generate interviews and assemble documents. This setting is only required if you wish to have a second, separate Core Assembly Service deployed on a different location. When specified this setting takes precedence over all other settings specifying a Core Assembly Service Url when running the client interviews application. Please review this section for the extra configuration needed to enable this feature. You should install the Core Assembly Service before deploying Advance. See Get the HotDocs Core Assembly Service URL for more information.

 
AuthSiteSettings.AppSettings.GuestInterviewsUrl The URL for the client interviews web application. https://clientinterviews.localhost/HdaClientInterviews
ClientInterviewSiteSettings.PublicInterviewTermsUrl The URL for your own terms and conditions for public interview links. If left blank, no URL is used. yourorganization.com/terms

Domain and URL settings

The domain in the settings below must be lowercase. For example, yourorganization.com, not YourOrganization.com.

Required.

Name Description Example value
AppDomain The full domain under which Advance is installed. This should be the same as the host used for your HTTPS binding in IIS. yourorganization.com
RootSubDomain The sub-domain under which you access the Advance root application. For example, if you set this property to hdroot, the root application will be accessible at a URL like https://hdroot.yourorganization.com. hdroot
AuthUrl URL for the Advance authorization application. You should update the URL to include the domain under which Advance is deployed. Leave in the {tenancy} placeholder value; this placeholder is required by Advance. https://{tenancy}.yourorganization.com/HdaAuth
ApiUrl URL for the Advance APIs application. You should update the URL to include the domain under which Advance is deployed. Leave in the {tenancy} placeholder value; this placeholder is required by Advance. https://{tenancy}.yourorganization.com/HdaApi
RootUrl URL for the Advance root application. You should update the URL to include the domain under which Advance is deployed. Leave in the {tenancy} placeholder value; this placeholder is required by Advance. https://{tenancy}.yourorganization.com/HdaRoot
UiUrl URL for the Advance user interface. You should update the URL to include the domain under which Advance is deployed. Leave in the {tenancy} placeholder value; this placeholder is required by Advance. https://{tenancy}.yourorganization.com/HdaUi

Core Assembly Service settings

Required. Settings for the Advance user interface and API.

Name Description Example value
AssemblyServiceUrl The URL for the HotDocs Core Assembly Service. The service is required to generate interviews and assemble documents. You should install the Core Assembly Service before deploying Advance. See Get the HotDocs Core Assembly Service URL for more information. https://yourorganization.com/AssemblyService
UiSiteSettings.AppSettings.AuthorDownloadUrl URL for a link to download the HotDocs Author template authoring tool. You must store the executable for Author on your own server, to make it available for download. Note, this link is only available for Advance users with the 'Author' user role https://yourorganization.com/AssemblyService/author/setup64.exe

Initial user settings

Required. Settings for the initial root user of Advance.

There are two types of authentication you can use in Advance. These are:

  • Username/password (UNP) – a user logs in to Advance using an Advance-specific username and password
  • Active Directory (AD) – the system automatically logs the user in using their Active Directory account; requires you have an existing Active Directory server

You may only select one type of authentication for the initial user.

Username/password (UNP) Authentication

Note: If you are using UNP authentication, make sure that the settings for AD authentication are removed or commented out.

For an installation that uses username/password (UNP) authentication, un-comment and edit the following settings.

Name Description Example value
AuthSiteSettings.AppSettings.AdminAuthScheme Must use the value Password. Password
ApiSiteSettings.InitialUser.FirstName First name of the initial root user. The root user can log in to the Advance root application and create new tenancies.  
ApiSiteSettings.InitialUser.LastName Last name of initial user.  
ApiSiteSettings.InitialUser.EmailAddress E-mail address of initial user.  
ApiSiteSettings.InitialUser.Password Password for initial user. Advance will prompt the user to change their password when they first log in.  
Active Directory (AD) Authentication

Note: If you are using AD authentication, make sure that the settings for UNP authentication are removed or commented out.

For an Active Directory installation, un-comment and edit the following settings.

Name Description Example value
AuthSiteSettings.AppSettings.AdminAuthScheme   Must use the value Windows. Windows
ApiSiteSettings.InitialUser.LoginName Login name of the initial root user. This AD user must have values for the following attributes:
  • E-mail
  • First name
  • Last name
The root user can log in to the Advance root application and create new tenancies.
YOURDOMAIN\\johnsmith

Client credentials settings

You should change the default settings for security purposes. See Advance auth application for more information.

Name Description Example value
AuthSiteSettings.AuthClientCredentials.ClientName The client used to authorize requests to the Advance authorization application.  
AuthSiteSettings.AuthClientCredentials.ClientSecret The secret for the AuthClient. It is recommended that you change this setting before deploying Advance.  
AuthSiteSettings.AuthClientCredentials.PrincipalName The principal user for the Advance authorization application.  
AuthSiteSettings.AuthClientCredentials.PrincipalPassword The password for the authorization application Principal user. It is recommended that you change this setting before deploying Advance.  
RootSiteSettings.RootClientCredentials.ClientName The client used to authorize requests to the Advance root application.  
UiSiteSettings.UiClientCredentials.ClientName   The client used to authorize requests to the Advance UI application. It is recommended that you change this setting before deploying Advance.  
When installing the client interviews application on a separate server, the following four properties must remain the same across both installations:
ClientInterviewSiteSettings.ClientInterviewsClientCredentials.ClientName The client used for the client interview application.  
ClientInterviewSiteSettings.ClientInterviewsClientCredentials.ClientSecret The secret used for the client interview application. It is recommended that you change this setting before deploying Advance.  
ClientInterviewSiteSettings.ClientInterviewsClientCredentials.PrincipalName The principal user for the client interview application.  
ClientInterviewSiteSettings.ClientInterviewsClientCredentials.PrincipalPassword The password used for the client interview application. It is recommended that you change this setting before deploying Advance.  

The client credentials for the client interviews website are never deployed as text to a settings file. Instead they are obfuscated and stored elsewhere to increase security on certain servers.

Database connection strings

Required. The connection strings for the Advance databases.

Name Description Example value
ApiSiteSettings.ConnectionStrings.Root Connection string for the Advance root database. Server=YourDbServer\ SqlServer;Database=HdaRoot;Trusted_Connection=True;
ApiSiteSettings.ConnectionStrings.TenancyDefaults Default connection string for each Advance tenancy database. Each tenancy in Advance uses its own database to store tenancy-specific information. Server=YourDbServer\ SqlServer;Database=Hda_Tenancy;Trusted_Connection=True;

SMTP settings

These settings are not required if you are using Active Directory with Advance.

Name Description Example value
SmtpFromAddress E-mail address used to send e-mails from Advance. For example, password reset e-mails and user activation emails. noreply@yourorganization.com
ApiSiteSettings.SmtpSettings.HostAddress SMTP server host address  
ApiSiteSettings.SmtpSettings.HostPort SMTP server port number  
ApiSiteSettings.SmtpSettings.EnableSsl

Use SSL to encrypt the connection used to send e-mails. Note: your SMTP client must be configured to use SSL.

true
ApiSiteSettings.SmtpSettings.UserName Username used to connect to SMTP server  
ApiSiteSettings.SmtpSettings.Password Password associated with the user above  

Next step