6

I installed DXA as a Staging Site on SDL Web 8. But the Experience Manager button (normaly displayed on top left of Staging site) doesn't appear.

The cause is that the URL of the Content Manager is wrong.

<script src="http://[CMEURL]/WebUI/Editors/SiteEdit/Views/Bootstrap/Bootstrap.aspx?mode=js" id="tridion.siteedit">

On my environment, [CMEURL] is CME server's host name, but it's not accessible. I have to modify the URL to an accessible URL from outside of the CME server, but I cannot find how to that.

I added "cmsurl" and accessible URL to Environment Configuration and published Publish Settings Page.

I also modified the Topology Manager's TTMCmEnvironment WebsiteRootUrl, but the URL of the XPM button script wasn't modified.

How can I modify the URL of the XPM button script?

2
  • Normally, you'd configure this in the "Enable inline editing for Page" TBB but I'm not sure if that is used in DXA. But just so you know: the button is now a blue pencil (edit) icon in the top-right corner. Commented Jul 12, 2016 at 8:32
  • @PeterKjaer isn't the TBB updated to use the data from TTM, how bad ;) But indeed that is not used for DXA, it does read it from TTM, or grabs it from a configuration Component when legacy Publishing is used. Commented Jul 12, 2016 at 8:45

3 Answers 3

8

For starters on Web 8, the XPM button is on the top right, and the CME URL in your pages is coming from a configuration file, which is generated when you publish the Publish Settings Page in the _System Structure Group.

When you are using Web 8 Topology Manager (the default setup), this URL will be read from what is in your Topology Manager under Content Manager Environment configuration. If that is incorrect, you should change it. After it has changed, you need to republish the Publish Settings Page in the _System Structure Group, and then call the /admin/refresh URL on your DXA site, to clear the cache of the web app configuration.

If you use 2013 SP1 or legacy Publishing on Web 8, DXA gets its XPM CMS URL from the Environment Configuration Component in 100 Master\Building Blocks\Settings\Core\Admin. It can never harm to make sure that URL is also correct, and again, after updating it, republish the Publish Settings Page in the _System Structure Group, and then call the /admin/refresh URL on your DXA site.

6

If you changed the CmEnvironment's WebsiteRootUrl in Topology Manager, you have to restart your Publisher Service(s) before publishing the Publish Settings Page; the URL currently gets cached quite agressively.

On SDL Web 8 you should not put a cmsUrl in the Environment Configuration Component, because it will only confuse you; it gets ignored and overwritten by the WebsiteRootUrl from Topology Manager. See https://github.com/sdl/dxa-content-management/blob/master/Sdl.Web.Tridion.Templates/Templates/PublishConfiguration.cs

1
  • Note that the aggressive caching was removed in DXA 1.6; restarting the Publisher Service should not be needed anymore for this scenario. Commented Oct 9, 2017 at 15:22
1

Thanks for the clues Herokazu, Bart and Rick

PowerShell Fix:

# Update Topology Manager CM Environment Website Root

$ttmcmenvironment =  Get-TtmCmEnvironment -id Tridioncm_local
$ttmcmenvironment.WebsiteRootUrl = "http://capaxdevtest.uksouth.cloudapp.azure.com"
$ttmcmenvironment | Set-TtmCmEnvironment 


# Restart the publisher services

Stop-Service -Name TcmPublisher
Stop-Service -Name TCDTransportService
Start-Service -Name TcmPublisher
Start-Service -Name TCDTransportService

# publish the publish settings page
# replace this manual Step with PowerShell when I get time

# admin/refresh
$weburl = "http://capaxdev2017.azurewebsites.net/admin/refresh"
$response = Invoke-WebRequest -Uri $weburl
$response.StatusCode

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.