How eSync Interacts with Other Ektron Features

eSync in a load balanced environment

eSync in a Load Balanced Environment

Ektron supports a load-balanced environment, in which several servers share your Web site’s processing load. This feature is explained in Balancing the Load on Your Servers.

If your site uses load balancing, you can set up eSync so that, after one server in a load balance cluster is synchronized, the other servers are automatically synchronized. Note that if a separate database server is outside the load balance cluster (as shown below), eSync only synchronizes documents and files used by the search among the clustered servers. It does not touch the database.

Beginning with Ektron version 8.5, the load-balance chain of servers is updated automatically, and servers that are not available are removed. A typical load balanced cluster is below.

WARNING! Ektron’s eSync feature does not synchronize all databases in a SQL database cluster. If you have such a configuration, it is your responsibility to ensure that eSync updates all databases.

WARNING! In a load balanced environment, only update templates on the staging server. Do not update them on the production server and assume they will be synchronized with the staging server.

WARNING! Assume your load balanced cluster consists of 2 staging servers (S1 and S2) and 2 production servers (P1 and P2).
If you add/modify/delete a file on S1, to get the file to S2, you must run either a download sync on S2, or an upload sync on S1, or a bidirectional sync from either server. If you run a download sync on S2, you also need to run an upload sync to push the file to P2, which will then Load Balance with P1.
The best way to make sure that the added/modified/deleted file is changed on all servers is to initiate the sync from the server on which the file was changed. In this example, since you changed the file on S1, if you initiate a sync from S1, it will be automatically updated on S2, P1, and P2.

Prerequisites

  • The connection string on all servers in the cluster matches
  • You must initiate eSync relationships, and the actual synchronization, from a staging server
  • If your staging servers are clustered, you must remove one from the cluster before you can sync

Follow these steps to set up this capability.

Install a min site on every server in the cluster

Install a Min Site on Every Server in the Cluster

  1. Upgrade each server to the same version of Ektron. If Ektron is already installed on one server, install a minimum site on the others. To do this, run the Ektron base installation file (CMS400Base8x.exe). For more information, see Installing the Minimum and Starter Sites.
  2. If the site with which you will sync is precompiled, precompile all min sites.
Update the Assetmanagement.config file

Update the Assetmanagement.config File

  1. Sign on to the first server in your load balanced cluster.
  2. In the site root folder, open assetmanagement.config.
  3. Change the value of LoadBalanced to 1 and save.
  4. Do this on every server in the cluster.
Update the Ektron Windows service config file

Update the Ektron Windows Service Config File

  1. Sign on to the first server in your load balanced cluster.
  2. Open C:\ProgramFiles\Ektron\EktronWindowsService40\Ektron.ASM.EktronServices40.exe.Config.
  3. Change the value of LoadBalanced to 1 and save.
  4. Do this on every server in the cluster.
  5. Stop and then Start the Ektron Windows Service on every server in the cluster.
Create eSync security certificates for a load balanced cluster

Create eSync Security Certificates for a Load Balanced Cluster

You should be familiar with eSync security certificates before beginning this procedure. See Also: ManagingeSync Security Certificates

Assume the load balance cluster has 3 servers: mach1, mach2, and mach3.

This procedure has 2 major parts.

Generate security certificates on mach1

Generate Security Certificates on mach1

In the first 9 steps, you copy mach1’s security certificate files, then paste them into the same folder.

  1. Sign on to mach1 and generate security certificates. To do this, click the Windows Start button > All programs > Ektron > CMS400 v8x > Utilities > Security Configurator > right click and choose Run as Administrator.
  2. The security configurator screen appears. See ManagingeSync Security Certificates. Click Generate Certificates then click OK. This action creates security certificates on mach1.
  3. On mach1, open the following folder: C:\ProgramFiles\Ektron\CMS400v8x\Utilities\Software\SecurityConfigurator.
  4. Copy the following files.
    • mach1_SyncClient.pfx
    • mach1_SyncClient.pvk
    • mach1_SyncClient.cer
    • mach1_SyncServer.pfx
    • mach1_SyncServer.pvk
    • mach1_SyncServer.cer
  5. Paste them into the same folder.
  6. Repeat steps 4 and 5 every server in your load balance cluster. So the number of certificate files in the folder is 6 x the number of servers.
  7. Copy all security certificate files to the following mach1folder: C:\Program Files\Ektron\EktronWindowsService40.
  8. Stop and start the Ektron Windows Service.

    In the second part of this procedure, you

    • open the Ektron.ASM.EktronServices40.exe.config file
    • copy mach1’s certificate’s key value
    • create new keys, and apply mach1’s encoded value to them

    So, when you finish, the affected part of the file looks like this:

    <add key="mach1_SyncClient.cer" encodedValue="MIIB7TCCAVag....
    <add key="mach2_SyncClient.cer" encodedValue="MIIB7TCCAVag....
    <add key="mach3_SyncClient.cer" encodedValue="MIIB7TCCAVag....

    NOTE: The encodedvalue is abbreviated to fit the page.

  9. Open the following file:
    C:\ProgramFiles\Ektron\CMS400v8x\Utilities\EWSUpdates\EktronWindowsService40\Ektron.ASM.EktronServices40.exe.config
  10. Find the <publickCertKeys> element.
  11. Following that line is the encoded certificate value for mach1, which looks something like this: <add key="mach1_SyncClient.cer" encodedValue="MIIB7TCCAVag....

    NOTE: The encodedvalue is abbreviated to fit the page.

  12. Copy the <add key> element, including the value.
  13. Open a text processing application like Notepad.
  14. Into the Notepad file, paste the text you copied in Step 13 3 times.
  15. Change the second line’s add key value to mach2_SyncClient.cer.
  16. Change the third line’s add key value to mach3_SyncClient.cer.
  17. Copy the second and third lines of the Notepad file (the lines you just changed).
  18. Return to the Ektron.ASM.EktronServices40.exe.configfile.
  19. Locate the <add key> element.
  20. Place the cursor directly below that line.
  21. Paste the text you copied in Step 18.
  22. Save the Ektron.ASM.EktronServices40.exe.config file.
Apply security certificates to mach2 and mach3

Apply Security Certificates to mach2 and mach3

  1. On the local server, open 2 Windows Explorer windows: one showing the mach1’s file system, and the other showing the mach2’s file system.
  2. In the mach1 window, open C:\Program Files\Ektron\EktronWindowsService40.
  3. Copy all security certificate files in that folder.
  4. In the mach2 window, open the following folder: C:\Program Files\Ektron\EktronWindowsService40.
  5. Paste all security certificate files you copied in Step 3 to that folder.
  6. Stop and start the Ektron Windows Service.
  7. In the mach2 window, create a folder underneath the root folder. Name it Ektron Security Certificates.

    WARNING! Do not place it under the Web root folder, C:\inetpub\wwwroot.

  8. Return to the mach1 window, which is still open to the following folder: C:\Program Files\Ektron\EktronWindowsService40.
  9. Copy the following files.

    WARNING! Copy—do not move—the files from the mach1 folder.

    • mach2_SyncClient.pfx
    • mach2_SyncClient.pvk
    • mach2_SyncClient.cer
    • mach2_SyncServer.pfx
    • mach2_SyncServer.pvk
    • mach2_SyncServer.cer
  10. Paste the files into the mach2 folder you created in Step 7. Make sure there are no other security files in the folder. Next, you need to register and move the files to the correct folders. The Security Configurator screen does this.
  11. On mach2, click Windows Start button > All programs > Ektron > CMS400 v8x > Utilities > Security Configurator > right click and choose Run as Administrator.
  12. The security configurator screen appears. Click the Apply Remote Server Certificates radio button.

  13. Click the browse button next to that field.
  14. Browse to the folder to which you pasted the security certificates in Step 11.
  15. Click OK . The utility copies the security certificates you pasted in Step 9 to the correct folder, and configures them for the remote server.
  16. Repeat the above steps for every server in the load balance cluster. Note that the files to be copied start with the server name you’re currently setting up.
Setting up and running eSync

Setting Up and Running eSync

You set up and run eSync in a load balanced environment the same way you run it normally. See these sections for details.

Using eSync in a multi-site environment

Using eSync in a Multi-site Environment

If you want to use eSync in a multi-site environment, you must do so before the initial synchronization of a configuration. That is, you cannot set up a eSync configuration in a single-site environment and then later change to multi-site. You can set up a new configuration at any time.

Limitations on using eSync in a multi-site environment

Limitations on Using eSync in a Multi-site Environment

  • In a multi-site environment, you cannot create a staging site from a production site (as described in Using eSync to Initialize a New Site). You must first create all sites on the staging server, then set up production sites with which they sync.
  • You should log into the main site then synchronizing it and all multi-sites from there.
Setting up eSync in a multi-site environment

Setting up eSync in a Multi-Site Environment

To set up eSync in a multi-site environment:

WARNING! Back up your database before beginning this procedure!

  1. Set up all sites on the staging server, following the instructions in Supporting Multi-Site Configurations.
  2. Install an Ektron min site on each production server that will host a site. To do this, run the Ektron base installation file.
  3. Install security certificates between the staging server and all production servers. This procedure is described in ManagingeSync Security Certificates.
  4. Sign on to the staging server.
  5. In the Ektron Workarea, go to Settings > Configuration > Synchronization.
  6. The View All Synchronization Configurations screen appears. Click Create Synchronization Server Relationship. The screen appears.

    NOTE: If you see the following error, The system cannot find the file specified, you must set up security certificates. See Also: ManagingeSync Security Certificates

  7. Use the following information to complete the screen.

    WARNING! The first time you sync an Ektron Web site, all of its data is overwritten. Make sure that no important information resides on the production server before beginning the first sync.

  8. Remote Server—Select a production server by choosing the path to the site’s physical location on the remote server.
  9. Choose Certificate—If you selected a single server above, its name appears here. Proceed to the next step.

    If you selected a domain or IP address above, click the drop-down arrow to view all servers whose client security certificates reside on this server. Then, select the server with which you want to set up an eSync relationship.

  10. Click Connect. After you connect to the production server, all eligible databases on it appear. The top one has a green check mark, indicating it is selected by default.

  11. Click the database with which you want to sync. When you do, a green check mark appears on it, and its background color changes.
  12. Click Next.
  13. A new screen appears, showing both servers and allowing you to change the direction of the initial database copy. Make sure you are copying from staging to production. Because the staging server is multi-site, the staging server area has a Site Path pulldown field, which lets you select a site.

  14. When you are satisfied, click Create. This sets up the server configuration but does not launch the initial sync.
  15. The View All Synchronization Configurations screen appears with the new configuration. If you are ready to overwrite the production database with the staging one, click Start Initial Sync (). A confirmation message appears.
  16. A screen monitors the sync’s progress.
  17. The initial sync creates a default profile, which appears on the View All Synchronization Configurations screen.
  18. Set up and launch sync profiles to sync Workarea files and templates on the staging server with those on the production server. (This is described in Setting up eSync Profiles and

    Running a Sync.) For synchronization direction, choose Running a Sync.

Setting up staging multi-sites

Setting up Staging Multi-sites

By default, if you sign on to a staging server then insert library items (images, quicklinks, and so on) into content, the path to those items includes the production server. For example, your server setup includes 2 multi-sites: sales.ektron.com and support.ektron.com.

NOTE: Multi-site names are defined in the site’s folder properties screen’s Production Domain field, as described in Step 3: Assign Multi-Site Capabilities in Ektron.

So, library links in the sales.ektron.com site’s content look like this: http://sales.ektron.com/template?id=id number. However, you may wish to change library links so they refer to the staging server. This would help you verify that the linked items exist on the staging server.

To change library links to refer to your staging server:

  1. Go to Settings > Configuration > Setup.
  2. Click Edit.
  3. Check the Staging Server check box.
  4. Click Update.
  5. Go to Content > the staging site folder.
  6. Choose View > Properties.
  7. Click EditProperties.
  8. Scroll down to the section labeled Multi-Site Domain Configuration:
  9. In the Staging Domain field, enter the URL of your staging server.
  10. Click Update.

From now on, when a user signs on to the staging server and works with library links, the links include the staging server instead of the production server.

Using eSync with Web Alerts

Using eSync with Web Alerts

The Web Alert feature enables Ektron to generate email for a list of registered users whenever new content appears on your site, or existing content is updated. For more information, see Administering Web Alerts.

In an eSync environment, you need to determine which servers send Web Alerts. For example, Web Alerts should probably not be generated when content is published on a staging server, but you would want them when content is published on a production server.

To determine if a server generates Web alerts, use the following property of each Web site’s web.config file.

<add key="ek_DisableWebAlerts" ..... />

Set the property’s value to true to suppress Web Alerts on a server.

Set the property’s value to false to generate Web Alerts to on a server.

Also, the server clock on the download side of the eSync relationship must be exactly the same time as or slightly ahead of the clock on the sending server.

Using eSync with eCommerce

Using eSync with eCommerce

When using eSync with an eCommerce site, you need to prevent orders from being processed on your staging server to prevent orders from being processed twice.

For example, a customer on your production site purchases a product. If the staging server and production server are synched before the credit card is processed, it might be charged twice: once from the production server and again from the staging server.

To prevent orders from being processed on your staging server, edit your staging site’s web.config file and set the following property to true:

<add key="ek_ecom_OrderProcessingDisabled" value="true" />

When the property is set to true, you cannot process or edit orders from the Workarea’s View Order screen on the staging server. Also, if you try to create an order from the staging server’s Web site, you receive the following message.

We're sorry, an error occurred while processing your request. Please try again later...

It is important to note that all other eSync functions still work properly. For example, when you create catalog entries on a staging server and perform a sync, the entries are moved to the production server. The ek_ecom_OrderProcessingDisabled key only affects the processing of orders.

Using eSync with notifications

Using eSync with Notifications

When using eSync with Notifications, any new agents are not synched. This means that you must manually add new agents to each server in your configuration.

When the agent exists on all servers in your configuration, eSync keeps them updated. For example, assume a membership user logs into the production server and updates his profile’s Activities tab by changing the activities a custom agent will perform. eSync will sync those changes with the staging server.

See Also: Adding a Custom Agent; Notifications

Using eSync with eCommerce

Using eSync with eCommerce

When using eSync with an eCommerce site, you need to prevent orders from being processed on your staging server to prevent orders from being processed twice.

For example, a customer on your production site purchases a product. If the staging server and production server are synched before the credit card is processed, it might be charged twice: once from the production server and again from the staging server.

To prevent orders from being processed on your staging server, edit your staging site’s web.config file and set the following property to true:

<add key="ek_ecom_OrderProcessingDisabled" value="true" />

When the property is set to true, you cannot process or edit orders from the Workarea’s View Order screen on the staging server. Also, if you try to create an order from the staging server’s Web site, you receive the following message.

We're sorry, an error occurred while processing your request. Please try again later...

It is important to note that all other eSync functions still work properly. For example, when you create catalog entries on a staging server and perform a sync, the entries are moved to the production server. The ek_ecom_OrderProcessingDisabled key only affects the processing of orders.