Skip to content

Conversation

@Luuk1983
Copy link
Contributor

@Luuk1983 Luuk1983 commented Dec 2, 2025

📋 Description

This is a rework of the pages that combined describe the part that make up a Property Editor. It covers an overview page, a page about the Property Editor UI and the Property Editor Schema.

  • I did not touch the Data Sources article that's also part of the Property Editor composition. This is a quite niche concept and I felt like that article is good enough for now (discusses with Mads).
  • I created new articles for the extensions of the property editor ui and property editor schema under the extension type section. These articles describe all settings into detail. I felt like the Property Editor articles would get too bloated if they also needed to deal with the complete configuration options. BEWARE!! These two articles (although verified against the source code) are AI generated.

📎 Related Issues (if applicable)

Fixes #7603

✅ Contributor Checklist

I've followed the Umbraco Documentation Style Guide and can confirm that:

  • Code blocks are correctly formatted.
  • Sentences are short and clear (preferably under 25 words).
  • Passive voice and first-person language (“we”, “I”) are avoided.
  • Relevant pages are linked.
  • All links work and point to the correct resources.
  • Screenshots or diagrams are included if useful.
  • Any code examples or instructions have been tested.
  • Typos, broken links, and broken images are fixed.

Product & Version (if relevant)

Umbraco 17

Deadline (if relevant)

Copy link
Contributor

@AndyButland AndyButland left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great @Luuk1983. I just had a few comments on the wording in a few places where I though it was a either a little repetitive or vague, but mostly seems to me you and your AI helper have done a really good job here. I don't see any factual issues at all, so just have a few tidying up suggestions.

@Luuk1983
Copy link
Contributor Author

Luuk1983 commented Dec 8, 2025

@AndyButland, I processed your comments (and fixed the reviewdog warnings). If the changes are OK, could you please approve the PR? :)

Copy link
Contributor

@AndyButland AndyButland left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, thanks for the updates @Luuk1983 - approving now.

Updated the README.md to enhance clarity and structure of the Property Editors section, including definitions and best practices.
Copy link
Contributor

@sofietoft sofietoft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR @Luuk1983 !

Really great content. It is very well described, also for someone like me, who isn't that technical! 👏

I'm half-way through the review, still missing the two articles in the "Property Editors" section. I'll get those done on Monday.

Here are some notes for the articles in the Extending Overview section:

In the "Property Editor Schema", I've made suggestions to move the two warnings from "Important Notes".
If you agree with this suggestion, then we could take the note about the default property editor schemas out of the hint, and place it directly below the "Important Notes" heading instead, as tne only content there.
What do you think?
There is also a case of this, in the "Property Editor UI" article.

Hope it all makes sense! 🙏

Comment on lines +197 to +199
{% hint style="warning" %}
The `alias` in the manifest **must exactly match** the alias used in the C# `DataEditor` attribute. The alias is the only connection between the server-side schema implementation and the client-side manifest.
{% endhint %}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about we move this up to the "Manifest Properties" heading around line 74? That way you get this warning before you start working with the properties.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would really like to go on your insights. Warnings are always a balance. Sometimes you need to explain something before a warning makes sense (even though it might be a little 'late' for the warning). Sometimes it's better to warn beforehand.

I think that if you felt like it should be moved while reading this document for the first time, than we should move it. I've read this document so many times now that a fresh perspective from someone like you is much more valuable. So please go ahead and change it :)

Comment on lines +201 to +203
{% hint style="warning" %}
Configuration property aliases in `settings.properties` **must match** the property names defined in your C# `ConfigurationEditor` class. If they don't match, configuration values won't be properly passed to the backend for validation and storage.
{% endhint %}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about we move this up to the "Settings Structure" heading around line 117? That way you get this warning before you start working with the properties.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would really like to go on your insights. Warnings are always a balance. Sometimes you need to explain something before a warning makes sense (even though it might be a little 'late' for the warning). Sometimes it's better to warn beforehand.

I think that if you felt like it should be moved while reading this document for the first time, than we should move it. I've read this document so many times now that a fresh perspective from someone like you is much more valuable. So please go ahead and change it :)

Comment on lines +277 to +279
{% hint style="warning" %}
The `propertyEditorSchemaAlias` in the manifest **must match** an existing Property Editor Schema alias. This connects the UI to the backend data handling and validation.
{% endhint %}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's makes more sense to have this warning where the "propertyEditorSchemaAlias" is defined the article. Then you get the information when you need it.

This also allows us to take the information from the next hint out, and add it as plain text.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would really like to go on your insights. Warnings are always a balance. Sometimes you need to explain something before a warning makes sense (even though it might be a little 'late' for the warning). Sometimes it's better to warn beforehand.

I think that if you felt like it should be moved while reading this document for the first time, than we should move it. I've read this document so many times now that a fresh perspective from someone like you is much more valuable. So please go ahead and change it :)

Comment on lines +63 to +65
## Advanced

This chapter covers advanced scenarios. It is intended for developers who understand the basics of Property Editors and want to explore more sophisticated patterns.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the chapter referred to here? Is that this article, or sub-articles?
Is it possible to replace "This chapter" with what "This chapter" is referring to? 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'this chapter' is the 'advanced' chapter you are in right now :) You could also call it 'the advanced section/chapter' or 'This advances section/chapter'.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Customizing > Property Editors > Composition

3 participants