Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modifying categories via smart folder not over REST API not working #2428

Open
AlgoJerViA opened this issue Feb 2, 2024 · 1 comment
Open

Comments

@AlgoJerViA
Copy link

Using the REST API it is not possible to modify the categories of a node when referred to with a smart folder node ref. This problem is apparent when using Digital Workspace UI (ACA) that depends on the API calls.

This behavior of the API can be observed since the introduction at Alfresco 7.4.

Step to replicate:
Download a new SDK and enable smart folders in the global properties.
Build and start the SDK.
Use Share interface to create a new folder and make it a smart folder.
Find a document's smart folder reference.
Make the API call:

curl -X POST "http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/nodes/ { the smart noderef} /category-links" -H "accept: application/json" -H "authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -d "{ "categoryId": "79c8cf75-a4a2-48b4-b2da-67e4dbf51d15"}"

Observe the result:

{
"error": {
"errorKey": "Current user does not have change permission to content",
"statusCode": 403,
"briefSummary": "01020004 Current user does not have change permission to content",
"stackTrace": "For security reasons the stack trace is no longer displayed, but the property is kept for previous versions",
"descriptionURL": "https://api-explorer.alfresco.com"
}
}

@AFaust
Copy link
Contributor

AFaust commented Sep 12, 2024

The reason for this is that changes to nodes exposed via smart folders have always had additional restrictions / checks applied to them. In essence, most update permissions are intrinsically denied for "smart nodes". You can see that in

public AccessStatus execute(VirtualProtocol virtualProtocol, Reference reference) throws ProtocolMethodException
and the configuration of

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants