DEV Community

Cover image for Streamlining Node Property Data Retrieval in Umbraco: A Quick Guide
Shekhar Tarare
Shekhar Tarare

Posted on • Originally published at shekhartarare.com

Streamlining Node Property Data Retrieval in Umbraco: A Quick Guide

Introduction:

In Umbraco development, the ability to swiftly retrieve property data is essential, particularly for testing purposes. Whether it’s debugging, data validation, or assessing content structure, having efficient methods to access property data is paramount. In this guide, we’ll explore streamlined approaches to retrieve property data for testing in Umbraco.

Understanding Property Data Retrieval:

Umbraco’s content architecture revolves around nodes, each containing various properties defining its attributes. Retrieving property data involves navigating the Umbraco database schema to extract relevant information for testing scenarios.

We will querying the following table to retrieve the data:

  • umbracoPropertyData: This table likely contains data related to properties of content items in Umbraco, such as their types, values, etc.
  • cmsPropertyType: This table probably holds information about the types of properties that content items in Umbraco can have. For example, it might include data about whether a property is a text field, a dropdown list, a date field, etc.
  • umbracoContentVersion: This table likely stores information about different versions of content items in Umbraco, including details such as when they were created, modified, their current status, etc.

Sample SQL Query:

SELECT *
FROM umbracoPropertyData AS upd
INNER JOIN cmsPropertyType AS cmspt
ON upd.propertyTypeId = cmspt.id
INNER JOIN umbracoContentVersion AS ucv
ON upd.versionId = ucv.id
WHERE ucv.[current] = 1
Enter fullscreen mode Exit fullscreen mode

The above query will get all the published Node data with their property details. We can also modify the query to retrieve the data of any specific node:

SELECT *
FROM umbracoPropertyData AS upd
INNER JOIN cmsPropertyType AS cmspt
ON upd.propertyTypeId = cmspt.id
INNER JOIN umbracoContentVersion AS ucv
ON upd.versionId = ucv.id
WHERE ucv.nodeId = 1001 
AND ucv.[current] = 1
Enter fullscreen mode Exit fullscreen mode

Top comments (0)