I've found a few WCM-side mock ups (or even prototypes and examples) along with authoring requirements can help teams navigate the challenges between business wants and system needs. In your WCM business requirements consider including stories or requirements such as, "as an author, I want to be able to manage ________ [some possibly external functionality] from the context of ________ [a Tridion item] to be able to ________ [accomplish some important business objective]."Tip: if you're on an SDL Tridion 2013 implementation, then ECL (check out the video!) should be a strong candidate if you're looking to integrate multimedia (binary) files from another system.
Easy (but with some technical debt)The simplest integration could be component text fields that have the unique identifiers in some other system. This would be all manual and isn't necessarily the friendliest approach. Here are a few mock-ups of the extension points that others have talked about here (the list), here (get started), here (best practices), here (early example), here (examples and more examples), here (look, script but no GUI), here (dare to extend rich text format areas?), here (ooh, search), here (pop-ups!), and especially here (great starting point for all extensions).
Where to Extend the InterfaceIn Experience manager, you can do the typical GUI extensions (1 and 3) but also optionally add Staging-specific markup (see programmatic ways to know your template or publishing context).
|Add new tabs and buttons to the toolbar or even staging-specific markup for Experience Manager extensions.
|Aside from a hard-coded unique identifier from external systems, the two typical integration points include a Custom Url and additional tabs or buttons.
- Add Tabs to Toolbar
The Content Manager Explorer (CME) or Experience Manager (XPM) can be extended to add new tabs or screens, which can feature additional buttons to start actions in other systems, open pop-up windows, etc.
- Add Preview-Only Markup
Tridion templates are aware of the “context” they run in. If desired, template/view builders can add additional links to other systems to let authors “deep link” to other systems. This depends on the availability of unique identifiers for non-Tridion systems.
- Add ButtonsExisting tabs can be extended to include additional buttons as well. The example button could open a pop-up to manage a product set, for example. The pop-up may display controls, options, and data from another system.
- Use Custom URLsSchema fields in component and metadata form views can include a Custom URL that opens a pop-up to let authors select options from other systems. These selections can be updated in non-Tridion system or saved into the field in Tridion.
- Add Tabs to Form ViewsNew tabs can be added to component or other items’ form views.
If you're just looking to have authors start in Tridion to get to other systems, don't overlook basic functionality such as Custom Pages.
Integrate in 30 Seconds...The easiest system "integration" is simply a Custom Page which is available to users in the shortcuts section. Use this feature to show other websites, training materials, or authoring guidelines, for example.
These of course doesn't cover all the integration scenarios you might have, but after having to explain "in Tridion but not in Tridion" a few times, I've found mocked screens and descriptions help make extension scenarios more practical for the business and implementation teams.
In my recent engagements, I'm just the functional, but if you're on the technical side and can prototype these, all the better. ;-)
I'm thinking of ways to use #2 above to add schema and template "labels" to a just staging site. Leave a comment if you've done the same or have suggestions on how to best set this up. I'm thinking of ways to "generate" the page/content type diagrams after-the-fact.