Manage Content Button not working if not using Experience Manager?

Hi there,

We are using:

  • PaaS
  • Content (not the Experience Manager)
  • Angular SDK

I’m trying to use the Manage Content Button as described on @bloomreach/ng-sdk - npm
It doesn’t say it can work for Experience Manager only.

But I can’t get it to work. I want a button to show so that the editors can edit the current visible document in the preview.
Is there a way to achieve this or is the Manage Content Button only to be used when one is using the Experience Manager?

Thx.

Timo Pot

Is it possible to

Hi @TimoPot,

the manage content button can indeed only be used in the experience manager.

Then I’d like to maken an feature request to enable it also for when using the content editor only.

Hi Timo,

You’re saying that you use the content editor only and not the Experience Manager (a.k.a. preview), so I’m wondering what the ask is. The Manage Content Button is rendering special markup in your site implementation which is then picked up by the preview, so it lives only there.

Are you maybe asking for a button in the content perspective to open the Experience Manager with the right side panel open on that document?

Regards, Jeroen

Yes we’re using the content editor only and not the Exp. manager.

And when using the content editor we still can open the preview.
In the preview can navigate to other pages. So what I’m asking for is a button
that opens the content editor for the url that is currently visible in the preview.

My coworkers who edit the site would benefit greatly it that was possible.
Now they have to lookup the page they want to edit.

You should be able to create a link when you are in preview mode ( Detect Preview or Channel Manager Request Context - Bloomreach Experience Manager (PaaS/Self-Hosted) - The Fast and Flexible Headless CMS )
and set target attribute to _top…

We used to have a tag for this in previous versions, before visual editing was intrduced:

But we don’t use templating.
We have a headless cms setup.
Cms: only the content editor which has a preview button so we can show our FE in the preview.
FE: Angular

A link is a link, no? How/where you render it is not really relevant…

True. But can we detect in our headless front-end that we are in preview mode?

I’ve already figured out how to see that you’re in preview mode.

I added a link to my page. Clicking it will activate the link to the same page in the content-editor.
I use target=“_parent” in the a tag. Thus I want to open the page in the active tab so that I remain in current browser tab with the cms. That is the most logic thing to do.

Unfortenately it does not work. The preview is an iframe in which our headless FE is served. Because it is headless is has an other domain (other portnumer). Opening the link in _parent is blocked because of cross-domain security.
The only thing I can do now is open the link in a new browser tab.
Of course this is not what one want because now I open a new browser tab with the cms while I already have a browser tab with the cms.

Is there a way to overcome this issue?
If not then I again ask for a feature request to solve above problem.

You will need to add “X-Frame-Options: ALLOW-FROM https://foo.com/
(where foo.com is your SPA domain).
see:
Configure Security Response Headers - Bloomreach Experience Manager (PaaS/Self-Hosted) - The Fast and Flexible Headless CMS

BTW: I believe that using _parent as target will render URL within navapp frame,most probably you will need to use _top for the target attribute.

Regarding feature request: you can file an issue in JIRA: https://issues.onehippo.com/projects/CMS/
I am not sure how much attention it will get because this functionality is explicitly removed in favor of “in-channel/inline” editing.

Thanks. It works now, and yes with _top.

You said: ‘I am not sure how much attention it will get because this functionality is explicitly removed in favor of “in-channel/inline” editing.’

I’m confused. Bloomreach is promotion headless solution and it is what they adviced us to do.
But the headless part cannot work under /site (or we don’t know how.)

btw:
ALLOW-FROM origin Deprecated
This is an obsolete directive. Modern browsers that encounter response headers with this directive will ignore the header completely. The Content-Security-Policy HTTP header has a frame-ancestors directive which you should use instead.

Will it work with CSP frame-ancestors?