スキル一覧に戻る
umbraco

umbraco-backoffice

by umbraco

1🍴 1📅 2026年1月21日
GitHubで見るManusで実行

SKILL.md


name: umbraco-backoffice description: Blueprints for Umbraco backoffice customisation - complete working examples showing how extension types combine version: 1.0.0 location: managed allowed-tools: Read, Write, Edit, WebFetch

Umbraco Backoffice Blueprints

What This Skill Does

Backoffice customisations are combinations of extension types working together:

  • A "custom admin area" = Section + Menu + Dashboard
  • A "data management tool" = Section + Menu + Workspace
  • A "hierarchical browser" = Section + Menu + Tree + Workspace

This skill provides complete working blueprints. The source code is in ./examples/ - copy and adapt for your needs.

For details on individual extension types, invoke the referenced sub-skills.

TIP: If the Umbraco CMS source code is available in your workspace, use it as a reference and for inspiration. The backoffice client code in src/Umbraco.Web.UI.Client/src/packages/ shows production implementations of all extension types - study how the core team structures sections, workspaces, trees, and other patterns.


Backoffice Extension Map

This diagram shows where ALL extension types appear in the Umbraco backoffice UI:

┌─────────────────────────────────────────────────────────────────────────────────┐
│ HEADER BAR                                                                       │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐           ┌───────────────────┐ │
│ │ Content │ │  Media  │ │Settings │ │ Section │  ...      │    Header Apps    │ │
│ │         │ │         │ │         │ │  ****   │           │ (umbraco-header-  │ │
│ │         │ │         │ │         │ │         │           │     apps)         │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘           └───────────────────┘ │
│      ^                        ^                                    ^            │
│      │                        │                                    │            │
│  (umbraco-sections)      Your Section                    User menu, search,     │
│                                                          notifications          │
├─────────────────────────────────────────────────────────────────────────────────┤
│ SIDEBAR                    │  MAIN CONTENT AREA                                 │
│ ┌────────────────────────┐ │ ┌─────────────────────────────────────────────────┐│
│ │ SectionSidebarApp      │ │ │ Dashboard (umbraco-dashboard)                   ││
│ │ (part of sections)     │ │ │ Shows when nothing selected in tree             ││
│ │                        │ │ │ ┌─────────────────────────────────────────────┐ ││
│ │ ┌────────────────────┐ │ │ │ │ Your welcome content, stats, quick actions │ ││
│ │ │ Menu               │ │ │ │ └─────────────────────────────────────────────┘ ││
│ │ │ (umbraco-menu)     │ │ │ └─────────────────────────────────────────────────┘│
│ │ │                    │ │ │                                                    │
│ │ │ ┌────────────────┐ │ │ │ ┌─────────────────────────────────────────────────┐│
│ │ │ │ MenuItem       │ │ │ │ │ Workspace (umbraco-workspace)                   ││
│ │ │ │ (umbraco-menu- │ │ │ │ │ Shows when entity selected                      ││
│ │ │ │     items)     │ │ │ │ │ ┌─────────────────────────────────────────────┐ ││
│ │ │ │                │ │ │ │ │ │ WorkspaceView tabs (Content, Settings...)  │ ││
│ │ │ │ kind: "tree"───┼─┼─┼─┼─┤ │ ┌─────────┐ ┌─────────┐ ┌─────────┐       │ ││
│ │ │ └────────────────┘ │ │ │ │ │ │ View 1  │ │ View 2  │ │ View 3  │       │ ││
│ │ │                    │ │ │ │ │ └─────────┘ └─────────┘ └─────────┘       │ ││
│ │ │ ┌────────────────┐ │ │ │ │ └─────────────────────────────────────────────┘ ││
│ │ │ │ Tree           │ │ │ │ │                                                 ││
│ │ │ │ (umbraco-tree) │ │ │ │ │ WorkspaceActions (Save, Delete...)             ││
│ │ │ │                │ │ │ │ │ (umbraco-entity-actions)                        ││
│ │ │ │ ├─ Folder      │ │ │ │ └─────────────────────────────────────────────────┘│
│ │ │ │ │  └─ Item ────┼─┼─┼─┼──> entityType links to Workspace                  │
│ │ │ │ └─ Item        │ │ │ │                                                    │
│ │ │ │   (umbraco-    │ │ │ │ ┌─────────────────────────────────────────────────┐│
│ │ │ │    tree-item)  │ │ │ │ │ Collection (umbraco-collection)                 ││
│ │ │ └────────────────┘ │ │ │ │ List/grid view of items                         ││
│ │ └────────────────────┘ │ │ │ ┌─────────────────────────────────────────────┐ ││
│ └────────────────────────┘ │ │ │ CollectionView (umbraco-collection-view)    │ ││
│                            │ │ │ CollectionAction (umbraco-collection-action)│ ││
│                            │ │ └─────────────────────────────────────────────┘ ││
│                            │ └─────────────────────────────────────────────────┘│
├────────────────────────────┴────────────────────────────────────────────────────┤
│ MODALS & OVERLAYS (umbraco-modals)                                              │
│ ┌─────────────────────────────────────────────────────────────────────────────┐ │
│ │ Pickers, confirmations, custom dialogs - appear above main content          │ │
│ └─────────────────────────────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────────────────────────┤
│ PROPERTY EDITORS (in Document/Media workspaces)                                 │
│ ┌─────────────────────────────────────────────────────────────────────────────┐ │
│ │ PropertyEditorUI (umbraco-property-editor-ui)  - The visual editor          │ │
│ │ PropertyEditorSchema (umbraco-property-editor-schema) - Data validation     │ │
│ │ PropertyAction (umbraco-property-action) - Buttons on property              │ │
│ └─────────────────────────────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────────────────────────┤
│ RICH TEXT EDITOR (Tiptap)                                                       │
│ ┌─────────────────────────────────────────────────────────────────────────────┐ │
│ │ TiptapExtension (umbraco-tiptap-extension) - Core editor behavior           │ │
│ │ TiptapToolbarExtension (umbraco-tiptap-toolbar-extension) - Toolbar buttons │ │
│ │ TiptapStatusbarExtension (umbraco-tiptap-statusbar-extension) - Status bar  │ │
│ └─────────────────────────────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────────────────────────┤
│ GLOBAL FEATURES                                                                 │
│ ┌─────────────────────────────────────────────────────────────────────────────┐ │
│ │ SearchProvider (umbraco-search-provider) - Global search results            │ │
│ │ SearchResultItem (umbraco-search-result-item) - Custom result rendering     │ │
│ │ HealthCheck (umbraco-health-check) - Settings > Health Check                │ │
│ │ Theme (umbraco-theme) - Custom backoffice themes                            │ │
│ │ Icons (umbraco-icons) - Custom icon sets                                    │ │
│ │ AuthProvider (umbraco-auth-provider) - External login buttons               │ │
│ │ MfaLoginProvider (umbraco-mfa-login-provider) - 2FA methods                 │ │
│ └─────────────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────────┘

Available Examples

Each example has a detailed README.md with full documentation. See the examples/ folder.

ExampleComplexityWhat It Shows
BlueprintStarterSection + Menu + Dashboard + Workspace - the fundamental pattern
tree-exampleIntermediateTree navigation in Settings section with Workspace
TimeDashboardAdvanced13+ extension types including Header Apps, Modals, Property Editors
notes-wikiFull-stackComplete C# backend with CRUD, hierarchical tree, multiple workspaces

Quick Reference

  • Need a new section? Start with Blueprint
  • Need tree navigation? See tree-example
  • Need specific extension type? Check TimeDashboard for examples
  • Need full-stack with API? Study notes-wiki

All Available Sub-Skills

UI Extension Skills

Invoke these skills for detailed documentation on each extension type:

Extension TypeSub-SkillWhere It Appears
Sectionumbraco-sectionsTop navigation bar
Dashboardumbraco-dashboardMain content area
Menuumbraco-menuSidebar container
MenuItemumbraco-menu-itemsSidebar navigation items
Treeumbraco-treeHierarchical sidebar navigation
TreeItemumbraco-tree-itemIndividual tree nodes
Workspaceumbraco-workspaceEntity editing views
Header Appumbraco-header-appsTop-right header area
Modalumbraco-modalsOverlay dialogs
Collectionumbraco-collectionList/grid views
CollectionViewumbraco-collection-viewCustom collection layouts
CollectionActionumbraco-collection-actionCollection toolbar buttons

Action Skills

Action TypeSub-SkillWhat It Does
Entity Actionumbraco-entity-actionsContext menu & workspace actions
Entity Bulk Actionumbraco-entity-bulk-actionsMulti-select operations
Entity Create Optionumbraco-entity-create-option-actionCreate menu options
Property Actionumbraco-property-actionButtons on property editors
Current User Actionumbraco-current-user-actionUser profile menu items

Property Editor Skills

ComponentSub-SkillPurpose
Property Editor UIumbraco-property-editor-uiVisual editor component
Property Editor Schemaumbraco-property-editor-schemaData validation
Property Value Presetumbraco-property-value-presetDefault value templates
Block Editor Custom Viewumbraco-block-editor-custom-viewCustom block rendering

Rich Text Editor Skills

ComponentSub-SkillPurpose
Tiptap Extensionumbraco-tiptap-extensionCore editor behavior
Tiptap Toolbarumbraco-tiptap-toolbar-extensionToolbar buttons
Tiptap Statusbarumbraco-tiptap-statusbar-extensionStatus bar items
Monaco Markdown Actionumbraco-monaco-markdown-editor-actionMarkdown editor buttons

Search & Global Features

FeatureSub-SkillPurpose
Search Providerumbraco-search-providerGlobal search integration
Search Result Itemumbraco-search-result-itemCustom result rendering
Health Checkumbraco-health-checkSystem health checks
Themeumbraco-themeCustom backoffice themes
Iconsumbraco-iconsCustom icon sets

Authentication Skills

ComponentSub-SkillPurpose
Auth Providerumbraco-auth-providerExternal login (OAuth)
MFA Login Providerumbraco-mfa-login-providerTwo-factor authentication

User & Package Skills

ComponentSub-SkillPurpose
User Profile Appumbraco-user-profile-appUser profile tabs
Granular Permissionsumbraco-granular-user-permissionsFine-grained access control
Package Viewumbraco-package-viewPackage configuration UI
File Upload Previewumbraco-file-upload-previewCustom upload previews
Preview App Providerumbraco-preview-app-providerContent preview apps

Advanced Configuration

ComponentSub-SkillPurpose
Dynamic Rootumbraco-dynamic-rootContent picker root configuration
Kindsumbraco-kindsReusable manifest templates
UFM Componentumbraco-ufm-componentUmbraco Flavored Markdown
Global Contextumbraco-global-contextApp-wide shared state

Foundation Concepts

Essential patterns used across all extensions:

ConceptSub-SkillWhen Needed
OpenAPI Clientumbraco-openapi-clientREQUIRED for all custom API calls
Context APIumbraco-context-apiAccessing services, sharing data
Umbraco Elementumbraco-umbraco-elementBase class for components
Conditionsumbraco-conditionsControlling where things appear
State Managementumbraco-state-managementReactive UI with @state
Repository Patternumbraco-repository-patternData access layer
Extension Registryumbraco-extension-registryDynamic registration
Routingumbraco-routingURL structure, navigation
Localizationumbraco-localizationMulti-language support
Notificationsumbraco-notificationsToast messages, events
Controllersumbraco-controllersC# API endpoints

CRITICAL: When calling custom C# API endpoints from the backoffice, NEVER use raw fetch(). This will result in 401 Unauthorized errors. Always use a generated OpenAPI client configured with Umbraco's auth context. See the umbraco-openapi-client skill.

Build & Structure

ComponentSub-SkillPurpose
Bundleumbraco-bundleManifest aggregation
Entry Pointumbraco-entry-pointRuntime initialization
Extension Templateumbraco-extension-templateProject scaffolding
Add Extension Referenceumbraco-add-extension-referenceRegister extension in Umbraco instance

Using the Examples

  1. Browse the examples/ folder and read the README.md for each example
  2. Copy the example closest to your needs into your project
  3. Rename aliases from the example namespace to your own (e.g., Blueprint.* to MyApp.*)
  4. Update the entityType values to match your domain
  5. Customise the UI components for your use case
  6. Register with Umbraco via umbraco-package.json
  7. Add project reference to the main Umbraco instance - use skill umbraco-add-extension-reference

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です