Episerver is now known as Optimizely. For the consistency, the documentation and Smartling interface refers to this software as Episerver.
This article will guide you through installing and configuring Episerver 11 (.NET Framework 4.x.x).
If you are working with Episerver 12 (.NET Core 5), read this documentation.
Please note that this Connector is a paid product. For pricing information, please reach out to your Smartling Customer Success Manager.
Prerequisites
- Create an ASP.NET site project for building your site and running on your Episerver instance
- ASP.NET site project is managed by your developer. The project is a set of code repositories and resources that can be compiled, combined and deployed to an Episerver instance.
- Your Episerver instance, or site, should have Internet access, with no firewalls in place.
- Smartling Episerver plugin requires the following dependencies:
-
Episerver.CMS.AspNet [11.6.0, 12.0.0)
-
Episerver.CMS.Core [11.6.0, 12.0.0)
-
Episerver.CMS.UI.Core [11.4.5, 12.0.0)
-
Episerver.Commerce.Core [12.3.0, 14.0.0)
-
Episerver.ContentDeliveryApi.OAuth [2.6.0, 3.0.0)
-
Newtonsoft.Json [11.0.2, 13.0.0)
-
Smartling.Api [2.4.37, 3.0.0)
-
log4net [2.0.8, 3.0.0)
-
STEP ONE: Initialize Smartling API in Startup.cs.
- Site should have enabled EPiServer.ContentDeliveryApi.OAuth. Smartling relies on Episerver OAuth for authentication and authorization. Smartling integration does POST request to URL like: https://your.episerver.domain/api/episerver/auth/token
- Find more information on how ContentDeliveryAPI OAuth should be configured in Startup.cs from Episerver documentation
- Create a new user that will be used by Smartling integration
- Go to User Edit page and add role WebEditor
- Go to User Edit page and add role WebEditor
STEP TWO: Install the package
- Consult your Solutions Architect or Customer Success Manager to obtain the Smartling Nuget download link
- Ensure you download the most up-to-date package for the Episerver 11 Connector
- Download a locally Smartling Nuget package by the provided link
- Create a local folder that will be a source for the Smartling Nuget package
- Put the downloaded Smartling Nuget package into the folder
- Add the folder as a source for the Smartling Nuget packages in your IDE (including Visual Studio)
- Install the package to ASP.NET site project
- Configure database logging for
Smartling.Translation
namespace into a separate file- For support purposes, Smartling strongly recommended having Smartling database logs separate from other .NET Core 5 logs.
- Build website solution, i.e. build ASP.NET site project
- Ensure that there is a
Smartling.Translation.Core.dll
assembly in the bin folder after site deployment- This package should have bin folder where all the compiled and dependent code is resided.
- Check package works with an HTTP request
-
- Login into your Episerver instance
- Open the following URL in a browser:
https://<epi-server-host>:<port>/episerver/smartling.translation/dictionary/content-types
- You should see the JSON response with a collection of pages/blocks/catalogs types
-
- When the installation is complete, simply provide your Smartling Solutions Architect with the following information so Smartling can complete the configuration of the Smartling Episerver Connector.
- EpiServer URL (<schema>://<epi-server-host>:<port>/<protectedVirtualPath>).
- You can copy it from browser address bar when you open “CMS Edit”. It looks like this https://epidemo.site/episerver
- User login and password that you created above
- EpiServer URL (<schema>://<epi-server-host>:<port>/<protectedVirtualPath>).
If you get an error flag, contact Technical Support or your Solution Architect, with the logs.
IP Whitelisting
In case you would like to limit access to Smartling API or provide access to your dev\sandbox environment you can whitelist the following IPs:
- 52.200.226.107
- 52.200.205.55
- 52.86.212.212
- 52.87.14.187
- 54.243.240.47
Smartling integration will access to the following endpoints:
<schema>://<epi-server-host>:<port>/api/episerver/connect/token
<schema>://<epi-server-host>:<port>/<protectedVirtualPath>/smartling.translation/*
Connecting Episerver to Smartling
- Create an Episerver Connector project type in your Smartling Account.
- From within this project, click Settings > Episerver Settings
- Click Connect to Episerver.
- Choose to connect by a user login (username and password)
- The following are some URL settings that the connector uses for Authentication:
-
apiUrl
(mandatory): This URL is used to get access to EPiServer in general. Usually, it is just a host, e.g. http://172.30.21.102/`authApiUrl
(optional): This setting is a path to Auth endpoint. It should be a path without a host. Default value is/api/episerver/auth/token
. The connector concatenatesapiUrl
withauthApiUrl
to get the full endpoint for AuthenticationapiVirtualPath
(optional): EPiServer uses/episerver
virtual path by default. So, the hosted connector may use something like http://172.30.21.102/episerver/smartling.translation/pages/13` for getting content. If you want to change this setting, you should give Smartling a new value, eg/api
thus connector will build a content URL with another segment, e.g. `http://172.30.21.102/api/smartling.translation/pages/13`.basePreviewUrl
(optional): The preview is taken by the connector, and it makes HTTP request to take preview HTML. The URL of your Epi instance is unknown for the connector - theapiUrl
is used by default. The Epi site can be configured in EPiServer with a public site URL. It does work for simple site infrastructure, but your site may have separated Author and Publish EPiServer instances. The connector needs the Author instance of the EPiServer, not Publish.sslVerificationMode
(optional): In case of a site has separated Author and Publish EPiServer instances, Author instance may have an invalid SSL certificate. Access to the Author instance can be restricted via IP-whitelist. In this case,sslVerificationMode
can be set toDISABLED
- hosted connector will not check SSL certificate of the EPiServer.
-
- Click Connect to Episerver to save your subdomain, or cancel to exit the menu.
- Click Allow to authorize the Smartling Episerver Connector.
Your Episerver instance will now be connected to your Smartling project. Now you're ready to configure your Episerver Connector.