Using eSync

This section explains the following eSync topics.

Characteristics of eSync

Characteristics of eSync

Easy and flexible setup and usage

Easy and Flexible Setup and Usage

You administer eSync through Ektron’s Workarea > Settings > Configuration > Synchronization screens. The screens let you establish a sync configuration between 2 databases, then specify any number of sync profiles for each configuration.

Each profile lets you specify data to sync, a direction, and a schedule. You can always sync immediately by clicking Sync () .

You create profiles to sync these kinds of data.

  • all content, assets, and library assets
  • all Workarea folder files
  • the remaining site files (with a few exceptions)
  • a selection of Windows files in your site root folder and its subfolders

See Also: Setting up eSync Profiles

Individual file types can be included or excluded from the sync. In addition, you can sync Ektron content or folders. See Also: Content and Folder Sync Options

Sync configurations

Sync Configurations

Several eSync configurations are shown below. You can synchronize any server to or from any other server with one important exception: you cannot initiate a sync from a server outside the firewall. You can only initiate a sync from a server inside the firewall and copy to a server outside the firewall. This is because the outside server does not know the address of servers inside the firewall. However, you can use a staging server to push and pull updated information to and from a production server.

IMPORTANT: All eSync transmissions use port 8732. This is not configurable.

Configuration 1: One Staging server, one Production server

Configuration 1: One Staging Server, One Production Server

This is the most basic eSync configuration, showing one staging and one production server. Each server has a database and one site.

The eSync feature can automatically create a production server from your staging server. See Also: Using eSync to Initialize a New Site

For installation instructions for this configuration, see Scenario 2: Synching a Local Server with a Remote Server.

Configuration 2: One Development, one Staging, one Production server

Configuration 2: One Development, One Staging, One Production Server

This configuration includes a development server. Developers can use it to create new features and modify existing ones. When they are done, they can sync the changes to the staging server, where the changes can be verified before being moved to production.Configuration 2a: Multi-site Staging and Production Servers

For installation instructions for this configuration, see Scenario 3: Setting up a Development > Staging > Production Environment.

Configuration 2a: Multi-site staging and production servers

Configuration 2a: Multi-site Staging and Production Servers

The following configuration illustrates synching several sites on a staging server with those sites on production.

Configuration 3: Several Dev. servers, one Staging, one Production server

Configuration 3: Several Dev. Servers, One Staging, One Production Server

As shown in the illustration, any number of development servers can sync to each other and your staging servers.

Configuration 4: One Dev, one Staging, one Production site, one Production DB server

Configuration 4: One Dev., One Staging, One Production Site, One Production DB Server

In this configuration supported by eSync, the production site has 2 servers: one for site files, and another for the database.

To synchronize these servers, set up several eSync profiles. One syncs the database, assets, and templates to the production database server. Use additional profiles to sync the staging server’s Workarea files with the production site server.

NOTE: When using separate site and database servers, assets are stored on the site server.

Configuration 5: Configuration 4 plus pre-production server

Configuration 5: Configuration 4 Plus Pre-Production Server

This eSync configuration adds an extra server between staging and production. The preproduction server can be used for review and testing of changes before they are moved to production.

Configuration 6: Multi-site: Each site and DB on own production server

Configuration 6: Multi-site: Each Site and DB on own Production Server

In this configuration, each production server has its own database plus the site files. As an alternative, you could have a separate server for each production database, with all sites on one production server.

NOTE: The above configuration also supports separate site and database servers.

To synchronize this type of configuration, set up several eSync profiles, one for each site.

  • 3 database and template profiles
  • 3 Workarea profiles
The server number

The Server Number

Every server in a sync configuration is assigned a unique number. The originating server is numbered 1, the first server with which it establishes a relationship is numbered 2, and so on.

The server number is in the serverinfo.xml file, located in the c:\sync\inetpub\wwwroot\siteroot folder, as shown below.

<SyncServerInfoList>
  <SyncServerInfo IsSyncRunning="true" MaxId="2" ServerNumber="1" IsMulti-SiteStaged="false">
    <ServerId>b0cccb5a-1d45-4262-8857-79f1333696dc</ServerId>
    <ServerUrl>http://localhost:8732/Ektron.Sync.Communication/
      SyncCommunicationScheduleService.svc</ServerUrl>
    <ConnectionInfo>server=WS10080\SQLExpress;database=CMS400Developer;
       Integrated Security=TRUE;user=;pwd=;
    </ConnectionInfo>
  </SyncServerInfo>
</SyncServerInfoList>
		
Unique ID numbering

Unique ID Numbering

All Ektron data is assigned a unique ID number to distinguish it from similar objects. Examples are content (see illustration below), folders, menus, users, and so on.

When you create a sync relationship, Ektron applies to each server a new ID numbering range to ensure that, from then on, objects created on either server have a unique ID. This prevents collisions when synching between servers. For example, since membership users created on a production server have a different ID number range from those created on the staging server, eSync does not overwrite them.

To view a server’s ID number range, open its serverinfo.xml file, located in the c:\sync\inetpub\wwwroot\siteroot folder, and check the MaxId value as shown in the following example.

<SyncServerInfoList>
  <SyncServerInfo IsSyncRunning="true" MaxId="1" ServerNumber="1" IsMulti-SiteStaged="false">
    <ServerId>b0cccb5a-1d45-4262-8857-79f1333696dc</ServerId>
    <ServerUrl>http://localhost:8732/Ektron.Sync.Communication/
      SyncCommunicationScheduleService.svc</ServerUrl>
    <ConnectionInfo>server=WS10080\SQLExpress;database=CMS400Developer;
       Integrated Security=TRUE;user=;pwd=;
    </ConnectionInfo>
  </SyncServerInfo>
</SyncServerInfoList>

Multiply that number by 1 trillion to get the largest ID number which that server can assign. So for example, if MaxId = 3, possible ID numbers range from 2,000,000,000,001 to 3,000,000,000,000.

eSync moves changes only

eSync Moves Changes Only

eSync only copies data that changed since the last sync. So, for example, if your site has 100 menus but only 3 changed since the last sync, it only copies 3. As a result, eSync is very quick.

To track changes to Ektron data between syncs, eSync sets up a c:\sync folder structure that mirrors your site’s Windows folder structure. This structure is created on each server when sync relationships are established.

No Ektron files reside in the \sync folders. Instead, each folder has four .sync files that monitor changes to the Ektron files in the corresponding folder.

Managing eSync security certificates

ManagingeSync Security Certificates

Ektron’s eSync feature uses security certificates to ensure secure communication between servers. All servers in an eSync configuration must have matching, encrypted security certificates to establish an eSync relationship.

NOTE: If your configuration includes separate database servers, you do not need to install security certificates on them. You only need to install certificates on servers that host Ektron.

See Also: Create eSync Security Certificates for a Load Balanced Cluster

Client and server certificates

The Client and Server Certificates

Before you can establish an eSync relationship between servers, each server must have its own (local) security certificate and one from every other server in the configuration.

As another example, if an eSync configuration consists of five servers, each server requires five security certificates: one local and four remote.

Each server creates 2 sets of certificates: a server and a client set. Then, you copy certificates to the other servers in the configuration. The local machine’s server certificate must match a client certificate on the remote server, and vice versa.

You typically only copy certificates when establishing an eSync relationship between servers. After that, any eSync activity triggers a background check, and you can only proceed if certificates match.

Each certificate consists of the following files.

  • Server certificate
    • servername_SyncServer.pfx
    • servername_SyncServer.pvk
    • servername_SyncServer.cer
  • Client certificate
    • servername_SyncClient.pfx
    • servername_SyncClient.pvk
    • servername_SyncClient.cer

The security certificates can apply to one site or all sites on a server. You determine this when installing them.

See Also: Installing Security Certificates

Installing security certificates

Installing Security Certificates

Prerequisite: Permission to copy and paste files between local and remote servers

To create and place eSync security certificates in the correct locations:

Step 1: Create security certificates on your local server

Step 1: Create Security Certificates on Your Local Server

  1. During the Ektron installation, you are asked if you want to install eSync security certificates. The eSync checkbox (second from the top) is only accessible if your license key contains an eSync modifier.

  2. If you check eSync, near the end of installation, the following screen prompts you to enter information needed to create the certificates.

    NOTE: You can access this screen at any time screen by opening Windows Start Button > All programs > Ektron > CMS400 v8x > Utilities > Security Configurator> right click and choose Run as Administrator.

  1. Use the following information to understand this screen.
  • Generate Certificates—Use this screen area to create security certificates that must be copied to a remote server with which you want to sync.
  • Web Site Description—If more than one site is set up on this server, use the pull-down list to select the Web site for which you are installing security certificates. Or, click All to apply certificates to all sites on the server.
  • Apply Remote Server Certificates—Use this screen area to apply eSync security certificates that were copied from a remote server to your local server. See Also: Step 3: Copy Local Client Certificate to Remote Server
  1. Click Generate.
  2. Local security certificates are created and configured.

    NOTE: Only click Generate once. The status field at the bottom of the screen updates as it progresses. If you click OK more than once, you delay the certificates’ creation.

Step 2: Create security certificates on the remote server

Step 2: Create Security Certificates on the Remote Server

  1. Sign on to the remote server.
  2. Generate security certificates for the remote server, following instructions in Step 1: Create Security Certificates on Your Local Server. When you complete this procedure, remote client and server security certificates are created and configured.
Step 3: Copy local client certificate to remote server

Step 3: Copy Local Client Certificate to Remote Server

  1. On the local server, open 2 Windows Explorer windows: one showing the local server’s file system, and the other showing the remote server’s file system.
  2. On the remote server window, create a folder underneath the root folder. The folder name is not important.

    IMPORTANT: Do not place it under the Web root folder, for example C:\inetpub\wwwroot.

  3. In the local server window, open the following folder: C:\ProgramFiles\Ektron\CMS400V8x\Utilities\Software\SecurityConfigurator.
  4. Copy the following files.
    • servername_SyncClient.pfx
    • servername_SyncClient.pvk
    • servername_SyncClient.cer
    • servername_SyncServer.pfx
    • servername_SyncServer.pvk
    • servername_SyncServer.cer

    NOTE: These files were created when you completed the eSync Security Configurator Screen in Step 1.

  5. Paste the files into the remote server folder that you created in Step 2. Make sure there are no other security files in the folder.

    After the local server’s security certificates are copied to the remote server, you need to register and move them to the correct folders. The Security Configurator screen does this.

  6. On the remote server, open the security configurator screen using this path: Windows Start Button > All programs > Ektron > CMS400 v8x > Utilities > Security Configurator > right click and choose Run as Administrator.
  7. The security configurator screen appears.

  8. Click Apply Remote Server Certificates (circled above).
  9. Click the browse button next to that field.
  10. Browse to the folder to which you pasted the security certificates in Step 5.
  11. Click Apply.
  12. The utility copies the security certificates you pasted in Step 5 to the correct folder, and configures them for the remote server.
Step 4: Copy remote client certificate to local server

Step 4: Copy Remote Client Certificate to Local Server

  1. Sign on to the remote server.
  2. Follow the steps described in Step 3: Copy Local Client Certificate to Remote Server, except substitute remote for local.
Step 5: Test the security certificates

Step 5: Test the Security Certificates

  1. From the local server, sign on to Ektron.
  2. In the Workarea, go to Settings > Configuration > Synchronization.
  3. Click Create Synchronization Server Relationship.
  4. Enter the name of the Remote Server.
  5. Select the security certificate you are testing.
  6. Click Connect. If the next screen appears, the security certificates are working properly.
Regenerating security certificates

Regenerating Security Certificates

Follow these steps to regenerate security certificates. You may need to do this if they stop working, or you are concerned about a security breach.

  1. Access the eSync Security Configurator screen via Windows Start Button > All programs > Ektron > CMS400 v8x > Utilities > Security Configurator > right click and choose Run as Administrator.
  2. Use the Web Site pulldown field to select a site on your server, or choose All sites.
  3. Click the Discard Existing Keys checkbox (circled below).

  4. Click Generate. The existing security certificates are removed from your local server.
  5. Reopen the Security Configurator screen.
  6. Choose the correct Web Site, verify the other settings, and click Generate. See Also: Step 1: Create Security Certificates on Your Local Server. This action generates new security certificates on your server.
  7. Copy the new certificates to all other servers in the eSync configuration. This is explained in Step 3: Copy Local Client Certificate to Remote Server.
Troubleshooting security certificates

Troubleshooting Security Certificates

Could not connect error

Could Not Connect Error

When trying to connect to a remote server, after selecting a security certificate, you may see the following message.

Here are some steps to resolve the problem.

  • Check the Windows Event Viewer > EktronL2 log for the error. If the service is hosted but already exists, stop then start the service (do not restart).
  • The certificates may be corrupted. To resolve this, see Regenerating Security Certificates.
No endpoint error

No Endpoint Error

The following error indicates that

  • the remote site may not be on the same Ektron version as the local site, or
  • the Ektron Windows Service is not started

Using Certificate Manager

Using Certificate Manager

Use Certificate Manager to view security certificates installed on your server. Check marks indicate the certificates. You can also delete all certificates for a server.

NOTE: You can only remove certificates from servers in your eSync configuration. You cannot remove them from the server you are currently logged into.

To view and delete certificates:

  1. Right click Start > Program Files > Ektron > CMS400v8x > Utilities > Security Configurator > right click and choose Run as Administrator.
  2. Click Manage Certs. Your server's security certificates appear.

  3. To remove certificates from a server, select that row and click Remove.
Using eSync to initialize a new site

Using eSync to Initialize a New Site

Typically, before you begin using eSync, one server hosts an Ektron Web site, and you want to bring other servers into the configuration. After the servers are synchronized, one will be the staging server (the one on which content is created or updated, then approved). Another server, production, hosts your live Web site.

IMPORTANT: The names of the site and all folders must match on both servers. This is because paths to images, XSLT files, and so on, refer to a site and its folders. If the servers’ site and folder names do not match, the links break.

First, use eSync to initialize new servers from the existing one. This process is described in Setting Up eSync. Afterwards, use eSync to periodically sync updated content, folders, users, menus, and so on.

Setting up eSync Profiles

Setting up eSync Profiles

To minimize data entry, eSync saves an individual eSync job's specifications in a profile. So, after you enter specifications once, select the profile whenever you want to sync using the same details. A profile contains information about the

  • source and destination databases
  • type of data being synched
  • files to include/exclude
  • direction
  • schedule

Use the Add Synchronization Profile screen to manage eSync profiles.

While Setting Up eSync, you created a default database and a template profile. This section explains how to modify those profiles and create new ones.

To sync a Web site, you need at least 2 profiles: one for the siteroot/Workarea folder, and another for all other site files. To create a profile for

  • your Workarea folder, click Workarea Files under Items to Synchronize

  • all other site files, click Database/Resources, Template, and Binunder Items to Synchronize

File types synched by Items to Synchronize list

File Types Synched by Items to Synchronize List

The following table explains which files are synched by each category.

NOTE: You can also set up a profile to sync Windows folders. See Also: Synchronizing Windows Files

Items to Synchronize

Type of data synched

Exceptions

Database/Resources

See Also: Setting up a Profile to Sync a Database and Assets

All database tables plus the following site root folders

  • assets
  • Privateassets
  • uploadedimages
  • uploadedfiles

If you check a scope, only those tables are included.

See Global File Type Exceptions and Database Scope Filters

Workarea

See Also: Setting up a Profile to Sync Workarea Files

All files in the site’s Workarea folder other than the exceptions

Files in these folders:

  • ewebeditpro
  • help
  • explorer
  • ewebdiff
  • documents
  • foundation
  • resources
  • sync

See Also: Global File Type Exceptions

Template

See Also: Setting up a Profile to Sync Template and Bin Files

WARNING! If you run a template sync and Bin is checked, and one server is running is 32-bit mode while the other is running in 64-bit mode, users will not be able to drag and drop DMS files on the staging server.

All files in site root folder other than the exceptions

Files in these folders:

  • workarea (covered by Workarea Files sync)
  • assets, privateassets, uploadedfiles, uploadedimages (covered by Database/Resources sync)
  • bin (covered by Bin checkbox, below)
  • app_webreferences
  • latestchanges
  • app_globalresources

These files:

  • assetManagement.config
  • web.config

See Also: Global File Type Exceptions

NOTE: If you perform an initial sync of a recently-installed min site with your staging site, the min site’s templates could overwrite templates on your staging site. This is because, when 2 templates have the same name, the most recently-modified one overwrites the other.
To avoid this, rename the only template installed with the min site (login.aspx) before performing the initial template sync. You should also rename login.aspx’s supporting files, such as login.aspx.vb.

Bin

The bin folder, including DLLs and assemblies

 

Database scope filters

Database Scope Filters

You can use these filters to sync specific database tables.

Database scope filter Includes these tables
CMS Core Essential tables for Ektron; includes Targeted Content rules
History History—check this option if you want a content item's history transferred with it. This enables users on the destination server to track when and by whom content was changed, published, and so on.
Workflow (eCommerce) eCommerce history of events
Search

Tables to support the following search functionality:

ASP.NET Microsoft .Net ASP provider
Custom Custom tables (if defined) See Also: Synching Custom Database Tables
Notification Notification activities See Also: Notifications
Global file type exceptions

Global File Type Exceptions

The following file types are not synched by default.

  • .config files
  • .txt files
  • .sln files

You may add these file types to a sync profile via the Include/Exclude Files field.

Setting up a profile to sync a database and assets

Setting up a Profile to Sync a Database and Assets

Prerequisite: You created a Sync configuration and ran an initial sync. See Also: Setting Up eSync

To set up a profile to sync an Ektron database and its assets:

  1. Go to the Settings > Configuration > Synchronization screen.
  2. If you are eligible to add a profile to a configuration, the Add Sync Profile button appears.

  3. Click Add Sync Profile (). The Add Synchronization Profile screen appears.
  4. At the Synchronization name field, enter a name for this profile.
  5. At the Items to Synchronize field, select Database/Resources. For details on the checkboxes under Database/Resources, see Database Scope Filters.
  6. At the Synchronization Direction field, select the direction of the data copy. Your choices are:
    • Bidirectional—Changed data on either server is updated on the other. If the same data (for example, a membership user profile) is updated on both servers, the conflict resolution policy determines the outcome. See Also: Bidirectional Sync; Conflict Resolution Policy

      NOTE: If you are using bidirectional sync and only one version was updated since the last sync, the updated version overwrites the unchanged version.

    • Upload—database and assets are copied from the local server (the one to which you signed on) to the remote server (specified at the Remote Site field above). Items on the remote server are overwritten.
    • Download—database and assets are copied from the remote server to the local server. Items on the local server are overwritten.
  7. At the Conflict Resolution Policy field, decide what to do if Synchronization Direction is Bidirectional, and the same data changed on both servers since the last sync. Your choices are.
    • Version on Remote Site Wins—the remote version overwrites the local version
    • Version on Local Site Wins—the local version overwrites the remote version

    See Also: Conflict Resolution Policy

  8. If desired, select a schedule for when the sync will run automatically. The choices are
    • None—Don’t set up a schedule. Run sync profile as needed via the Sync Profile screen‘s Start Now button.
    • One Time—you specify a start time and date
    • Hourly—you specify a start date and time. eSync begins on the start date and time, then runs every hour at that time.
    • Daily—you specify a start time and date; this sync profile will run every day at this time
    • Weekly—you specify a start time, date, and day. After the start date, this sync profile will run this day every week at this time.
    • Monthly—you specify a start time and date (numbers 1 through 31). After the start date, this sync profile will run this day every month at this time.

      NOTE: If you enter a date greater than 28, the sync will not run in a month that does not include that date. For example, if you enter 31, the sync will not run in February, April, June, September, and November.

    See Also: Pausing the Sync Schedule

    WARNING! Do not schedule more than one sync to begin at the same time.

    NOTE: You can sync at any time by accessing a Sync Profile and clicking Sync (). See Also: Running a Sync

Setting up a profile to sync Workarea files

Setting up a Profile to Sync Workarea Files

Setting up a profile to sync Workarea files is the same as Setting up a Profile to Sync a Database and Assets with the following exceptions:

The Include/Exclude Files Field

Use the Include/Exclude files field to include files not normally synched, or exclude files or directories that are synched by default.

For example, .txt files are not normally included in a sync, but you want to copy several on your staging server to the production server. In this case, check Include and enter *.txt into the Files field.

Examples of the Exclude option:

  • you do not want to sync Flash (.swf) files. If you check the Exclude button, and enter .swf into the Files field, eSync ignores them.
  • you do not want to sync files in the XXX folder. If you check the Exclude button, and enter XXX into the Directories field, eSync ignores them.

NOTE: By default, eSync ignores .config and .txt files.

You can exclude file types and directories. eSync ignores files that satisfy either criterion.

Setting up a profile to sync template and bin files

Setting up a Profile to Sync Template and Bin Files

Setting up a profile to sync Workarea files is the same as Setting up a Profile to Sync a Database and Assets with the following exceptions:

Previewing a sync profile

Previewing a Sync Profile

Before running a sync profile, you can view what will be synched. To do this, click Sync Preview.

Ektron recommends this feature to help confirm that tables, assets, private assets, uploaded files, uploaded images and assetlibrary files that you delete, add, or change will be copied between servers as you expect. An additional benefit is that you can predict how long a sync will take, because the preview takes the same amount of time.

The Sync Preview produces Sync Log files.

NOTE: You cannot preview a sync profile that includes only Workarea files.

Pausing the sync schedule

Pausing the Sync Schedule

If a sync profile runs on a schedule, you can temporarily pause it. To do this click the profile's pause/play button.

While paused, the sync will not run. To resume the schedule, click the pause/play button again.

For example, a sync is scheduled to run every hour @ :50:  1:50, 2:50, 3:50, and so on. At 10:30 a.m., you pause the sync profile. So, at 10:50 a.m., the sync does not run. At 12:00 noon, you click the pause/play button again. The next sync will start at 12:50 p.m.

Bidirectional sync

Bidirectional Sync

Although most Ektron data is created and updated on the staging server, certain types of data are collected on the production server. This information can be viewed and edited on the staging server. Here are some examples:

  • membership users
  • content ratings
  • forum and blog posts
  • community folders

When you set up a sync profile for this kind of data (maintained in the database), you typically would choose Bidirectional as the direction. In this case, if a membership user updates his profile on the production server, eSync copies those changes to staging. On the other hand, if your administrator changes that information on staging, the next eSync copies the changes from staging to production.

If changes are made to the same file on both servers since the last sync, your conflict resolution policy determines which data is saved. See Also: Conflict Resolution Policy

NOTE: The first time you run a sync for templates or Workarea files, the sync is bidirectional, regardless of the direction you specify on the Synchronization Direction screen.

Conflict resolution policy

Conflict Resolution Policy

If you are using Bidirectional Sync, and the same item changed on both servers since the last sync, eSync must decide which version to keep, and which version to overwrite.

NOTE: If you use bidirectional sync and only one version was updated since the last sync, the updated version overwrites the unchanged version.

Use the Synchronization Profile screen's Conflict Resolution Policy field to determine which version ends up on both servers after synchronization. The choices are:

  • Version on Remote Site Wins—the remote version overwrites the local
  • Version on Local Site Wins—the local version overwrites the remote

Synchronizing Windows files

Synchronizing Windows Files

You can sync individual Windows files. For example, you updated template files and related .css files on the staging server, and want to update the production server without moving everything else.

NOTE: If you create new HTML content and insert a Library image into it, then sync just that content, the image is not inserted into the destination library nor is it searchable from the destination site. To remedy this problem, perform a database/resources sync.

You cannot schedule a Windows file sync—you select files and sync them immediately.

Like the profile sync, a local file replaces a remote one only if the local file was modified more recently.

Prerequisites: 

  • You changed at least one file in your site root folder on the local server
  • A sync configuration exists between the 2 servers that you want to sync. See Setting Up eSync.

To synchronize Windows files:

  1. Go to the Settings > Configuration > Synchronization screen.
  2. Click Add Sync Profile ().

  3. While completing the screen, under Items to Synchronize, select Template. (The file sync ignores the Schedule field.) See Setting up a Profile to Sync Workarea Files.
  4. Save the profile.
  5. From the View All Synchronization Configurations screen, click the profile.
  6. Click the Synchronize files () button.

  7. Your Ektron site's folder structure appear. Open folders and check files to be synched.
  8. Click Sync now.
  9. A dialog tracks the sync’s progress, and notifies you when it is complete.

Optional steps before running a sync

Optional Steps before Running a Sync

You may want to adjust the web.config and db.config settings before running a Sync. The following topics explain eSync features that you control via the .config files.

Replacing the file sync

Replacing the File Sync

Some Ektron customers prefer a tool other than eSync to sync asset files, for example Robo Copy. To disable eSync's assets sync:

  1. On your Ektron server, open C:\Program Files (x86)\Ektron\EktronWindowsService40.
  2. Open Ektron.ASM.Services40.exe.config.
  3. Set the <add key="disableFileSyncProvider"> element to true.
  4. Save Ektron.ASM.Services40.exe.config.
  5. Restart the Ektron Windows service.

From now on, eSync will not copy assets. Set up your replacement tool to do that.

Running a Sync

Running a Sync

IMPORTANT: The names of the site and all folders must match on both servers. This is because paths to images, xslt files, and so on, refer to a site and its folders. If the servers’ site and folder names do not match, the links break.

WARNING! You cannot run 2 syncs simultaneously.

Sync prerequisites

Prerequisites for Running a Sync

  • eSync Requirements
  • You created an eSync configuration and profiles. See Setting Up eSync.
  • You are not signed on to a production server that is outside the firewall. You cannot sync from a production server outside the firewall to other servers—you can only sync to this production server.
Beginning a sync

Beginning a Sync

You can run eSync on a schedule, or on demand. To sync a profile immediately:

  1. Go to the Settings > Configuration > Synchronization screen.
  2. If a profile is ready to sync, a sync button appears in the right column.

  3. Click Sync ().

    NOTE: If another sync is running, you are notified. You can only begin a new sync when the current one finishes.

  4. A screen monitors the progress and indicates when the sync is complete.

NOTE: You can close the window and reopen it at any time by clicking Sync (). If you do, the sync’s current status appears.

IMPORTANT: If you performed a database sync and the site being synched uses URL aliasing, you must go to its URL Aliasing Configuration screen and click Refresh () to update its aliasing information.

Force initial sync

Force Initial Sync

Use the Force Initial Sync button to reinitialize a server that was previously initialized.

Here’s an example of when you would use Force Initial Sync.

  1. You initialized a test server from your current Ektron server.
  2. You experimented on the test server by adding new content, deleting content, and so on.
  3. You no longer want the test server’s database. Instead, you want to reinitialize the test server from your current Ektron server.

To accomplish step 3, use the Force Initial Sync button. The button only appears when all prerequisites are present. See Also: Force Initial Sync Prerequisites

NOTE: The Force Initial Sync procedure ignores the following checks that are normally made prior to synching:
* the destination database is smaller than the source database
* the site has not been previously staged

Force initial sync prerequisites

Force Initial Sync Prerequisites

The Force Initial Sync feature requires these conditions.

  • The server’s web.config file’s ek_ForceReInit property is set to true.
  • The site is not part of a multi-site configuration.
  • The server has only one sync server relationship.
  • The server is the destination (that is, on the download side) of the sync server relationship.

The following image illustrates the last 2 conditions.

Backing up the destination server during an eSync

Backing up the Destination Server During an eSync

You can create a backup of the destination server’s database. If you do and problems occur during the sync, the database is automatically restored to its state prior to the backup.

You can specify the backup to occur on the initial sync only, or every time you sync.

The backup file format is [dbname][yyyy][mm][dd][hh][mm][ss][mmm].[product].bak. For example: cms400min20120216075946765.esync.bak.

NOTE: No backup is made when you sync a folder or content. See Also: Content and Folder Sync Options

Setting up the destination database backup

Setting up the Destination Database Backup

To set up the database backup:

  1. Open C:\Program Files\Ektron\EktronWindowsService40\dbsync.config.
  2. Find the following line (near the top).
    <DatabaseRuntime name="EktronDbSync" logPath="C:\Program Files\Ektron\EktronWindowsService40\Database\">
  3. Add the following properties to that tag.
    • device—Following device, enter the path to the backup file. You should use C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\.
    • backupOption—possible values
      • 1—back up initial sync only
      • 2—back up every sync

    The line should look similar to this:

    <DatabaseRuntime name="EktronDbSync" device="C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\" 
    backupOption="1" logPath="C:\Program Files\Ektron\EktronWindowsService40\Database\">
  4. Save the file.
  5. Restart the Ektron Windows Service.

When this is set up, a backup file is created after the initial sync (if backupOption="1") or every sync (if backupOption="2").

Sync logs

Sync Logs

eSync provides the following logs of sync activity.

Viewing a log of a profile’s most recent sync

Viewing a Log of a Profile’s Most Recent Sync

You can view a log of any profile’s most recent sync by clicking Get Status () next to the profile.

The Get Status icon appears only for previously-synched profiles.

The sync log is the same as the log that appears upon completing a sync.

Viewing a log of a sync server relationship’s most recent sync

Viewing a Log of a Sync Server Relationship’s Most Recent Sync

You can view a log of a Sync Server Relationship’s most recent sync by clicking Get Status () in the header section of the screen.

The sync log (shown above) has the same appearance as the log that appears upon completion of a sync.

Viewing a log of all syncs for a sync server relationship

Viewing a Log of all Syncs for a Sync Server Relationship

The View All Synchronization Configurations screen provides a button that displays a chronological log of all syncs on your server, with the most recent at the top.

You can click the icon in the Status column to view details about any sync.

If the column contains a check mark, the sync was successful.

If the column contains a warning (), the sync failed for some items. If you click the icon, a new screen lists causes for the failure, as shown below. Ektron support can use this log to troubleshoot the problem.

View All Synchronization Configurations screen

View All Synchronization Configurations Screen

This screen lets you perform the following eSync-related activities.

  • Work with eSync configurations (also known as a synchronization server relationships)

To learn more about configurations and profiles, see Easy and Flexible Setup and Usage.

  See Also: Using eSync

Reviewing resolved collisions

Reviewing Resolved Collisions

To verify the accuracy of the data being synchronized, eSync checks for and resolves collisions between the following matching items.

  • user names
  • folder names
  • metadata definitions
  • messages
  • eCommerce products

For example, on the staging server, a user creates a folder under the root folder called Marketing, and a user on the production server does the same.

NOTE: * For folders to match, they must have the same name and folder path.
* Both Ektron and membership users are included.

A collision only occurs if both items were entered since the last synchronization.

Although matching items have different ID numbers, users cannot tell them apart. So, eSync appends a number to the more recently-created item to distinguish it from the other. For example, Marketing becomes Marketing11329.

The review resolved collisions button

To track such changes, the View All Synchronization Configurations screen has a button () that appears only after a collision is resolved.

The server on which the button appears is explained below.

eSync direction

Collision resolution information appears on this server

download

local

upload

remote

bidirectional local and remote

When you click the button, you are asked if you want to check for collisions. If you click Resolve, the following button appears on the toolbar.

Click that button to see the Review Synchronization Collisions screen, showing the original and changed items.

The Review Synchronization Collisions screen

The Review Synchronization Collisions Screen

This screen shows resolved collisions.

After noting these changes, you can check the box to the left of each change, then click Mark Reviewed to remove it from the screen. Alternatively, you can click the box in the header row to select all.

The Users tab has an additional button, Mark Reviewed and Email. Use it to remove the user from the screen and send an email to him/her (using the address from the Add/Edit User screen’s E-Mail Address field). The email text is below.

lbl sync collision email subject = Your username has been changed
lbl sync collision email body = For security purposes, your username has been changed. 
Your new username is {0}.  You will need to use this new username the next time you login.  Thank you.

NOTE: You can change the text in the resource file. To learn about editing it, see Procedure for Translating Workarea Strings.

See Also: Using eSync

Synching custom database tables

Synching Custom Database Tables

You can use eSync to synchronize custom SQL database tables. To do this, create the custom table on all servers. eSync does not create the tables, but will follow rules for populating records in them.

IMPORTANT: Table names are case sensitive. Names must be identical on all servers.

Adding an empty custom table

Adding an Empty Custom Table

To add an empty custom table to your database on the source and destination servers, run the following SQL Query on the database. The table must have a primary key and cannot use identity columns. Here is an example of a valid table.

Create table foo3(Id int not null primary key clustered, 
  Id2 int not null, company nvarchar(50) null)

Here are examples of invalid tables, which incorrectly use identity columns.

create table foo1(Id int not null identity(1,1) primary key clustered,
  company nvarchar(50) null)
create table foo2(Id int not null primary key clustered,Id2 bigint not null identity(1,1),
  company nvarchar(50) null
Using the custom table configuration

Using the Custom Table Configuration

Prerequisite: The Manage Custom Table Configuration button () appears only if your database has custom tables

To add your custom tables to the eSync configuration, follow these steps on the source server.

  1. Go to Workarea > Settings > Configuration > Synchronization.
  2. Click Manage Custom Table Configuration (). The Manage Custom Table Configurations screen appears.

  3. Click Edit Custom Table Configuration.
  4. Click a custom table from the Available column to select it.
  5. Click the right arrow button to move it to the Selected column.
  6. Click Save Custom Table Configuration.

After you add a custom table, your eSync profile displays a new Database/Resource scope for Custom Tables. Select it to include custom tables in your eSync. See Also: Database Scope Filters

As another example, if an eSync configuration consists of 5 servers, each server requires 5 security certificates: 1 local and 4 remote.

The security certificates can apply to 1 site or all sites on a server. You determine this when installing them.

Content and folder sync options

Content and Folder Sync Options

This section explains how to sync content and folders using context menu options.

Prerequisites for content or folder sync

Prerequisites for Content/Folder Sync

See Also: eSync Requirements

  • You are a member of the Administrators group or assigned the Synchronization Admin role
  • Content/folder sync is enabled. See Enabling the Content and Folder Level Sync.
  • The server has a sync configuration whose initial sync has been run
  • Existing folders: folder information has not been updated since the last database sync using the selected profile.
    • If any folder property is changed (for example, a new metadata value is assigned), a database sync must be run before you can synchronize a folder and its content
    • Any child folder (and its content) that inherits that property can only be synched after the next database sync
  • New folders: a database sync must be run before you can synchronize a new folder and its content
  • Content: No new tags or taxonomy categories were added since the last time a profile was synched. If either event occurred, a database sync must be run before you can synchronize that content. You must also run a database sync for all other profiles that use those tags or taxonomy categories. See Also: Tags
  • For a folder sync, the content is not a blog or forum post. For a content sync, the content is not a forum post.

See Also: Content and Folder Sync Options

Enabling content and folder level sync

Enabling the Content and Folder Level Sync

To set up the content and folder Synchronize options:

  1. On to the server on which content editors will sync content and folders, open the site root web.config file.
  2. Go to the following area.
    <eSyncSettings>
    <!-- Set this key to true to enable content/folder sync if the eSync feature is 
      available -->
    <add key="eSyncEnabled" value="false"/>
    </eSyncSettings> 
  1. Set the eSyncEnabled to true.
  2. Save.
Using content and folder sync

Using Content and Folder Level Sync

To sync folders or content:

  1. Create, update, and get content approved on a staging server.
  2. Synchronize individual content or an entire folder with the production server.

eSync is available if you see Synchronize menu options on Approved content or a folder.

Synching a content item

Synching a Content Item

Content sync copies selected content to another server. The sync also copies library resources within that content, such as images and quicklinks.

NOTE: When you sync one content item, all physical files (DMS assets and library files) in the content’s folder are also synched.

Only Approved content can be synchronized. See Also: Prerequisites for Content/Folder Sync

To sync a content item:Setting up eSync Profiles

  1. In the Workarea, navigate to the content.
  2. Click the arrow to its right to see its drop-down menu.

    NOTE: A Synchronize button (shown below) is also available on the View Content screen.


  3. Click Synchronize.
  4. All profiles whose direction is Upload or Bidirectional appear. Select the appropriate one.

  5. Click Sync Now.
  6. The content is synchronized with the selected database.
Synching a folder

Synching a Folder

The folder sync updates all content in a folder with the same folder in another server. It does not affect content in folders underneath the selected folder. See Also: Prerequisites for Content/Folder Sync

To sync a folder:

  1. Navigate to the folder.
  2. Choose Action > Synchronize Folder. A screen asks you to select a sync relationship.

  3. Click Start Sync. All content in the folder is synched with the selected database.

See Also: