2

I want to query Broker database and display component information, I can see "Items" table where all components are stored, I can get Title but I am unable to find Component Content, any idea where component Content is stored?

  • Check out this: tridion.stackexchange.com/a/3208/73 – Albert Romkes Oct 14 '14 at 5:22
  • Can you clarify if you're using the Broker API or querying the DB directly? – Nickoli Roussakov Oct 14 '14 at 5:43
  • 2
    also note that, in order to get component content from the database, they should be published with a dynamic component template. As Albert already mentioned, use the Tridion Broker API functions to get the content, never query the database directly – Harald Hoffelinck Oct 14 '14 at 5:44
  • I am querying database directly. – Ali Oct 14 '14 at 5:52
  • Component presentation table is empty in the database and I don't have any template for these components. I have created some "Metadata" components, each metadata component has 2 fields "Title" and "Description", these components are then linked to actual components through metadata tab and then actual component is linked to page through component presentation section. When page is published these metadata tags are rendered as page metadata in header tag. – Ali Oct 14 '14 at 6:00
5

Only System Metadata is published for Components, while content is actually published in it's rendered form as a Component Presentation. If the component in question is published as a Dynamic Component Presentation, then its rendered content is found in the COMPONENT_PRESENTATIONS table. However, if the component is published as a statically embedded component on a page, then the fully rendered page is going to be either on the file system or, if I recall correctly, the PAGE_CONTENT table depending on how your cd_storage_conf.xml is configured.

As Albert and Harald hinted in their comments, you should use the Broker API for querying and displaying content. Querying the DB directly should strictly be done only for debugging purposes.

| improve this answer | |
3

Querying the database directly breaks your Tridion support and upgrade path as the data model inside the database is not a public API meaning it can be changed at the software vendors discretion without prior notice at any time.

To have a supported solution use the Broker API (either .Net or Java) or via the Tridion CD webservice (which is an OData webservice) to retrieve this information.

Although it is technically possible to make direct queries against Tridion databases (CM or CD) this should be an edge case and support and maintenance implications should be made known to the client in advance!

| improve this answer | |

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.