Acrolinx for Adobe Experience Manager Admin Guide

How Acrolinx Interacts with Your Web Application

The following diagram illustrates how Acrolinx fits into the architecture of your web application. The web application communicates exclusively with your web server proxy. Your web server then passes checking requests on to the Acrolinx server. Acrolinx uses single sign-on to authenticate users with your web application.

General Configurations

Set Up Single Sign-on (SSO)

Before you can use Acrolinx for AEM, you'll need to set up SSO for Acrolinx. To do this, follow the process in the article Setting Up Acrolinx for Single Sign-on.

Connect to Acrolinx

Before you can check your content, you'll need to configure AEM to route internal checking requests to Acrolinx.

To enable AEM to connect to Acrolinx, follow these steps:

  1. In AEM, open the Adobe Experience Manager Web Console by navigating to Tools > Operations > Web Console.
  2. Click the row Acrolinx Server Connection Settings and in the dialog box that appears, make the following changes:
    • In the Acrolinx Server URL field, enter your Acrolinx URL.
    • In the Generic Password field, enter the password that you configured in the core server properties file when setting up Acrolinx for single sign-on.

  3. (Optional) If you want to forward cookies to your Acrolinx Core Platform, select the option Forward Cookies to Acrolinx.

    This setting is optional. In some environments, single sign-on only works when you forward cookies to your Acrolinx Core Platform. If your users have difficulty authenticating, try selecting this option.

  4. (Optional) Forward Acrolinx requests via a custom HTTP proxy. Select Turn on HTTP Proxy
    • In the HTTP Proxy URL field, enter your custom HTTP proxy URL.
  5. Click Save.

You can now run checks in AEM with Acrolinx!

Optional: Set the Guidance Profile in the Plugin Configuration Field

You can configure a default Guidance Profile that's set automatically. This is helpful in environments where writers typically work with the same type of content (for example creating posts for the company blog) and always require the same checking options.

If your Acrolinx Core Platform doesn't yet support Guidance Profiles, you can still assign default check settings.


To configure the default Guidance Profile, follow these steps:

  1. In AEM, go to Tools > CRXDE Lite to open CRXDE Lite.
  2. Locate and open the following file in your repository: apps/acrolinxsidebar/authoring/layer/sidebar/common/config.json
  3. Update the following code:

    {
             "defaultCheckSettings":  {
               "profileId": "guidance-profile-name"
             }
    }

    For example, "profileId": "en-Standard US".

  4. Save your changes.


Optional: Define Custom Components with the Acrolinx Configuration Assistant

The Acrolinx Configuration Assistant is a new tool to help you configure which AEM custom components you want Acrolinx to check. You no longer need to edit the custom components configuration file (CustomComponents.json) in CRXDE Lite. You can write, validate, and preview your configuration results all in one place.

To use the configuration assistant to define custom components, follow these steps:

  1. In AEM, select Acrolinx Configuration Assistant from the mode menu to open the Acrolinx Configuration Assistant.
  2. The configuration assistant opens on the Page Content view. The Page Content view shows you the content of your page in JSON. Use it to view and analyze the structure of your page.

    Click Open JSON in a new browser window if you'd like a larger viewing window.

  3. Open the Custom Components view. The Custom Components view shows you your custom components configuration. Type in your configuration and click Validate to check your JSON syntax. Refer to the table below for a description of the elements. See below for examples of custom components configurations.

    Remove your comments to validate your JSON. The JSON Validator uses Standard ECMA-404 JSON that doesn't support comments. And use double quotes for string values or keys.

    Click Open the custom components configuration in CRXDE Lite to open the CustomComponents.json file in CRXDE Lite.

    Add your configuration to the JSON:

    {
    "extraction": [
        {
            "select": {
                "sling:resourceType": "<RESOURCE_TYPE>"
            },
            "key": "<KEY>",
            "contentType": "<CONTENT_TYPE>",
            "context": "<CONTEXT_NAME>",
            "tag": "<TAG_NAME>",
            "name": "<DISPLAY_NAME>"
        }
    ]
    }
    ElementDescription
    selectThe component that should be extracted and checked.

    Corresponds to the sling:resourceType attribute. Another example includes jcr:primaryType.

    keyThe key corresponds to the attribute that you want to be checked.

    Use this element if you have an exact match of the component in the structure. Otherwise, use the propertySelector element to identify the component.

    propertySelectorThis element is helpful if you want to extract content from nested components. Use it instead of the key element.

    For example, suppose that your components are organized in list form, where each list item has a different numerical identifier (like item_1, item_2, etc.). With the parent selector, you can use Java regular expressions to select each component in your list.

    pathThe path element can be used instead of the key element. If a path element is used, Acrolinx extracts content from the corresponding path properties.
    contentTypeBy default, Acrolinx extracts all content as plain text. The contentType is necessary for all components that contain other content, for example HTML.

    If the component contains HTML content, the contentType is necessary to extract the text correctly, for example to display all HTML tags.

    tagOptional: This element is required for context-sensitive guidelines.

    If this property is specified, Acrolinx sends the text in a <TAG_NAME> element rather than a div element.

    nameThe user-friendly identifier for the component.
    parentSelectorOptional: This element is helpful if you want to exclude specific components from being extracted.

    For example, you can use this element to exclude properties in specific nodes, like all text properties in cq:annotations  nodes.

    Enter the node name with a leading exclamation mark ( ! ). The exclamation mark is interpreted as a negation.

  4. Open the Extraction Preview view. The extraction preview is where you can check the results of your configuration. Refresh the Extraction Preview if you make changes to your configuration.
  5. Apply your changes.
  6. Close the Acrolinx Configuration Assistant.
  7. Refresh your page.

Example:

With this configuration, Acrolinx checks content that is included in the text attribute of a header or the alt attribute of an image. The text content is correctly extracted as HTML and HTML tags aren’t displayed. All other content is ignored. In the Sidebar, the components are displayed with the names "The Header" and "The Image Alt Text" respectively.

Example
{
    "select": {
        "sling:resourceType": "help/components/header"
    },
    "key": "text",
    "contentType": "html",
    "context": "title",
    "tag": "title",
    "name": "The Header"
},
{
   "select": {
        "sling:resourceType": "help/components/image"
    },
    "key": "alt",
    "contentType": "text",
    "name": "The Image Alt Text"
}