The "S's" of CM-Side Integration

Your data doesn't need to be in Tridion to let authors manage or use this data in one of Tridion's interfaces or editors such as the Content Manager Explorer (CME) or Experience Manager (XPM).

As you consider Tridion integrations, be sure to address scalability, synchronization, search (& select), and save.

Scalability and Peformance

You want to be sure you're not having your Web Content Management system (WCMS) manage information that's best handled by the available solutions. For example, product information might be better served by a Product Information Management (PIM) system, whereas Web copy about these products may be a better fit for the WCMS.

You might have legacy applications that are unique to your industry and business which aren't necessarily bad. Although they may have a decade or so of history, legacy systems may also have a good amount of bug fixes (read Joel or the wiki discussion on c2.com).
Bring you expertise and understanding of your preferred solutions to this discussion but to be open to alternatives as well as realistic and practical on how systems will work together. This applies to content strategists, analysts, business stakeholders, developers, and architects regardless if they're part of the customer, partner, or vendor.
On a practical note, Tridion's Content Manager Explorer (CME) can reasonably handle hundreds to a few thousand items per folder or category. GUI performance slows down at about the same point where it gets difficult (for humans) to manage that many items in a given folder.

Synchronization

After creating or setting the connection between Tridion an another system, getting the data and selection the first time is easy. Letting authors select values that are stored in components is easy. But you should probably address the following scenarios:
  • New data and attributes
  • Changes to existing values including  things like renames and moves
  • Deleted data, attributes, or values
The Tridion approach for these depends on where the integration occurs:
  • "Integrated" items from other systems saved in Tridion fields (in keywords, components, pages, and/or metadata) may require Event System code
  • Large scale changes that can be "batched" into periodic synchronization jobs should be addressed by the Core Service (aka Business Connector 2)
  • Tridion-to-Tridion "integrations" can take advantage of Content Porter
  • Delivery-side integrations can happen during publish when Tridion templates run or during deployment, upon request, or during client-side (JavaScript)
In your functional and technical design sessions, be sure not to assume an approach without confirming authoring and development requirements. For example, using key-value pairs in a configuration component can easily create "look-up tables" in Tridion, but you won't have Where Used or the ability to quickly update a value across the system. You might consider keywords instead if "findability" is an authoring requirement.
Focus on the data and content model first; context is key here and you need to think about direct/indirect content relationships and basic entity relationships (see cardinality).
Your approach and needs will vary, an important point to remember is that stored values and even the available options may/will change. A "loose" coupling between systems helps make these easier to manage, but some trade-offs include needing to address functionality such as search and select.

Search & Select

When presenting data or systems external to Tridion, authors need to be able to find and select values. Though Tridion uses Solr for search within the Content Manager, when connecting to external systems through SDL Tridion 2013's External Content Library (ECL) feature, Tridion uses the external system's search capabilities (if available and implemented in the ECL provider).

In other words, don't assume external items are automatically components without confirming how authors normally find and update them.

Save

You'll have to save the external data or definitions somewhere and it might even be in Tridion. For example, you might have a Custom Url that lets authors create something using values "outside" of Tridion, but the final result is saved in Tridion components.

However you save the values, be sure to keep the other "S's" in mind. Will the data scale and stay current through some type of synchronization? Can you search & select saved items?

You've seen content modeling based on wireframes. This is completely focused on the visitor experience and rightly so. In my next post, I'll share some WCM-side mock-ups of where you might choose to integrate with Tridion. So authors can manage their content and data in Tridion (user interfaces), without the data actually being in Tridion (content management database).

No comments:

Post a Comment

Feel free to share your thoughts below.

Some HTML allowed including links such as: <a href="link">link text</a>.