Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Rich Text Links to Author Environment

Avatar

Level 2

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.

1 Accepted Solution

Avatar

Correct answer by
Level 2

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!

View solution in original post

20 Replies

Avatar

Level 10

How do you author the urls - relative or absolute?

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

Avatar

Level 2

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?

Avatar

Level 10

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?

Avatar

Level 2
  • 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.

Avatar

Level 10

this behavior shouldn't happen with this hyperlink feature.

Do you mean to say it just happens for one pdf only and not the other one?

Avatar

Level 2

No.  It happens on all pdfs.  It also doing the same thing across out dev, qa, and prod tiers.

Avatar

Level 7

Hi,

can you share:

- a package with the component that you are using

- the zip extraction of http://localhost:4502/system/console/status-Configurations

Just if it's possible; it seems an interesting behaviour.

Thanks,
Antonio

Avatar

Level 10

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.

Avatar

Level 2

The problem occurs when using the standard foundation text component at /libs/foundation/components/text.

Avatar

Level 10

I will try with the CORE TEXT COMPONENT.

Avatar

Level 10

Using the Core Text Component (you should use that as opposed to the Foundation Text Component) - you will see:

PDFLink.png

Avatar

Level 10

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.

Avatar

Level 2

It doesn't look like I'm able to upload the zip file.  Are there any particular portions that I can just copy and paste for you?

Avatar

Level 2

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

Avatar

Level 10

Can you please try your issue on a fresh AEM Server and see if you can reproduce.

Avatar

Level 2

This is a new server.  It also happens across all three tiers (dev, qa, and prod).

Avatar

Level 10

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.?

Avatar

Level 2

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

Avatar

Correct answer by
Level 2

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!