umbraco-picker-data-source

Implement custom picker data sources for Umbraco backoffice property editors.

4|Updated Mar 6, 2026
One-click install
npx skills add https://github.com/albanistrefi/umbraco_CLI --skill umbraco-picker-data-source-albanistrefi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: umbraco-picker-data-source
Source: https://github.com/albanistrefi/umbraco_CLI/tree/main/skills/extensions/umbraco-picker-data-source
Command: npx skills add https://github.com/albanistrefi/umbraco_CLI --skill umbraco-picker-data-source-albanistrefi

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It solves the challenge of providing the right items to Umbraco backoffice picker-based property editors when the data comes from custom entities, filtered sets, or external sources.

Core Features & Use Cases

  • Picker data sourcing: Define how picker items are fetched, displayed, and selected for property editors.
  • Tree and collection support: Implement hierarchical (tree) pickers or flat (collection) pickers with consistent selection behavior.
  • Searchable pickers: Add query-based searching so editors can quickly find the correct item.

Quick Start

Ask an AI to generate a Picker Data Source manifest and the TypeScript controller implementation for a tree picker that returns root items, children, ancestors, item details by unique IDs, and search results for your custom entity type.

Frequently Asked Questions about umbraco-picker-data-source

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a custom picker data source in Umbraco?

To create a custom Umbraco picker data source, you define a manifest with UMB_PICKER_DATA_SOURCE_TYPE and implement a TypeScript controller. This controller supplies items for backoffice tree or collection property editors by handling requests for root items, children, and search queries.

What methods are required to implement tree picker search in the Umbraco backoffice?

Implementing tree picker search requires defining the search method alongside requestTreeRoot, requestTreeRootItems, requestTreeItemsOf, and requestTreeItemAncestors. These methods enable hierarchical browsing and query-based searching for custom entities within Umbraco property editors.

Can I use a custom entity type with Umbraco collection pickers?

Yes, you can use custom entity types with Umbraco collection pickers by implementing the requestItems method. This function fetches and displays flat lists of custom entities, allowing editors to select items from external or filtered data sources.

How do I filter which items are pickable in an Umbraco tree picker?

You filter pickable items in an Umbraco tree picker by applying optional pickable filters within your custom data source implementation. This controls entity selection behavior by restricting which tree nodes can be selected in the backoffice property editor.

Does Umbraco picker data source support hierarchical browsing of custom entities?

Yes, Umbraco picker data sources support hierarchical browsing by implementing requestTreeItemsOf to fetch child nodes. This allows editors to navigate nested custom entity structures and select items within tree-based backoffice property editors.

Do I need TypeScript to build a custom Umbraco picker data source?

Yes, TypeScript is required to build a custom Umbraco picker data source. The implementation involves writing TypeScript controllers that fulfill the functional contract by defining manifests and handling data retrieval for backoffice property editors.