Custom Property Restrictions and Types

Use Cases

This request builds heavily on other users’ requests for more Property Types, including Links, Tags, Enums, Colors, Nested Properties, Custom Dates, and more List Types.

I think that user-set Restrictions on the Values of properties could be very useful.

For example, Property Value Restrictions could be useful for a ratings system, where the maximum for a Property of Type Number could be limited to a maximum rating.

Likewise, placing restrictions on the requested Link Property Type would allow for more user defined structure. A location Property of Type Link should logically only hold a link to a Note about a location.

Values for Text Properties are currently limited to including either standard Text or one Link, with attempts to include both ending in the Link gaining extra end brackets. Tags and multiple Links are not allowed. If this were to be changed, I could then have a location Property that has a value along the lines of “West of [[Linksburg]]” and describes relative location.

The ability to reuse such restrictions would be useful for organization and minimizing tedium.

Proposed Solutions

I would be grateful if the team would consider adding the ability to restrict the possible Values of a Property. It would work especially well with Numbers, Tags, and Links.

For Links in particular, I propose that Property Restrictions can be based on Tags, the Folder a Note is in, or even other Properties and Property Values. This way, a user could create a Property of Type Link named Location, and limit its Value to a link to a Note with the tag #Location.

For Properties of the Text Type, I suggest that users be given the ability to enable or disable the use of tags and links, and set the minimum and maximum numbers of each in a single Text Value.

To enable reuse of custom Restrictions, Custom Property Types could be implemented by allowing the user to choose an existing Property Type as a base and change settings and format and add restrictions to create a new Type.

Additional Related Feature Requests

I feel like restricting property values is unecesary in most cases. Its not like your vault is being shared with someone else who you need to prevent from using it wrong. If you only rate from 1-5 then just do that, properties already offer autocomplete for existing values so its easy to select one of your allowed values. Applying excess restrictions seems like it would offer another opportunity for users to overcomplicate their vault instead of just taking notes.