Elvis 6 can be tightly integrated with Enterprise Server 10 to use Elvis as a storage location for files that are used in the Enterprise workflow.
Note: For information about how this integration works, see Integrating Elvis 6 in Enterprise Server 10.
This article describes the installation and configuration steps for integrating Elvis 6 in Enterprise Server 10.5 and higher.
Notes:
|
Compatibility
For information about the compatibility between Elvis 6 and Enterprise, see the Compatibility Matrix.
Integration
The integration process consists of the following steps:
- Installation
- Setting up a trusted connection between Enterprise Server to Elvis Server
- Setting up the default user
- Setting up data synchronization from Elvis to Enterprise
- Defining how files are stored in Elvis and Enterprise
- Granting Elvis Pro users access to the 'Used In' panel
- Activating the Elvis plug-in in Enterprise Server
- Configuring Enterprise Server
- Testing the integration
1. Installation
The integration is done through plug-ins.
Enterprise Server
Connecting Elvis with Enterprise Server is done through the Elvis Content Source plug-in for Enterprise Server.
In Enterprise Server 10.5 and higher this plug-in is shipped as part of Enterprise Server. No installation steps are therefore required for Enterprise Server.
InDesign plug-ins
For InDesign, install the following plug-ins:
- The Elvis InDesign plug-ins for connecting InDesign with Elvis
- The Smart Connection plug-ins for connecting InDesign with Enterprise
2. Setting up a trusted connection between Enterprise Server to Elvis Server
Step 1. In Elvis, access the Management Console.

Do one of the following:
- Access the following URL and log in using system administrator credentials (a 'Super user' account):
<Elvis Server URL>/console
- Access the Elvis Pro client by accessing the following URL, log in using system administrator credentials, and choose Management Console from the Avatar menu.
<Elvis Server URL>/app
Step 2. In the menu on the left, choose Enterprise Servers.
Step 3. Add the Enterprise Server instance to connect to.
Note: (For Elvis 6.24 or higher) After entering the URL, Elvis tries to connect to Enterprise Server. To prevent CORS related issues it may be required to add the Elvis domain as an origin to the CROSS_ORIGIN_HEADERS setting in the configserver.php file of Enterprise Server.
When saving the settings for the server, a client ID and client secret is automatically generated and displayed.
Keep the page open, the client ID and secret are needed in the next steps.
Note: The client secret is only shown once, straight after adding the Enterprise Server instance. When next viewing the settings for that server, the client secret is hidden and needs to be regenerated. When the previously generated client secret was already used in the configuration file (see below), this needs to be udpated.
Step 4. Open the configuration file of the Elvis plug-in in Enterprise in a text editor:
Tip: Easily manage and configure settings of all configuration files by adding them to a single configuration file.
<Enterprise Server folder>/config/config_elvis.php
Step 5. Configure the following options:
Tip: Copy the ELVIS_CLIENT_ID and ELVIS_CLIENT_SECRET from the Enterprise Servers page in the Management Console (see above). Simply click the value once to copy it to the clipboard.
- ELVIS_URL
- ELVIS_CLIENT_ID
- ELVIS_CLIENT_SECRET
Step 6. Save the file.
3. Setting up the default user
When an Enterprise user makes a change to an asset (such as updating its metadata, opening it in an external editor, or deleting it), the user who made these changes needs to be communicated to the Elvis users.
When the acting Enterprise user is known to Elvis, the name of that user will be used as the actor who applied the changes to the Elvis assets.
When the user is unknown to Elvis, a default user is taken instead. This default user must be defined.
Step 1. Open the configuration file of the Elvis plug-in in Enterprise in a text editor:
<Enterprise Server folder>/config/config_elvis.php
Tip: Easily manage and configure settings of all configuration files by adding them to a single configuration file.
Step 2. Configure the option ELVIS_DEFAULT_USER.
Example: define( 'ELVIS_DEFAULT_USER', 'admin' );
Step 3. Save the file.
4. Setting up data synchronization from Elvis to Enterprise
Whenever an asset is updated in Elvis (such as updating its metadata, opening it in an external editor, or deleting it), Enterprise users need to be made aware of this.
This communication is provided through a script named sync.php that runs on Enterprise Server using cURL. It is a long-polling PHP script which periodically checks the Elvis Server for asset updates.
Once an asset update is received it is applied directly to the corresponding Enterprise shadow object.
Note: This script can be run simultaneously on multiple application servers. This is because the script is semaphore protected: only one sync.php file is executed to perform the synchronization even when many are installed and called.
Setting up cURL
The script is executed on Enterprise Server by using cURL.
Installation is done as follows:
- For MacOS and Linux: cURL is pre-installed on these systems, no installation steps are necessary.
- For Windows: download it from the cURL download site and install it.
Setting up the schedule for the script to run
The script runs for a maximum amount of time and needs to be scheduled to always run.
The following parameters are used:
- maxexectime. The maximum amount of time that the script runs in seconds. The value should be between 60 and 600 seconds (1 and 10 minutes) and should match the schedule interval. Default value is 600.
- maxtimeoutperrun. The maximum timeout in seconds for each update call to the Elvis Server. It should not be higher than the 'maxexectime' value. Default value is 15 (it should be between 5 and 20).
The scheduling can be done by using Cron (Linux / MacOS) or the Task Scheduler (Windows).
Example configurationConsider an example configuration with the following settings:
![]() Step 1. Open the cron jobs via the Terminal ( crontab -e ) or use an editor such as CronniX. Step 2. Add the job: */5 * * * * curl "http://localhost/enterprise/server/plugins/Elvis/sync.php?maxexectime=300&maxtimeoutperrun=20" Step 3. Save the settings. The job is now active. ![]() Step 1. Open the Task Scheduler. Step 2. Create a new Task. Step 3. Type a descriptive name, such as "Elvis sync job". Step 4. In the 'Triggers' tab create a new Trigger with the following settings (found under 'Advanced settings'):
Step 5. Click OK to close the New Trigger window. Step 6. In the 'Actions' tab, create a new Action with the following settings:
Step 7. Click OK for all open windows. The Task is now active. |
Setting up an admin user
An admin user is required for the data synchronization between Elvis and Enterprise. During production, this is done by Crontab or Scheduler which continuously runs the sync.php module. For each run, this module logs in to Enterprise using the configured admin user.
Note: In this process, the default user (ELVIS_DEFAULT_USER) is used to retrieve data from Elvis, while the admin user (ELVIS_ENT_ADMIN_USER) is used to update data in Enterprise.
Step 1. Open the configuration file of the Elvis plug-in in Enterprise in a text editor:
<Enterprise Server folder>/config/config_elvis.php
Tip: Easily manage and configure settings of all configuration files by adding them to a single configuration file.
Step 2. Define the options ELVIS_ENT_ADMIN_USER and ELVIS_ENT_ADMIN_PASS.
Example: define( 'ELVIS_ENT_ADMIN_USER', 'woodwing' ); define( 'ELVIS_ENT_ADMIN_PASS', 'ww' ); |
Step 3. Save the file.
5. Defining how files are stored in Elvis and Enterprise
Files that are added from Enterprise to Elvis or to Elvis from Enterprise can be stored in various ways, as shown in the following diagram:
- A copy of the original file in Elvis is added to Enterprise. It is not linked to the file in Elvis.
- A shadow object of the original file in Elvis is added to Enterprise. It is linked to the file in Elvis.
- A copy is made of the original file in Elvis and stored in the Production Zone. A Production shadow object is added to Enterprise. It is linked to the file in the Production Zone.
- An image added to Enterprise is stored in the Production Zone in Elvis. A Production shadow object is added to Enterprise. It is linked to the image in the Production Zone.
How to configure this aspect of the integration depends on which methods you want to use.
For a detailed explanation, see Controlling how files are stored in the Elvis 6 - Enterprise 10 integration.
6. Granting Elvis Pro users access to the 'Used In' panel
The Used In panel in Elvis Pro shows where in Enterprise an asset is used, for example on which layouts it is placed.
To see and use the panel, users need to be granted access. Do this by enabling the Permission named 'Used In' for a user or user group.
For more information, see Controlling user access to folders and assets in Elvis 6.
7. Activating the Elvis plug-in in Enterprise Server
The installed Elvis Content Source plug-in needs to be activated in Enterprise Server.

In Enterprise Server, click Server Plug-ins in the Maintenance menu or on the Home page.
The plug-is listed with the name 'Elvis'. It is deactivated by default.
Click its icon to activate it. The icon should change from red to green.
Figure: The Elvis plug-in activated on the Server Plug-ins page.
8. Configuring Enterprise Server
In Elvis 6.43, the creatorName field was changed to a multi-value field.
In Enterprise Server 10.9 the field mapping to the Author property was adjusted accordingly in the config_elvis.php file.
$cfgFieldHandlers['Author'] = new Elvis_FieldHandlers_ReadWrite( "creatorName", false, "text", "Author" );
Depending on the version of Elvis Server and/or Enterprise Server used, the true or false value of the Author property may need to be adjusted.
Version | Action |
---|---|
Elvis Server 6.42 or lower in combination with Enterprise Server 10.9 or higher | Change true to false. |
Elvis Server 6.43 or higher in combination with Enterprise Server 10.8 or lower | Change false to true. |
Elvis Server 6.42 or lower in combination with Enterprise Server 10.8 or lower | No change needed. |
Elvis Server 6.43 or higher in combination with Enterprise Server 10.9 or higher | No change needed. |
Overruling the default settings for the Author property should be done in the config_overrule.php file.
Steps: If changes are needed, see 'Standard metadata fields' in Configuring the mapping of metadata fields between Enterprise 10 and Elvis 6 for configuring the 'creatorName' mapping in your config_overrule.php file with the help of the Elvis_Config_GetAdditionalFieldHandlers function.
9. Testing the integration
Step 1. In Enterprise Server, access the Health Check page.

Step 1a. In Enterprise Server, click Advanced in the Maintenance menu or on the Home page. A page with all advanced Maintenance features appears.
Step 1b. Click Health Check. The Health Check page appears.
Step 2. At the bottom of the page, click Clear All.
Step 3. Only select the Elvis Content Source test.
Step 4. Click Test.
The test is executed and the result is displayed next to the test. It should display “OK”.
Note: If the test fails, an error is displayed together with instructions for solving it. Follow the instructions and then run the test once more.
Step 5. Test the integration by for example dragging some files from Elvis into InDesign onto a layout that is stored in Enterprise.
Comment
Do you have corrections or additional information about this article? Leave a comment! Do you have a question about what is described in this article? Please contact Support.
0 comments
Please sign in to leave a comment.