Install Contribute

Author-it Modules Installation & Update Guide

Contribute is a module that can be purchased for Author-it On-Premises. Contribute provides access to the Author-it library on the web. Contribute allows subject matter experts and co-authors to collaborate with an author by adding topics or reviewing and supplementing existing material.

Prerequisites

  1. Configure .net framework on your web, publishing, and application servers.

    For Author-it services and Contribute, Review, and Localize to run correctly, the following .NET Framework advanced services must be set for all web, publishing, and application services servers.

    1. Go to Control Panel > Programs > Turn Windows features On or Off.

      Note: In Windows Features, the version of .NET Framework can still be listed as 4.6 or 4.8, even when .NET Framework version 4.8 has been installed. The settings here will apply to any installed version of .NET Framework 4.x.

    2. In .NET Framework 4.x Advanced Services, enable the following, then click OK.

      • ASP.NET 4.x

      • WCF Services:

        • HTTP ActivationS

        • TCP Activation

        • TCP Port Sharings

      40% Template

    3. Repeat these steps on each of your web and application services servers.

  2. Enable IIS on your web, publishing, and application servers.

    For Author-it services and Contribute, Review, and Localize to run correctly, they require the following Internet Information Services (IIS) setup on all web, publishing, and application services servers.

    1. Go to Control Panel > Programs > Turn Windows features On or Off.

    2. In Internet Information Services, enable the following then click OK.

      Note: IIS is listed under Server Roles as Web Server if you are using a web server to host your site.

      Web Management Tools

      • IIS Management Console

      World Wide Web Services (or Web Server)

      • Application Development Features

        • .NET Extensibility 4.x

        • ASP.NET 4.x

        • ISAPI Extensions

        • ISAPI Filters

      Common HTTP Features

      • Default Document

      • Directory Browsing

      • HTTP Errors

      • Static Content

      Health and Diagnostics

      • HTTP Logging

      Performance Features

      • Static Content Compression

      Security

      • Request Filtering

      40% Template

  3. Create the Contribute, AuthoritWebAPIService, and InternalAPI IIS application pools on your web applications server.

    Contribute, Review, and Localize require application pools in IIS to house their web application processes. The application pools you need to create depends on which applications you're installing:

    • The InternalAPI pool is required for all applications

    • The AuthoritWebAPIService and Contribute pools are required for Contribute

    • The WebAppsPool pool is required for Review and Localize.

    1. Open IIS Manager on your web application server.

    2. On the left, expand the Connection.

    3. Right-click on Application Pools and choose Add Application Pool.

      Add Application Pool

    4. Configure the new Application Pool with the following settings:

      • Name: InternalAPI

      • .NET CLR Version: v4.0.30319

      • Managed pipeline mode: Integrated

      • Check "Start application pool immediately"

    5. Click OK.

    6. Right-click the application pool you just created and go to Advanced Settings....

    7. Select Identity and click the ellipsis button.

    8. Choose a dedicated Windows user account that has access to all the network resources used by the Author-it application.

      For example, the library, template, publishing, and image folders. [We recommend aitservice.]

      Ensure the account has full access to the application folders in C:\inetpub\wwwroot.

    9. If you're installing Contribute, repeat these steps to create pools named AuthoritWebAPIService and Contribute.

    10. If you're installing Review or Localize, repeat these steps to create a pool named WebAppsPool.

  4. Download the required installation files from the Author-it Community website, unzip them, then open the unzipped folder.

  5. Copy the Contribute, authoritwebapiservice, and internalapi folders to C:\inetpub\wwwroot\

  6. In IIS Manager, convert the Contribute, authoritwebapiservice, and internalapi folders to applications.

    Before you can use Contribute, Review, or Localize, you'll need to take their folders on your web applications server, and convert them to applications.

    1. Open IIS Manager on your web application server.

    2. Expand the Connection to open Sites > Default Web Site.

    3. Convert one of the web application folders to an IIS Applications by right-clicking it and selecting Convert to Application.

      40% Template

    4. Click Select... and choose the application pool that you have just created.

      40% Template

    5. Repeat this for each web application folder that you have copied to C:\inetpub\wwwroot.

      Convert the WebApplications folder to the WebAppsPool. Convert all other folders to their respective pools.

  7. Enable http and net.tcp protocols for the internalapi site.

    InternalAPI is a critical component of Contribute, Review, and Localize. To work correctly, InternalAPI needs to have the http and net.tcp protocols enabled in IIS Manager.

    1. Open IIS Manager on your web application server.

    2. Expand Connection to open Sites > Default Web Site.

    3. Right-click on the InternalAPI application and choose Manage Application > Advanced Settings.

    4. Set Enabled Protocols to: http,net.tcp

      Make sure there are no spaces between http and net.tcp - only use a comma.

      40% Template

  8. Connect InternalAPI to an Author-it library.

    InternalAPI is a critical component of Contribute, Review, or Localize. To use these applications, you must connect InternalAPI to the Author-it libraries that you want to use the applications with.

    1. On your web applications server, go to C:\inetpub\wwwroot\internalapi

    2. Open ApiServer.config

    3. In the <Libraries> section, add a new line for each library you want to connect InternalAPI to. Use the commented examples as a guide for the required information.

      There are two ways of connecting to the SQL Server: “trusted” or “fixed”:

      • A trusted connection means that the user for the Application Pool Identity logs in to the SQL Server. For this type of connection, “Windows Authentication” must be enabled on the SQL Server, and the Application Pool Identity User must be allowed full control over the selected database.

        Example for a trusted connection:

        <Library Alias="SampleTrusted1" Type="SqlServer" Server=".\SQLEXPRESS" Database="SampleTrusted1" TrustedConnection="True" />

      • When using a fixed SQL Server login, there must be a dedicated user-login on the SQL Server that has full access to the selected database. The username and password of this SQL Server user must be specified in the connection settings.

        Example using a fixed SQL Server login:

        <Library Alias="SampleFixed2" Type="SqlServer" Server=".\SQLEXPRESS" Database="SampleFixed2" TrustedConnection="False" LoginID="SqlUser" Password="SqlPassword" />

      In which:

      Library Alias: is the name of the library to be used. This should also match the database name.

      Type: should be “SqlServer”

      Server: network name or ip address of the SQL Server

      Database: name of the library on the SQL Server

      TrustedConnection:

      True” if you are using the Application Pool Identity User to log into SQL-Server using Windows authentication.

      False” if you want to use a fixed SQL Server login such as ait to connect to the database.

      LoginID: Name for the fixed SQL Server login.

      Password: password for the fixed SQL Server login.

    4. Save.

  9. Connect AuthoritWebAPIService to an Author-it library.

    AuthoritWebAPIService is a critical component of Contribute. To use Contribute, you must select the Author-it libraries your contributors will access via Contribute, then connect AuthoritWebAPIService to those libraries.

    1. Connect InternalAPI to an Author-it library.

      InternalAPI is a critical component of Contribute, Review, or Localize. To use these applications, you must connect InternalAPI to the Author-it libraries that you want to use the applications with.

      1. On your web applications server, go to C:\inetpub\wwwroot\internalapi

      2. Open ApiServer.config

      3. In the <Libraries> section, add a new line for each library you want to connect InternalAPI to. Use the commented examples as a guide for the required information.

        There are two ways of connecting to the SQL Server: “trusted” or “fixed”:

        • A trusted connection means that the user for the Application Pool Identity logs in to the SQL Server. For this type of connection, “Windows Authentication” must be enabled on the SQL Server, and the Application Pool Identity User must be allowed full control over the selected database.

          Example for a trusted connection:

          <Library Alias="SampleTrusted1" Type="SqlServer" Server=".\SQLEXPRESS" Database="SampleTrusted1" TrustedConnection="True" />

        • When using a fixed SQL Server login, there must be a dedicated user-login on the SQL Server that has full access to the selected database. The username and password of this SQL Server user must be specified in the connection settings.

          Example using a fixed SQL Server login:

          <Library Alias="SampleFixed2" Type="SqlServer" Server=".\SQLEXPRESS" Database="SampleFixed2" TrustedConnection="False" LoginID="SqlUser" Password="SqlPassword" />

        In which:

        Library Alias: is the name of the library to be used. This should also match the database name.

        Type: should be “SqlServer”

        Server: network name or ip address of the SQL Server

        Database: name of the library on the SQL Server

        TrustedConnection:

        True” if you are using the Application Pool Identity User to log into SQL-Server using Windows authentication.

        False” if you want to use a fixed SQL Server login such as ait to connect to the database.

        LoginID: Name for the fixed SQL Server login.

        Password: password for the fixed SQL Server login.

      4. Save.

    2. On your web applications server, go to C:\inetpub\wwwroot\internalapi

    3. Copy ApiServer.config to C:\inetpub\wwwroot\authoritwebapiservice

  10. Connect Contribute to an Author-it Library.

    To use Contribute, you must select the Author-it libraries your contributors will access via Contribute, then connect Contribute to those libraries.

    1. Connect InternalAPI to an Author-it library.

      InternalAPI is a critical component of Contribute, Review, or Localize. To use these applications, you must connect InternalAPI to the Author-it libraries that you want to use the applications with.

      1. On your web applications server, go to C:\inetpub\wwwroot\internalapi

      2. Open ApiServer.config

      3. In the <Libraries> section, add a new line for each library you want to connect InternalAPI to. Use the commented examples as a guide for the required information.

        There are two ways of connecting to the SQL Server: “trusted” or “fixed”:

        • A trusted connection means that the user for the Application Pool Identity logs in to the SQL Server. For this type of connection, “Windows Authentication” must be enabled on the SQL Server, and the Application Pool Identity User must be allowed full control over the selected database.

          Example for a trusted connection:

          <Library Alias="SampleTrusted1" Type="SqlServer" Server=".\SQLEXPRESS" Database="SampleTrusted1" TrustedConnection="True" />

        • When using a fixed SQL Server login, there must be a dedicated user-login on the SQL Server that has full access to the selected database. The username and password of this SQL Server user must be specified in the connection settings.

          Example using a fixed SQL Server login:

          <Library Alias="SampleFixed2" Type="SqlServer" Server=".\SQLEXPRESS" Database="SampleFixed2" TrustedConnection="False" LoginID="SqlUser" Password="SqlPassword" />

        In which:

        Library Alias: is the name of the library to be used. This should also match the database name.

        Type: should be “SqlServer”

        Server: network name or ip address of the SQL Server

        Database: name of the library on the SQL Server

        TrustedConnection:

        True” if you are using the Application Pool Identity User to log into SQL-Server using Windows authentication.

        False” if you want to use a fixed SQL Server login such as ait to connect to the database.

        LoginID: Name for the fixed SQL Server login.

        Password: password for the fixed SQL Server login.

      4. Save.

      Note all of the library aliases you add to ApiServer.config

    2. On your web applications server, go to C:\inetpub\wwwroot\Contribute

    3. Open Library.config

    4. Add your library aliases to the appSettings section. Separate multiple values with commas:

      <add key="InternalAPI.Libraries" value=" LibraryAlias1, LibraryAlias2" />

    5. Open Web.config

    6. Locate the <appSettings file="Library.config"> section.

    7. Make sure the value of ServicesAPI.Url is {Name of the IIS Application pool for AuthoritWebAPIService}/api. For example:

      <add key="ServicesAPI.Url" value="AuthoritWebAPIService/api/" />

    8. Change the value of Feedback Email:

      <add key="Feedback.Email " value="KC_feedback@Author-it.com" />

  11. In IIS Manager, under the Contribute application, create a virtual directory that links to the publishing folder for Contribute.

    When contributors publish a book in Contribute, the Publishing service processes the publishing job, then sends the published output to a publishing folder. For Contribute to display that published output, it needs to know the location of the publishing folder, and be able to access it.

    Prerequisites

    1. Select the location of the publishing folder for Contribute.

      Contribute can't process publishing jobs locally. It uses the Publishing service instead, which sends the outputs to a publishing folder. You need to select a location for that folder on your organisation's network.

    2. Open IIS Manager on your web application server.

    3. Right-click Contribute and click Add Virtual Directory.

      Right-click and Select Virtual Directory

    4. Enter an Alias.

    5. Under Physical path: enter the location of the publishing folder for Contribute.

    6. Open your library in Author-it Administrator.

    7. Go to Settings > Publishing Server Settings.

    8. Under Publishing Server Path, enter the physical location of the publishing folder for Contribute.

    9. Under Publishing Server URL, enter the URL of the virtual directory you created earlier.

    10. (Optional) Under Publishing Sub Folder path, enter variables to determine if and how the Publishing service will create sub folders for published outputs.

    Permissions for the publishing directory

    • The Publishing Service must be able to write to the publishing folder.

      Configuration: Give the Publishing Service User (that is, the user the publishing service is configured to log on as) Read and Write File permissions to the Publishing directory.

    • The Virtual Directory must be able to read from the publishing folder.

      Configuration: The IIS Application Pool User (by default, the Network Service) needs Read File permissions for the Publishing folder.

      Note: IIS Manager 6 and Web Help: To view Web Help, ensure that you set the Publishing Folder Execute Permission to Scripts only in folder Properties > VirtualDirectory > Execute permissions.

    This virtual directory makes it possible for Contribute to access the publishing folder, so that contributors can view publishing outputs inside Contribute.

  12. In Author-it Administrator, enter the publishing server settings for the library you connected to Contribute.

  13. Configure the Author-it Service on your publishing server.

    Author-it Service Manager is used to set up Author-it services, which are required for a number of Author-it applications and functions.

    Prerequisites

    • Active Directory has a domain administrator called (aitservice) that is in the local administrator group.

    • You’re able to add Windows Server Roles and Features to your applications servers.

    • You have full administrative access to your applications servers, or an administrator is available.

    • Install Service Manager

    1. Log in to your application services server.

    2. Download the required installation files from the Author-it Community website, unzip them, then open the unzipped folder.

      The Service Manager installation file (Author-it Service.msi) is included in the same download as the Author installation files.

    3. Open Author-it Service.msi.

    4. Follow the on-screen instructions to complete the installation.

    • Configure the Author-it service

    Author-it Service Manager uses the Author-it service to set up other Author-it services. To run, the Author-it service requires specific permissions on both the application services and database server. We recommend using the account aitservice.

    1. Log in to your application services server.

    2. Open Services (In windows explorer, go to Control Panel\System and Security > Administrative Tools > Services).

    3. Right-click the Author-it Service and select Properties.

    4. Select Log On.

    5. Select This account and enter the details for the aitservice account.

    6. Click OK.

    7. Restart the service.

  14. Enable the Publishing service on your publishing server.

    Enabling Author-it services is a critical part of installing a number of Author-it modules and functions, which require them to run.

    You'll need to add your library to Service Manager before enabling Service Manager services.

    • Add a library to Service Manager:

    1. Open Author-it Service Manager.

    2. Click Add Library.

    3. Click the SQL Server tab and connect to your SQL library using a user with full access to the database.

    4. Click OK.

    The library is added to your libraries list with separate entries for each service.

    • Enable Service Manager services to start automatically:

    1. In Author-it Service Manager, right-click each service in your library and select Configure Service.

    2. Enable Start Automatically.

    3. Save.

    • Enable Service Manager services:

    In Author-it Service Manager, right-click each service in your library and select Start Service.

    The Publishing service processes publishing jobs for Contribute.