Umbraco property storage cheat sheet

Was it a comma separated list or a JSON array? When using the Content Service, it can be really useful to know what format to store data in.

, by Joe Glombek

Umbraco.MultiUrlPicker

Still an array, even in single mode.

Stored in SQL textValue column.

[
  {
    "name": "Link title",
    "udi": "umb://document/bb6ca0ea21334bc6b345afd7c703b965"
  },
  {
    "name": "Link title",
    "url": "https://example.com",
    "queryString": "#with-anchor"
  }
]

The above is prettified for legibility. The value in Umbraco will have no spaces or new lines.

How to programmatically update a Multi Url Picker

Umbraco.MultiNodeTreePicker

Stored in SQL textValue column.

umb://document/bb6ca0ea21334bc6b345afd7c703b965,umb://document/e3d3e3b32d484424815286d4042a80a4

How to programmatically update a "Content Picker"/Multi-node tree picker

Umbraco.ContentPicker

Stored in SQL varcharValue column.

umb://document/bb6ca0ea21334bc6b345afd7c703b965

How to programmatically update a "Document Picker"/Umbraco.ContentPicker

Umbraco.RadioButtonList

Stored in SQL varcharValue column.

One

How to programmatically update a Radio Button List

Umbraco.CheckBoxList

Stored in SQL varcharValue column.

["One","Two"]

How to programmatically update a Checkbox List

Umbraco.TrueFalse

Stored in SQL intValue column.

0

How to programmatically update a Toggle/True-False/checkbox

Umbraco.Tags

Stored in SQL varcharValue column.

["Tag1","Tag2"]

How to programmatically update tags

Umbraco.DateTime

Stored in SQL dateValue column.

2023-03-15 16:20:00

(Time value is 00:00:00 if time is excluded)

How to programmatically update a DateTime

Umbraco.MemberPicker

Stored in SQL varcharValue column.

umb://member/efe1f9fb4a1b460895e70f839ba114d6

How to programmatically update a Member picker

Umbraco.UserPicker

Stored in SQL intValue column.

-1

How to programmatically update a User picker

Umbraco.MultipleTextstring (AKA Repeatable textstrings)

Stored in SQL textValue column.

One
Two
Three

How to programmatically update repeatable textstrings

Umbraco.UploadField (AKA File upload)

Stored in SQL varcharValue column.

/media/inshb1yh/callum-au.png

How to programmatically update an Upload Field.Note: This example is inconsistent with the default behaviour. It uploads the file to the Media library, unlike how File Uploads work via the UI.

Umbraco.ImageCropper

Stored in SQL textValue column.

{"src":"/media/nojjl5no/callum-au.png"}

How to programmatically update an Image Cropper field.

Umbraco.MediaPicker3

Stored in SQL textValue column.

[
  {
    "key": "22ff8e5b-062d-43ac-8aec-fb09ac2277ba",
    "mediaKey": "c63dc11a-4825-488b-8646-36211b812f3b"
  }
]

The above is prettified for legibility. The value in Umbraco will have no spaces or new lines.

How to programmatically update a media picker

Umbraco.MediaPicker (legacy AKA v2)

Stored in SQL textValue column.

umb://media/c63dc11a4825488b864636211b812f3b

How to programmatically update a legacy media picker

Umbraco.BlockList

Stored in SQL textValue column.

{
  "layout": {
    "Umbraco.BlockList": [
      {
        "contentUdi": "umb://element/2515bbf8470c43a1bda132d643a4a418"
      },
      {
        "contentUdi": "umb://element/05c3c37d6a814f7a9ac67be3d01dd057"
      }
    ]
  },
  "contentData": [
    {
      "contentTypeKey": "ec586638-a55d-463a-b36e-62ed11e2b2df",
      "udi": "umb://element/2515bbf8470c43a1bda132d643a4a418",
      "property1": "Value"
    },
    {
      "contentTypeKey": "ec586638-a55d-463a-b36e-62ed11e2b2df",
      "udi": "umb://element/05c3c37d6a814f7a9ac67be3d01dd057",
      "property1": "Value"
    }
  ],
  "settingsData": []
}

The documentation does not currently document how to programmatically update a block list. See block grid for inspiration.

Umbraco.BlockList (single mode)

Stored in SQL textValue column.

{
  "layout": {
    "Umbraco.BlockList": [
      {
        "contentUdi": "umb://element/9ae5d1abe0a84b80a4ace9ae8ab1311b"
      }
    ]
  },
  "contentData": [
    {
      "contentTypeKey": "ec586638-a55d-463a-b36e-62ed11e2b2df",
      "udi": "umb://element/9ae5d1abe0a84b80a4ace9ae8ab1311b",
      "property1": "Value"
    }
  ],
  "settingsData": []
}

The above is prettified for legibility. The value in Umbraco will have no spaces or new lines.

The documentation does not currently document how to programmatically update a block list. See block grid for inspiration.

Umbraco.BlockGrid

Stored in SQL textValue column.

{
  "layout": {
    "Umbraco.BlockGrid": [
      {
        "contentUdi": "umb://element/df08225d94af450a98500b35d4b0e3d4",
        "areas": [],
        "columnSpan": 12,
        "rowSpan": 1
      },
      {
        "contentUdi": "umb://element/e373cf3ef53447f5858941a8640db5b4",
        "areas": [
          {
            "key": "2b314d42-64f8-4608-897b-0b55b449427c",
            "items": [
              {
                "contentUdi": "umb://element/81e9a611a5c84d929d1bb8d5026fc607",
                "areas": [],
                "columnSpan": 6,
                "rowSpan": 1
              }
            ]
          },
          {
            "key": "223adcd7-7e4d-4b95-9c6b-eb2047a01607",
            "items": [
              {
                "contentUdi": "umb://element/bb441112ad794756a542ac1cd7fc4477",
                "areas": [],
                "columnSpan": 6,
                "rowSpan": 1
              }
            ]
          }
        ],
        "columnSpan": 12,
        "rowSpan": 1
      }
    ]
  },
  "contentData": [
    {
      "contentTypeKey": "df88b972-6ba5-4da8-a966-036137a935ad",
      "udi": "umb://element/df08225d94af450a98500b35d4b0e3d4",
      "headline": "Value"
    },
    {
      "contentTypeKey": "cb50a504-b8cd-4262-8344-bddfddc09282",
      "udi": "umb://element/e373cf3ef53447f5858941a8640db5b4"
    },
    {
      "contentTypeKey": "df88b972-6ba5-4da8-a966-036137a935ad",
      "udi": "umb://element/81e9a611a5c84d929d1bb8d5026fc607",
      "headline": "Column 1"
    },
    {
      "contentTypeKey": "df88b972-6ba5-4da8-a966-036137a935ad",
      "udi": "umb://element/bb441112ad794756a542ac1cd7fc4477",
      "headline": "Column 2"
    }
  ],
  "settingsData": []
}

The above is prettified for legibility. The value in Umbraco will have no spaces or new lines.

How to programmatically update a block grid