Ektron CMS400.Net Reference
You administer eSync through Ektron CMS400.NET’s Workarea > Settings > Configuration > Synchronization screens. The screens let you establish a sync configuration between two 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 CMS400.NET content or folders. See Also: Content and Folder Sync Options
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.
Warning! All eSync transmissions use port 8732. This is not configurable.
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 an Ektron CMS400.NET Server with Another 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.
For installation instructions for this configuration, see Scenario 3: Setting up a Development > Staging > Production Environment.
The following configuration illustrates synching several sites on a staging server with those sites on production.
As shown in the illustration, any number of development servers can sync to each other and to your staging servers.
In this configuration supported by eSync, the production site has two 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.
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.
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.
Three database and template profiles
Three Workarea profiles
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, etc.
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>
All Ektron CMS400.NET data is assigned a unique ID number to distinguish it from similar objects. Examples are content (see illustration below), folders, menus, users, etc.
-
When you create a sync relationship, Ektron CMS400.NET 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 (highlighted in red below).
<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 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 three. As a result, eSync is very quick.
To track changes to Ektron CMS400.NET 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 first established.
-
No Ektron CMS400.NET files reside in the \sync folders. Instead, each folder has four .sync files that monitor changes to the Ektron CMS400.NET files in the corresponding folder.