-
Notifications
You must be signed in to change notification settings - Fork 816
Property editor composition rewrite for Umbraco 17 #7685
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Property editor composition rewrite for Umbraco 17 #7685
Conversation
…ir architecture, and configuration settings
…ce clarity on architecture and custom implementations
…s on Property Editor settings, configuration, and validation handling for improved clarity and usability
AndyButland
left a comment
There was a problem hiding this 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.
17/umbraco-cms/customizing/property-editors/composition/property-editor-schema.md
Outdated
Show resolved
Hide resolved
17/umbraco-cms/customizing/property-editors/composition/README.md
Outdated
Show resolved
Hide resolved
17/umbraco-cms/customizing/property-editors/composition/README.md
Outdated
Show resolved
Hide resolved
17/umbraco-cms/customizing/property-editors/composition/property-editor-schema.md
Outdated
Show resolved
Hide resolved
…thub.com/Luuk1983/UmbracoDocs into feature/7603_property_editor_composition
|
@AndyButland, I processed your comments (and fixed the reviewdog warnings). If the changes are OK, could you please approve the PR? :) |
AndyButland
left a comment
There was a problem hiding this 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.
sofietoft
left a comment
There was a problem hiding this 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! 🙏
| {% 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 %} |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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 :)
| {% 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 %} |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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 :)
| {% 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 %} |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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 :)
| ## 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. |
There was a problem hiding this comment.
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? 🤔
There was a problem hiding this comment.
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'.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, alright. Wouldn't it be better to have this mentioned at the top of the article? Then anyone new to this subject, will know not to start here.
Also, are there any more beginner friendly sections we could refer to instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the fact that it's called advanced and is introduced with a text that explains that is't for advanced scenerio's is pretty clear.
The thing is, documentation about the Property Editor Data Sources is a very advanced topic that Mads wrote. It wasn't under 'advanced' before, so I tried to make it clear that unless you know what you are doing and have mastered the rest, you might want to look into this, otherwise skip it. So the advanced heading makes sense I think.
So if you think it's still not clear enough, go ahead and change it, although I'm not sure what to change it in :)
Also I don't think this should keep this PR from being delayed. It's an important topic and the current pages on the documentation still have the 'this is a work in progress' banner I think. So I think there is some urgency to get this through.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am in no way trying to delay this. If this should be expedited quicker, I'm more than happy to hand it over to one of my colleagues, as I'm not back to working full time just yet.
My concern with this, was just that the article doesn't mention it being advanced until you get to this note. So, it was just a suggestion to move it closer to the start of the article 🙏
Removed duplicate warning about propertyEditorSchemaAlias and updated related notes.
Refactor and clarify the Property Editor Schema documentation, improving readability and consistency in terminology. Also revised some minor grammar.
| You can define settings on both the Property Editor Schema and the Property Editor UI. It's good practice to define settings that have impact on the data (like validation rules) on the Property Editor Schema. Settings that only impact the UI should be set on the Property Editor UI. | ||
| {% endhint %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The way this warning is currently phrased, it sounds more like information to me.
I agree that it would make sense as a warning, but then I think the actual warning part of the message should be defined first 🤔
What do you think?
| ## 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am in no way trying to delay this. If this should be expedited quicker, I'm more than happy to hand it over to one of my colleagues, as I'm not back to working full time just yet.
My concern with this, was just that the article doesn't mention it being advanced until you get to this note. So, it was just a suggestion to move it closer to the start of the article 🙏
Updated the Property Editor UI documentation for clarity and consistency, including improvements in phrasing and structure throughout the text.
📋 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.
📎 Related Issues (if applicable)
Fixes #7603
✅ Contributor Checklist
I've followed the Umbraco Documentation Style Guide and can confirm that:
Product & Version (if relevant)
Umbraco 17
Deadline (if relevant)