Installing the legacy API (in-process) Server Role for a .NET Web application

Only install the legacy API (in-process) Server Role if you have a pressing reason to do so (for example, because you have legacy code that you are unqilling to migrate). Otherwise, install the API (RESTful) Server Role. Installing the legacy API (in-process) Server Role involves registering .NET Server Controls, configuring Profiling & Personalization, and setting up the Ambient Data Framework. The API (in-process) Server Role is typically installed on the staging or live Web site, and takes care of resolving dynamic links between content items.

Procedure

  1. Ensure that all the prerequisites for a Content Delivery Server Role are met on your target system.
  2. Ensure that on the machine on which API (RESTful) runs, the .NET Framework has the WCF Services feature "HTTP Activation" switched on.
  3. Create the following Web application directory structure:
    1. In the root folder, create a bin\ subfolder.
    2. In the bin\ folder, create subfolders config\ and lib\.
  4. Access the SDL Web installation media.
  5. Navigate to the Content Delivery\roles\ folder.
  6. Access the api\in-process\dotnet\bin\ subfolder.
  7. Copy all DLLs in this folder to the bin\ folder of your Web application.
  8. If you run a 32-bit .NET Web application, from your installation media, copy the file Content Delivery\resources\x86\xmogrt.dll, overwriting the file xmogrt.dll already in your Web application.
  9. On the installation media, navigate to the Content Delivery\roles\api\in-process\java\lib\ folder.
  10. Copy all the JAR files from this folder to the bin\lib\ folder of your Web application.
  11. Copy and rename the contents of the Content Delivery\roles\api\in-process\config\ folder on the installation media to the bin\config folder of your Web application.
  12. Copy cd_licenses.xml, your Content Delivery license file available from SDL Customer Support, to the bin\config directory of your Web application.
    If you want to name the file differently or put it in a different location, you need to update the License element in your configuration files.
  13. Optional: Configure logging.
  14. Configure the Storage Layer and optionally encrypt sensitive strings.
  15. Disable recycling of the Application Pool of this Web application by doing the following:
    1. Open IIS Manager.
    2. From the tree on the left, select the current machine and navigate to the Web application you just created.
    3. Click Advanced settings to open a dialog with the application's properties, and note down the value of Application Pool.
    4. Close the dialog.
    5. From the tree on the left, under the current machine, now select the Application Pools node.
    6. From the list on the right, select the Application Pool you just noted down.
    7. Select Recycling in the Edit Application Pool area on the right.
    8. In the dialog that opens, deselect Regular time intervals, then click Next and Finish to commit your change.
    9. Restart IIS.
  16. Copy the file Web.config from the bin\config\ folder of your Web application and merge its contents with the Web.config in the bin\ folder of your Web application.
  17. Open Web.config for editing and add a page control as follows:
    <configuration>
    	<system.web>
    		<pages>
    			<controls>
    				<add tagPrefix="tridion"
    					namespace="Tridion.ContentDelivery.Web.UI"
    					assembly="Tridion.ContentDelivery" />
    			</controls>
    		</pages>
    	</system.web>
    </configuration>
  18. If you intend to use Profiling & Personalization functionality, do one of the following:
    Application Pool in Classic Mode

    Add the following inside the <httpModules> inside the <system.web> section (create an <httpModules> element if it does not yet exist):

    <add type="Tridion.ContentDelivery.Web.WAI.WAIModule, Tridion.ContentDelivery" name="TridionWAIHttpModule" />
    Application Pool in Integrated Mode
    • Add the following inside the <system.webServer> section:

      <directoryBrowse enabled="true">
    • Add the following inside the <modules> inside the <system.webServer> section (create a <modules> element if it does not yet exist):

      <add type="Tridion.ContentDelivery.Web.WAI.WAIModule, Tridion.ContentDelivery" name="TridionWAIHttpModule" />
  19. Save and close Web.config.
  20. Restart the Web application.