stable

Clone or download

Read-only

Pass a "Tuleap save token" to the ONLYOFFICE callback URL

This will allow Tuleap to set some limits on what ONLYOFFICE can update. For now, the token is given and retrieved but we do nothing useful with it. To test: 1. Start ONLYOFFICE in your dev stack 2. Enable the feature flag with `tuleap config-set feature_flag_onlyoffice_edit_document 1` 3. Open a document you can edit into ONLYOFFICE 4. Do some changes in the document and then close only ONLYOFFICE 5. After a few seconds you should see the "save token" data (user ID, item ID and version ID) and the JSON info sent by ONLYOFFICE in the Tuleap logs Part of story #28263: edit office document stored in Document Change-Id: Id1f231d2c1dc9fe037dd55be7636b5c6091f98bf

Modified Files

Name
M plugins/onlyoffice/db/install.sql +10 −1 Go to diff View file
A plugins/onlyoffice/db/mysql/2022/202210241111_create_save_document_token_table.php +45 −0 Go to diff View file
M plugins/onlyoffice/db/uninstall.sql +1 −0 Go to diff View file
M plugins/onlyoffice/include/Open/Editor/OnlyOfficeDocumentConfig.php +23 −3 Go to diff View file
M plugins/onlyoffice/include/Open/Editor/OnlyOfficeDocumentConfigProvider.php +1 −8 Go to diff View file
M plugins/onlyoffice/include/Open/Editor/OnlyOfficeEditorConfig.php +2 −2 Go to diff View file
M plugins/onlyoffice/include/Open/Editor/OnlyOfficeGlobalEditorJWTokenProvider.php +7 −4 Go to diff View file
A plugins/onlyoffice/include/Save/OnlyOfficeSaveCallbackURLGenerator.php +50 −0 Go to diff View file
M plugins/onlyoffice/include/Save/OnlyOfficeSaveController.php +19 −3 Go to diff View file
A plugins/onlyoffice/include/Save/OnlyOfficeSaveDocumentTokenDAO.php +61 −0 Go to diff View file
A plugins/onlyoffice/include/Save/OnlyOfficeSaveDocumentTokenGenerator.php +31 −0 Go to diff View file
A plugins/onlyoffice/include/Save/OnlyOfficeSaveDocumentTokenGeneratorDBStore.php +68 −0 Go to diff View file
A plugins/onlyoffice/include/Save/OnlyOfficeSaveDocumentTokenVerifier.php +53 −0 Go to diff View file
A plugins/onlyoffice/include/Save/PrefixOnlyOfficeDocumentSave.php +36 −0 Go to diff View file
A plugins/onlyoffice/include/Save/SaveDocumentTokenData.php +33 −0 Go to diff View file
A plugins/onlyoffice/include/Save/SaveDocumentWithTokenMiddleware.php +68 −0 Go to diff View file
M plugins/onlyoffice/include/onlyofficePlugin.php +43 −12 Go to diff View file
A plugins/onlyoffice/tests/integration/Save/OnlyOfficeSaveDocumentTokenDAOTest.php +64 −0 Go to diff View file
M plugins/onlyoffice/tests/unit/Open/Editor/OnlyOfficeDocumentConfigProviderTest.php +14 −13 Go to diff View file
M plugins/onlyoffice/tests/unit/Open/Editor/OnlyOfficeGlobalEditorJWTokenProviderTest.php +27 −3 Go to diff View file
A plugins/onlyoffice/tests/unit/Save/OnlyOfficeSaveCallbackURLGeneratorTest.php +97 −0 Go to diff View file
A plugins/onlyoffice/tests/unit/Save/OnlyOfficeSaveDocumentTokenGeneratorDBStoreTest.php +84 −0 Go to diff View file
A plugins/onlyoffice/tests/unit/Save/OnlyOfficeSaveDocumentTokenVerifierTest.php +83 −0 Go to diff View file
A plugins/onlyoffice/tests/unit/Save/PrefixOnlyOfficeDocumentSaveTest.php +34 −0 Go to diff View file