Rich Text Links to Author Environment

robertt3523754

22-02-2019

We recently upgraded from AEM 6.0 to AEM 6.3.  We've run into a situation with links in rich text boxes.  Whenever we create a link to an asset (such as a PDF), and publish the page, the published site links to the asset on the author server.  I checked the jcr node and the link that is populated in the text property contains the full path rather than the relative path.  I'm sure that there's a configuration setting that I'm missing somewhere, but I can't find any documentation on what that is.  Any help is appreciated.

Accepted Solutions (1)

Accepted Solutions (1)

robertt3523754

28-02-2019

We have solved the issue!!!  Apparently we did not have all the latest patches installed.  Our system administrator just installed the latest service pack (6.3.3 I believe) and the problem is now resolved.  Thank you all for your help and advice!

Answers (19)

Answers (19)

robertt3523754

28-02-2019

It looks like the Day CQ Link Externalizer is just the default settings.  I checked our old server (AEM 6.0) where the links worked and it appears that nothing was setup before there either.

1701387_pastedImage_0.png

There are no config or config.author nodes under the projects themselves.  Here are the config nodes under system/config.

1701388_pastedImage_1.png

Gaurav-Behl

MVP

27-02-2019

SSL cert would not cause this issue. I've tested on a 6.4 author with SSL and I couldn't reproduce this behavior.

Could you share the screenshot of Day CQ Link Externalizer from /system/console/configMgr?

In addition to that, could you share the screenshots/configuration files under your project's code path -  /apps/<project_root>/config  and /apps/<project_root>/config.author etc.?

robertt3523754

27-02-2019

It looks like the Apache Felix settings are just the default settings.  I'm beginning to wonder if the ssl cert was maybe setup and configured wrong.  Could that cause the issue that we're having?

PID = org.apache.felix.http

  BundleLocation = launchpad:resources/install/5/org.apache.felix.http.jetty-3.4.0-B002.jar

  org.apache.felix.http.context_path = /

  org.apache.felix.http.enable = true

  org.apache.felix.http.host = 0.0.0.0

  org.apache.felix.http.jetty.acceptors = -1

  org.apache.felix.http.jetty.headerBufferSize = 16384

  org.apache.felix.http.jetty.maxFormSize = 204800

  org.apache.felix.http.jetty.requestBufferSize = 8192

  org.apache.felix.http.jetty.responseBufferSize = 24576

  org.apache.felix.http.jetty.selectors = -1

  org.apache.felix.http.jetty.sendServerHeader = false

  org.apache.felix.http.jetty.threadpool.max = -1

  org.apache.felix.http.mbeans = false

  org.apache.felix.http.name =

  org.apache.felix.http.path_exclusions = [/system]

  org.apache.felix.http.session.timeout = 0

  org.apache.felix.http.timeout = 60000

  org.apache.felix.https.clientcertificate = none

  org.apache.felix.https.enable = false

  org.apache.felix.https.jetty.ciphersuites.excluded = []

  org.apache.felix.https.jetty.ciphersuites.included = []

  org.apache.felix.https.jetty.protocols.excluded = []

  org.apache.felix.https.jetty.protocols.included = []

  org.apache.felix.https.jetty.renegotiateAllowed = false

  org.apache.felix.https.jetty.session.cookie.httpOnly = true

  org.apache.felix.https.jetty.session.cookie.secure = false

  org.apache.felix.https.keystore =

  org.apache.felix.https.truststore =

  org.apache.felix.proxy.load.balancer.connection.enable = false

  org.eclipse.jetty.servlet.CheckingRemoteSessionIdEncoding = true

  org.eclipse.jetty.servlet.MaxAge = -1

  org.eclipse.jetty.servlet.SessionCookie = JSESSIONID

  org.eclipse.jetty.servlet.SessionDomain =

  org.eclipse.jetty.servlet.SessionIdPathParameterName = jsessionid

  org.eclipse.jetty.servlet.SessionPath =

  org.osgi.service.http.port = 4502

  org.osgi.service.http.port.secure = 433

  service.pid = org.apache.felix.http

Gaurav-Behl

MVP

22-02-2019

I tried with '/libs/foundation/components/text' and '/apps/core/wcm/components/text/v2/text' and couldn't reproduce it.

Check for the project customization as mentioned above.

the screenshot that you've shared above mentions SSL enabled hostname which is probably configured in 'Apache Felix Jetty Based Http service" and that could potentially be responsible for re-writing these links along with some other configuration.

Gaurav-Behl

MVP

22-02-2019

Its probably some kind of customization (Link Checker/Path Rewriter Transformers/Externalizer) that is responsible for the behavior. You would definitely find clues in the source code.

robertt3523754

22-02-2019

  • I add a rich text component to the page (on author), highlight some text and use the link icon and navigate to a pdf in assets.
  • 1697069_pastedImage_2.png
  • The path that show in the box, is a relative path (/content/dam/...) which looks correct.  However, when you check the jcr node, the full path was populated (which is the path to our author server).
  • 1697070_pastedImage_3.png
  • Therefore, when you publish the page, the full path is published and the link is wrong.

I did just find out though that it seems if you go back in a second time into the same component and link to another pdf, the second link is correct.

Gaurav-Behl

MVP

22-02-2019

Per my knowledge, OOB rich text won't convert the relative links to absolute on its own. Either the content author provided the absolute links or there is a site level configuration in-place to achieve that.

Could you check the /content/<root_page>/jcr:content for any such configurations? In addition to that, could you share screenshots/gif/video of what you configure and what you expect it to be in author & publish server after authoring and activation?

robertt3523754

22-02-2019

The problem that we're having is that we want the links to be relative, but the rich text component is making those links absolute.  As for the Web Console configurations, our sys admin normally handles that.  Could if be something she forgot to configure?

Gaurav-Behl

MVP

22-02-2019

How do you author the urls - relative or absolute?

Are you talking about 'Day CQ Link Externalizer' configuration under /system/console/configMgr ?