Hi there,
We used to store app settings in app properties.
Now we changed the way, how we store the settings, and use the content properties of a private space to store the settings.
We also used to have display conditions for a menuItem, e.g.:
{
...,
"location": "system.content.action/modify",
"conditions": [
{
"condition": "user_is_logged_in"
},
{
"or": [
{
"and": [
{
"condition": "entity_property_equal_to",
"invert": true,
"params": {
"entity": "addon",
"propertyKey": "configuration",
"objectName": "showMenuItem",
"value": "Never"
}
},
{
"condition": "entity_property_equal_to",
"invert": true,
"params": {
"entity": "addon",
"propertyKey": "configuration",
"objectName": "showMenuItem",
"value": "Admins"
}
}
]
},...
]
}
]
}
Since we changed those settings, it isn’t possible to check for the content property this way.
Is there an option, where we can check for content properties on specific spaces? e.g.:
{
"condition": "entity_property_equal_to",
"invert": true,
"params": {
"entity": "space",
"key": "CONFIGURATIONSPACE",
"propertyKey": "configuration",
"objectName": "showMenuItem",
"value": "Never"
}
}
I know there is the possibility to check for content properties on a space, but afaik, it’s only possible to check for the content properties on the current space.
In the Confluence Server Version, it was possible to add custom conditions, like this:
<web-item name="name"
key="pkey"
section="system.content.action/modify"
weight="10">
...
<conditions type="AND">
<condition class="....util.ContextMenuIconCondition"/>
...
</conditions>
</web-item>
Now, since we are currently implementing all the missing features in the cloud version of our apps, I’m curious, if there’s any possibility to achieve something like the custom conditions in the server version.
A condition where we can define a rest endpoint, which decides whether or not a menuItem should be displayed would be nice.