A question? How to differentiate between user properties (my domain properties) and program/future plugin properties?
For example, if I want a property named
collapsed be attached to a block because has a meaning to me in the context of the content of a document. How to do that and don’t cause problems with internal
collapsed property used by block collapsing?
Also, in the future, If I’m using a property named
abc and some future plugin uses it for another thing, how can we handle these conflicting situations?
And if Logseq supports clicking a property (like a page) to show linked values and pages (like Roam does), Logseq and plugins properties should be forbidden to do that operation (or at least a plugin can allow some properties to be clicked and others not).
What about using some type of prefix/namespace for properties to indicate when a property is an user property, a logseq/plugin property not treated as page and one that can be clicked like a page?
- user property:
hij::. First character cannnot be an underscore “_”
- logseq/plugin property (not clickable like a reference):
_ls-pluginnamespace-propertya::, etc. Starts with underscore “_”
- logseq/plugin property (clickable like a reference):
ls-pluginnamespace-propertya::. If an user types a property startting with
ls- must to know that in the future can have conflicts with logseq or plugins properties.
What do you think?