Let CRUD Guide your Tridion Integration

Bart Koopman describes ways to tackle SDL Tridion integrations in this SDL Tridion World article and a follow-up podcast with Robert Curlette on TridionTalk.

So now you know the how and where, but let's look at the why, when, and which to choose.

Let's revisit some terminology you might have heard: Baking versus Frying.
  • Baking is the idea of placing data, content, or multimedia into a system for retrieval "as is" at a later time. You can bake in the CMS or during publish. These items may be managed but the individual details, are stored in the format they're requested.
  • Frying is the idea of retrieving, querying, or assembling these in content delivery
We apply these approaches generally in three spots:
But how do you know what to choose since any approach would work (the first time)? Whether you put an image in SDL Tridion, add it in publishing, retrieve it from your content delivery network, or add it with some client-side script, you can add an image to a page.

So let's look at some older lingo you should have heard: (S)CRUD, the basic "functions of persistent storage:"

  • Search
  • Create
  • Read
  • Update
  • Delete

Add the fact that someone, it might not be authors, has to manage your integration then you have your answer on where and how to do the integration especially since an information system includes people, process, and technology.

Search

How many items are you connecting to SDL Tridion? Would authors know how to identify these from memory or is there a list of items? Can you automate an association to the things you're integrating with?

A few items imply your integration might be in "key-value" configuration components or Application Data (hidden fields or data for items). Make links or paths to Tridion items and add an external identifier.

A few dozen items might require placing components nested in folders or as keywords optionally in a taxonomy tree. Authors would be able to find, select, and then update these "external" items easily. Each component has a field that represents the external item.

Thousands of items in a product catalog or digital system suggest searching in the Content Manager isn't as easy as looking at a list. Consider placing the items outside of Tridion, but not necessarily outside the interface.

SDL Tridion's External Content Library (ECL) is a good fit for multimedia integration. If you're considering options for multimedia (along with translations, analytics, encoding, and more), consider SDL Media Manager which comes with its own ECL Connector to SDL Tridion.

Create

Where does the data, content, or multimedia live? Will authors create this in SDL Tridion or is there a better tool or system? Even if SDL Tridion might be "better," is there an existing tool or system that's not ready to be changed or needed for other things? Look for a best fit, but take your time confirming any changes (mind the people in the process).

From an authoring side you can extend SDL Tridion to show some of these creation options in the Content Manager, even though the items still live in another system.

Read

When do authors need to make the association and when does the data need to be read? This will help confirm whether to bake or fry.

Knowing the content or data model, especially in terms of cardinality, will help here. Do you have a one-to-one (1:1) relationship? A one-to-many? Or many-to-many? In content management terms we refer to direct and indirect relationships, which roughly translate to links/embedded items and taxonomy, respectively.

A one-to-one relationship might mean page metadata or components.
A one-to-many or many-to-many need, where one external item is used in multiple place in Tridion could mean a keyword or component that acts as the external item.

Update

Where and how often do updates happen? Will it happen as part of the publishing process, or should it happen automatically without publishing (update externally, but retrieve presentation or even client-side?).

Will the approach change often? Is the configuration something that should be in Tridion? Do parameters change frequently?

Will data in the external system be accurate? Do authors need to change it and if so, should the changes be reflected back in the other system?

Delete

Finally, how often do you need to delete or remove something?

This can be overlooked, but is important because SDL Tridion can easily unpublish items, but it will restrict you from deleting things without first removing the dependencies.


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>.