Connectors and Plugins

Adobe Experience Manager (AEM) Plugin

Available for

  • Enterprise edition

Get in touch with Sales for licensing questions.

Supported Versions

The Memsource Translation Plugin for Adobe Experience Manager follows the same product support periods as Adobe Experience Manager. See https://helpx.adobe.com/support/programs/eol-matrix.html for information on support periods.

Once an Adobe Experience Manager version reaches end of core support, Memsource no longer maintains the plugin. The installer will be available but no further improvements or fixes will be implemented.

  • Plugin version 1.x supports 6.3 (support ended on Apr 30th, 2020)

  • Plugin version 2.x supports 6.4 and 6.5.

  • Plugin version 3.x supports AEM as a Cloud Service.

Integration Release Notes

Configure In-Context Preview

The In-context Preview feature offers a real-time preview of original or translated text in both the Memsource Editor for Web and Memsource Editor for Desktop.

In order for Memsource to offer the real-time preview, it must have access to unpublished pages in an on-premise Adobe Experience Manager author node.

Memsource Requirements:

  • Pass through the enterprise firewall to access the on-premise Adobe Experience Manager installation

  • Authenticate into the Adobe Experience Manager authoring environment

Firewall Configuration for On-premise installation:

  • Installation must be accessible from the following IP addresses:

    34.243.87.13, 34.248.197.209, 108.129.22.31, 3.248.158.93

  • Domain name must be able to be resolved externally.

Memsource Settings

Pre-requisite: Create an Adobe Experience Manager user with minimum permissions required to view unpublished pages.

  1. From the Setup Setup_gear.png page, scroll down to the Integrations section.

  2. Click on Connectors.

    The Connectors page opens.

  3. Click New.

    The Create Connector page opens.

  4. Provide a name for the connection and change the Type to Adobe Experience Manager Live Preview .

  5. Enter the Host.

    Use the host address of the Adobe Experience Manager installation (e.g., https://aem-author.example.org/ or https://author-X-Y.adobeaemcloud.com/).

    The domain name must be resolvable externally (not an intranet domain).

  6. Enter the Username and Password.

    Tip

    Create a new user called memsource-preview and add the user to the Authors group.

  7. Click Save.

    The connector is added to the list on the Connectors page.

Note

Some HTML tags present a risk and the Memsource Editor removes them from this HTML when displaying the preview. This is to ensure user's data privacy and security.

Examples of removed tags include FORM, IFRAME, SCRIPT, SVG, VIDEO, EMBED, OBJECT or background-image CSS properties.

Configure Translation Workflow

Memsource provides a highly-configurable workflow engine allowing associations with Adobe Experience Manager jobs, specific net rates schemes, due dates schemes, price lists, workflows steps and more.

To configure Adobe Experience Manager job processing, follow these steps:

  1. Create a Project Template configured to your needs.

    Under Access and Security set the Allow loading external content in editors.

    Apply the following XML File Import Settings:

    content of the image was changed.
  2. Create a Service.

    • Select the same source and target languages as in Adobe Experience Manager.

    • Select the project template configured in the previous step.

  3. Create an Automation Widget.

    • Select the service created in the previous step.

    • Don't select the Adobe Experience Manager connector configuration in the Connectors combo.

    • Use the {order.title} macro in the title field to represent the Adobe Experience Manager project title and {order.email} to represent the email address of the Adobe Experience Manager submitter. If the email is not set, then the address associated with Memsource credentials that is applied in Adobe Experience Manager Cloud Services is used.

To validate the Memsource configuration, follow these steps:

  1. Open an incomplete Translation Project.

  2. Select Export from the Job tile menu.

  3. Find the XML file that contains the source text within the downloaded zip file.

  4. In Memsource, navigate to the Automation Widget used for the integration and open the listed URL.

  5. Complete the AW form, upload the XML file, validate the email and submit.

  6. Verify the new project was created from the Project template as configured.

Install the Plugin

On-premise AEM

  1. If migrating from 6.2 or 6.3 to 6.4 and above, remove all Legacy Cloud Services configurations from the Classic UI Admin tool (/miscadmin#/etc/cloudservices/memsource-translation)

    All configurations disappear from Legacy Cloud Services > Memsource Translation Plugin for AEM.

  2. In Tools, Deployment, go to Packages.

  3. Uninstall previous version of the plugin, if applicable.

  4. Select Upload package and upload the installation file.

  5. Check Force Upload and submit.

AEM as a Cloud Service

If plugin is already installed, jump to Step 4.

  1. Add local filesystem based maven repository to the AEM cloud service project root pom.xml:

    <repositories>
    ...
      <repository>
        <id>project.local</id>
        <name>project</name>
        <url>file:${maven.multiModuleProjectDirectory}/repository</url>
      </repository>
    ...
    </repositories>
  2. Add Memsource Plugin dependency to all/pom.xml:

    <dependency>
      <groupId>com.memsource</groupId>
      <artifactId>aem-memsource-plugin.all</artifactId>
      <version>X.X.X</version>
      <type>zip</type>
    </dependency>
  3. Add embedded block to all/pom.xml -> filevault-package-maven-plugin configuration:

    ...
    <plugin>
      <groupId>org.apache.jackrabbit</groupId>
      <artifactId>filevault-package-maven-plugin</artifactId>
      <extensions>true</extensions>
      <configuration>
      <group>my_packages</group>
      <embeddeds>
       <embedded>
         <groupId>com.memsource</groupId>
         <artifactId>aem-memsource-plugin.all</artifactId>
         <type>zip</type>
         <target>/apps/aem-memsource-plugin-packages/application/install</target>
       </embedded>
    ...
  4. Add the plugin to the local maven repository. Run the following command from AEM cloud service project root replacing {memsource.plugin.path} placeholder with the path to the plugin (e.g. /tmp/aem-memsource-plugin.all-3.0.1.zip):

    mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile={memsource.plugin.path} -DlocalRepositoryPath=./repository/ -Dpackaging=zip
    
  5. Set the correct plugin version in all/pom.xml (e.g. 3.0.1):

    <dependency>
      <groupId>com.memsource</groupId>
      <artifactId>aem-memsource-plugin.all</artifactId>
      <version>3.0.1</version>
      <type>zip</type>
    </dependency>
    

Configure Adobe Experience Manager

Two configurations are required:

  • Tell the system that Memsource exists by adding it as a Translation Service Provider specifying how to connect to the TMS.

  • Tell Adobe Experience Manager when and how Memsource is to be used by configuring Translation Integration Configuration. For example: use Memsource for high-visibility content, but a machine translation vendor for community content.

Add Memsource as a Translation Service Provider

Follow these steps:

Set up Translation Integration

When using the Memsource Translation Plugin for AEM, all files in the translation jobs are submitted for translation and thus returned from Memsource. Use the project Translation Integration configuration to prevent non-translatable assets or reference materials from being included in the projects.

  1. Create a new configuration specifically for translation in Memsource.

    • Ensure Translate Component Strings and Translate Tags are unchecked.

    • Set Translate page assets to Do not translate.

    • On the Assets Tab, set the Translation Workflow to Do not translate.

  2. If a project still contains non-translatable assets or reference materials, mark and delete them directly in Memsource.

Apply Translation Integration to Sites

Configure default Memsource Translation Provider with different parts of the site taxonomy. Configure the provider at the root node of the site. All descendant pages will inherit the setting. Override the setting at the node that should use different provider configuration (e.g. entire site uses human translation but the community section uses machine translation).

To apply translation integration, follow these steps:

When adding content from these pages, only translatable content will be added. If a project is created from the References Panel, it will be automatically set up to use the cloud configuration associated with the root page.

Memsource Home URL: The default URL is https://cloud.memsource.com/web/ but can be different if you or the LSP is using a Custom URL.

Submit Content for Translation

To submit content for translation, create a translation project in Adobe Experience Manager. Projects can be created manually in the Projects section or use built-in workflows to minimize the effort.

To prepare a project for submission to Memsource through the built-in workflows, follow these steps:

  1. From the Sites view, navigate to the page, select it, and open the References Panel.

  2. Click Language Copies and expand the Create & Translate section at the bottom of the rail.

  3. Select target languages, optionally uncheck the Select all sub-pages.

  4. Select the appropriate option from the Project dropdown:

  5. Enter project title and click Create.

  6. Navigate to the project in the Projects section and open it.

  7. Click the ellipsis on the first tile to open the Advanced project settings.

    If configured properly, configurations created in the steps above are referenced.

  8. To submit a job to Memsource, select Start from the job tile menu.

    A new project will be created in Memsource within a few minutes.

    Tip

    Adobe Experience Manager polls for a job status update on a schedule that is configured in Translation Platform Configuration accessed via Web Console.

    Setting the Scheduler Cron property to run frequently (e.g. 0 0/5 * * * ? * triggers a translation job status refresh every 5 minutes).

    Refreshing the project detail page forces a pull.

  9. In Memsource, translate the product jobs and set their status to Completed.

  10. If not set automatically in Memsource project automation settings, set the project status to Completed.

  11. If the Autocomplete Jobs in the Memsource configuration is turned on, the Translation Job status will change to Ready for Review within minutes. The status then changes to Completed.

  12. If rejected, the job is submitted back to Memsource with comments. The job status in Memsource changes to Rejected and the comments appear in the rejected job email. Format of the CMS Job Rejected email can be customized in Email Templates settings.

    Note

    Rejecting a job updates the status to Reject for all workflow tasks.

  13. Once all files in the job are accepted, the status changes to Completed.

For more details on creating translation projects using the References Panel, see Adobe documentation.

Custom Language Mapping

On-premise AEM

To map Adobe Experience Manager languages to different languages in Memsource (e.g. zh to zh_tw), follow these steps.

The mapping applies to both source and target languages.

  1. Open CRXDE (/crx/de/index.jsp).

  2. Browse to the /apps/memsource-connector/language-mapping/ folder.

  3. Create a new node.

  4. Use Adobe Experience Manager language code as the Name (e.g. zh), keep Type: nt:unstructured.

  5. Add property:

    • Name: memsourceLanguage

    • Type: String

    • Value: Memsource language code (e.g. zh_tw)

  6. Click Save All.

Un-mapped language codes are sent to Memsource as they are.

AEM as a Cloud Service

To add language mapping in AEM Cloud Services, follow these steps:

  1. Create a .content.xml file in the /conf/aem-memsource-plugin/language-mapping/ folder.

  2. Open the created file and copy the following into it:

    <?xml version="1.0" encoding="UTF-8"?>
    <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
        jcr:primaryType="sling:Folder"/>
  3. Create a .content.xml file in the /conf/aem-memsource-plugin/language-mapping/ folder.

  4. Open the created file and copy the following into it:

    <?xml version="1.0" encoding="UTF-8"?>
    <jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0"
              jcr:primaryType="nt:unstructured"
              memsourceLanguage="zh_cn">
    </jcr:root><?xml version="1.0" encoding="UTF-8"?>
  5. Add the paths created in previous steps to the filter.xml file found at ui.content/src/main/content/META-INF/vault/filter.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <workspaceFilter version="1.0">
    ...
        <filter root="/conf/aem-memsource-plugin" mode="update"/>
        <filter root="/conf/aem-memsource-plugin/language-mapping" mode="update"/>
    </workspaceFilter>

Memsource Project IDs

Memsource Project IDs in AEM Version 6.4 and above

Once a translation job is submitted, Memsource project ID and UID are stored in the /content/projects/&lt;project-name&gt;/jcr:content/dashboard/gadgets/traslationjob as PROPERTY_MEMSOURCE_PROJECT_ID and PROPERTY_MEMSOURCE_PROJECT_UID properties.

Use the IDs for display in the AEM environment or in Memsource APIs to extend plugin functionality.

Was this article helpful?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question you can leave a public comment below or Submit a request to our Support team.
Thank you for your feedback.

Comments

0 comments

Article is closed for comments.