I'm currently investigating if it's possible to edit component presentations in Experience Manager that exist on pages that are not managed in Tridion - but are existing JSP files in the application. So far I've come up with a couple of issues; with the first being that the "Page Settings" at the bottom of XPM pages wouldn't be present, and neither would the javascript that's included.
<!-- Page Settings: {"PageID":"tcm:17-29114-64","PageModified":"2015-07-22T15:31:35","PageTemplateID":"tcm:17-1091-128","PageTemplateModified":"2015-07-22T20:16:46"} -->
<script type="text/javascript" language="javascript" defer="defer" src="http://cms.tridion.com/WebUI/Editors/SiteEdit/Views/Bootstrap/Bootstrap.aspx?mode=js" id="tridion.siteedit"></script></body>
I manually added the snippet onto a blank JSP which renders out a DCP via the CD API and found out that I could actually still edit the components I am looking to edit. If I add a Component to the page, it's actually added to the page whose ID matches the 'Page Settings' ID as you would expect.
Based on that, I am wondering if creating a "Dummy" page whose pageID we could pass into the 'Page Settings' would be a viable solution for the requirement. I understand none of the "Insert Content" functionality would work obviously (we'd be adding components to the dummy page), but are there other major drawbacks to this approach?
The problems I can see:
- We'd have a dummy page published out with no contents that should be inaccessible (unless someone mistakenly adds one while editing the pages not published from the CM).
- We would have to add some logic to only add the XPM 'Page Settings' and JS include in our development environments, whereas Tridion typically handles this.
This approach is a bit of a hack, although it seems it would work. If you're wondering why we're trying to achieve this; the client publishes out content snippets from Tridion and due to the large number of them, they'd like to be able to quickly edit them without looking them up in the CM. I'm interested to hear whether or not anyone has done something similar - or if anyone can come up with any problems we might run into with this approach.