Confluence pages have 'content properties' (key value pairs) and 'page properties' (provided by the macro).
Why do we have the distinction and why do we combine various disatvantages/limitations?
(I know content properties also apply to other elements, such as spaces, but that is not the point here).
Content properties are easily accessible via REST and Java API and supported by a number of plugins (Comala Workflows, Reporting, Scroll Exporter, ...). However, these seem to be considered 'internal' as I am not aware of any way to edit a set of custom content properties as part of a page.
The metadata 2 plugin may be an attempt to do this, but it is largely outdated. The editing experience with the old wiki syntax is awful.
On the other hand, editing page properties on a page is very user-friendly: drop in a macro, edit key/value pairs in a table. But these are not accessible via REST or Java API (they need to be parsed from the xhtml of the page - uh and slow) and thus not very well supported (e.g. not accessible from the Reporting plugin).
Am I missing something here? Why two concepts, each with its own set of disadvantages/limitations?