3

I have the requirement of Creating .Net Application Pages and Integrate those pages in SDL Tridion. What exactly I need to do is: I have to take product information from my custom database and then create dynamic page from that product information like listing of product but some of the information on the page is static like Product list header, labels etc.

I need to know from below approaches which would be better approach of creating dynamic pages.

  1. Create whole page using dynamic product information from custom db and static information like gridview header, labels, product listing label like 'Product Name','Description' at .Net Application side.

  2. Create page with dynamic product information from custom db and take static information like gridview header, labels, product listing label like 'Product Name','Description' from Tridion CMS side. Is this posible?

If second approach is possible then what would be the challanges at XPM side.

If I create the gridview with dynamic prouct information from custom db and have all the gridview column header information from Tridon CMS.

Is inline editing of header information is possible in SDL Tridion alongside dynamic content?

Please help. Thanks in advance!

3

You can make a tool using the SDL Tridion Core Service API that can read data from your database and create a component (and or page) easy enough so that you can store your static data within the CMS. Here's a good example of how to do this: https://stackoverflow.com/questions/10412594/how-to-create-component-in-sdl-tridion-2011-using-core-service

I'd recommend handling the display of your dynamic data at the Content Delivery side as part of your application. You could store a record ID from your database with your content and then use this in your application once published.

2

I would start by recommending watching the following webinars:

There are - as usual - many ways to peel this apple, but in a nutshell once you decide the approach you want to follow the Delivery APIs or WebService will give you the functionality you need. Either taxonomy or custom metadata could be used for this.

Regarding Experience Manager, the tricky part here is that XPM needs a Tridion page to provide context. You will be able to EDIT component presentations if you lie to XPM and pretend this content is on a given page (the page must still exist), but you won't be able to do things like creating a new page, adding components to a page or move the component presentations around the page. Editing the content will be fine - including footers and headers as long as editors have access to them and your XPM markup is correct.

1

We could write a book on how to approach such an integration, but here are some practical points.

Dynamic Labels

Some of the information on the page is static like Product list header, labels etc.

Static in this case means not from the product database. I would recommend keeping them somewhat independent of Tridion pages. Consider one or more components in Tridion, optionally using a page to publish either:

  • XML file storing these files for reference by your .NET application
  • Dynamic Component Presentations, which can be cached for fast delivery but also published, and updated independently

The Content Management concern is what happens with updates and republishing these "labels." You might want to be able to update some of these without republishing entire websites.

For inline editing with XPM to work, these need to be in Components (Content or Metadata) rather than Organizational Item Metadata (so not Publication, Structure Group, or Folder).

Integration Approach

You listed two options with "pages" using dynamic product information from custom database with Static information from either:

  1. .Net Application
  2. Tridion CMS

To be clear, if this is for your managed Website(s), you should only retrieve such content from Tridion Content Delivery for a scale-able setup and to keep features like Publishing, BluePrinting, Localization, Dynamic Linking, Cache, and Experience Manager.

The Core Service would only apply to create or "bake" values into the Content Manager, but that's only if that fits your integration strategy.

Baking or Frying

We have a few good posts on where to integrate external data, which basically includes:

  • Baked into the Content Manager
  • Baked or added during Publishing (e.g. templates can rendering content from outside Tridion)
  • Fried or retrieved dynamically in the Website Application (.NET in this case)
  • More recently, retrieved with client-side code (JavaScript)

For background, consider reading:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.