Adding the legacy in-process Experience Manager Web site extension to a legacy .NET Web site
To add Experience Manager to your existing legacy staging Web site (using the in-process API) in IIS, add the Experience Manager Web site extension to the staging Web site.
Procedure
- Ensure that all the prerequisites for a Content Delivery Server Role are met on your target system.
- Ensure that on the machine on which API (in-process) runs, the .NET Framework has the WCF Services feature "HTTP Activation" switched on.
- Access the SDL Web installation media.
- Navigate to the Content Delivery\roles\ folder.
- Access the session\extension-web\in-process\dotnet\bin\ subfolder and add the files in this location to the bin\ folder of the .NET Web application that represents your staging Web site. This includes the subdirectory, session\extension-web\in-process\dotnet\bin\lib\ and all of its files.
- 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.
- Navigate to the folder \Content Delivery\roles\session\extension-web\in-process\config\.
- Merge all files in this folder (but not the schemas\ subfolder or its files) with those in the bin\config\ folder of your Web application. Any files not already present in bin\config\ can be copied over.
- Open cd_dynamic_conf.xml for editing.
- Insert the following structure as the first child element inside the root element. This section may already exist, in which case you can use the mappings you see, and add new ones if needed.
<URLMappings> <StaticMappings> <Publications> <Publication Id="23"> <Host Domain="example.com" Port="91" Protocol="http" Path="/local-fr" /> </Publication> </Publications> </StaticMappings> <StorageMapping IdentifyPublicationByProperty="publicationUrl" /> </URLMappings>This example makes it possible to retrieve metadata for a Web page located in the http://example.com:91/local-fr/ by checking the corresponding Page in the Publication with ID 23 in the Content Manager. - Save and close cd_dynamic_conf.xml.
- 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
Licenseelement in your configuration files. - Optional: Configure logging.
- Configure the Storage Layer and optionally encrypt sensitive strings.
- Open Web.config for editing in the root folder of this Web application.
- To enable the Ambient Data Framework, do the following:
- Application Pool in Classic Mode
-
Ensure the presence of the following inside the
<httpModules>section inside the<system.web>section (create an<httpModules>element if it does not yet exist):<add type="Tridion.ContentDelivery.AmbientData.HttpModule" name="Tridion.ContentDelivery.AmbientData.HttpModule" />To enable the Ambient Data Framework for static Web pages, also do the following:
Ensure the presence of the following inside the
<handlers>section inside the<system.webServer>section (create a<handlers>section if it does not yet exist):<remove name="StaticFile" /> <add name="StaticFile" path="" verb="" modules="IsapiModule,StaticFileModule,DefaultDocumentModule,DirectoryListingModule" scriptProcessor="c:\PATH\TO\DOTNET\aspnet_isapi.dll" resourceType="Either" requireAccess="Read" preCondition="bitness64" />where c:\PATH\TO\DOTNET\ is the path to your .NET Framework root folder, for example, C:\Windows\Microsoft.NET\Framework64\v4.0.30319\.
If you run 32-bit .NET, remove the
preConditionattribute.Ensure the presence of the following inside the
<httpHandlers>section inside the<system.web>section (create an<httpHandlers>section if it does not yet exist):<add verb="GET" path="*.jpg" type="System.Web.StaticFileHandler" />
- Application Pool in Integrated Mode
-
Add the following inside the
<modules>section inside the<system.webServer>section (create a<modules>element if it does not yet exist):<add type="Tridion.ContentDelivery.AmbientData.HttpModule" name="Tridion.ContentDelivery.AmbientData.HttpModule" />
- In the location of your Ambient Data Framework module, do the following:
- Application Pool in Classic Mode
-
Add the following inside the
<httpModules>section inside the<system.web>section:<add name="Tridion.ContentDelivery.Preview.Web.PreviewContentModule" type="Tridion.ContentDelivery.Preview.Web.PreviewContentModule" /> - Application Pool in Integrated Mode
-
Add the following inside the
<modules>section inside the<system.webServer>section:<add name="PreviewContentModule" type="Tridion.ContentDelivery.Preview.Web.PreviewContentModule" />
- Save and close Web.config.
- Disable recycling of the Application Pool of this Web application by doing the following:
- Open IIS Manager.
- From the tree on the left, select the current machine and navigate to the Web application you just created.
- Click Advanced settings to open a dialog with the application's properties, and note down the value of Application Pool.
- Close the dialog.
- From the tree on the left, under the current machine, now select the Application Pools node.
- From the list on the right, select the Application Pool you just noted down.
- Select Recycling in the Edit Application Pool area on the right.
- In the dialog that opens, deselect Regular time intervals, then click Next and Finish to commit your change.
- Restart IIS.
- Still in IIS Manager, select the staging Web site. Double-click HTTP Reponse Headers on the right. In the Actions panel that appears on the far right, click Set Common Headers. In the dialog that opens, check Expire Web content and set the values for After to 36500 and Day(s) (that is, 100 years from now). Click OK to commit your change, then close IIS Manager.
- Restart the Web application.