-
Notifications
You must be signed in to change notification settings - Fork 183
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
[epic] collaboration service #8769
Comments
From #8855
|
Refactor plans around the connector packageOriginally, the operations returned a string representing the expected lockId (if any) the file had in case of a conflict response. This had been enough because the lockId was the only relevant header we needed to use. Furthermore, some of the returned errors came with an HTTP status code that we'd need to use. While this isn't a big problem, we need to check and convert that error, so the code complexity increases. There are 2 main goals for the refactor:
Connector calls will return a pointer to a Response and an error, something like The response will contain the following:
Both headers and body can be The expected response handling should be similar to the following:
That should reduce the complexity from around 8 to 2 (manually counting the complexity of the current similar code piece). Additional things to consider:
|
Refactor plans around the connector package (part 2)For error handling, I think the best option is to just split the code into smaller pieces and move the pieces to custom private functions. For example, the Some additional discarded solutions:
|
@jvillafanez Adding a new feature, like already discussed. Access LoggingBecause of the nature of the Collaboration server, that it bypasses the ocis-proxy service, we are currently "not in the loop" what happens on the endpoints of the collaboration service. From our current experience with a large SaaS Service, a proper access log is vital to provide support to the end users. Requirements
|
Hope this is the right place, when I use "Files" and then rename ... there is no way to do that as of course the file is locked at this time by WOPI. Doing two failed renames ... error message = check your permissions = not good as I am editing it at this time = locked. |
I am missing the "save as" function in collabora @jvillafanez is this by purpose not enabled yet? |
#8769 (comment) |
Correct. We are already working on it. |
"putRelativeFile", "deleteFile", "renameFile" operations have been merged, so they'll be available for the next rolling release. Couple of things to know:
|
Quick refactor plans for the
|
Check list:
Checked with OnlyOffice, and it likely happens with any other apps. When the file is saved after editing, the app (OnlyOffice) waits 5 seconds before starting to convert the document and upload it into the storage. This will take some time, specially if the document is big. From the web UI, after the closing the editor, the file will still appear as locked because the app hasn't unlocked the file yet, but there is no "unlock" event that notifies the web UI
The contents of the
CheckFileInfo
response varies depending on the target WOPI app (MS, OnlyOffice, Collabora, etc). Right now, the response is basically a superset of the properties of those three, and it's adapted to MS in order for the WOPI validator to pass the tests.Some of the information in the
CheckFileInfo
response is used by the apps to customize the editor's behavior, for example, to disable printing. This isn't homogeneous and it depends on the specific apps.Unlikely to be implemented: "putUserInfo", "getShareUrls" and "enumerateAncestors"
Most of them seem to be optional, and probably dependent on the app.
The service currently crashes if there are dependent services not running. It also seems to have problems with the shutdown process, so right now you need to kill the service.
To be investigated:
As performance improvement, it might not be worthy for us.
The WOPI validator has some tests for the "addActivities" operation. I haven't seen any reference of some of them in OnlyOffice nor Collabora documentation, so it's probably MS-only features.
Likely MS-only, and I'm not sure if reva supports somethings similar
The text was updated successfully, but these errors were encountered: