{
“Title”: “proto: (line 2:5): unknown field "MetaStore"”,
“Detail”: “proto: (line 2:5): unknown field "MetaStore"”
}
no matter which way I try and set the JSON payload.
Is there some other protobuf way that we’re meant to POST to the /a/meta/set/{NodePath} endpoint in order to update metadata values for certain namespaces?
^^^ This works if the metadata/namespace value hasn’t been set already from the app frontend, as soon as that happens then this API call will not change the metadata.
Interestingly, if you upload a fresh file, make the above web request, the metadata update is reflected in the frontend app - BUT - it isn’t added to the idm_usr_meta d/b table (it’s added to the data_meta d/b table). If you make a metadata update from the frontend app, then the row is added/updated within the idm_usr_meta table.
It looks like if you edit custom namespace metadata from the frontend app, it add/updates a row in the idm_usr_meta d/b table. And if you add/update namespace metadata from the REST API /a/meta/set/ it updates the data_meta d/b table. If there is a row in the idm_usr_meta d/b table then this value is always displayed and the metadata value from the data_meta d/b table isn’t shown unless the row from the idm_usr_meta d/b table is deleted (and pydio cells then restarted).
So, I wonder what the best way is to handle updating metadata/namespace values via web requests?
To update raw file metadata (default metadata values that are stored in the data_meta d/b table like imageheight, name etc), then use the POST /a/meta/set/{NodePath} endpoint, with Body payload like:
Slightly different as you’ll need to first get/know the UUID of the file you’re updating the metadata for. But this way I’ve tested working with a file that has the metadata updated from the frontend webapp and/or programmatically via the API web request.