CollaboraOnline / online

Collabora Online is a collaborative online office suite based on LibreOffice technology. This is also the source for the Collabora Office apps for iOS and Android.
https://collaboraonline.com
Other
1.71k stars 661 forks source link

As IT specialist I want to have a REST API to documents in CooL to automate tasks and link tools #4740

Open nikslor opened 2 years ago

nikslor commented 2 years ago

Is your feature request related to a problem? Please describe.

While discussing #4738 I got reminded about a feature I have in mind since a longer time. It would be great, to make document content easily available for modification through a REST API. This would help in different scenarios, some examples:

Describe the solution you'd like I'd like to have a REST endpoint to easily connect to documents that CooL can manage, the endpoints will differ depending on the document type, some basic examples:

odf/docx

Whereas "3" is the 3rd (or 4th) paragraph/title in the document (maybe there is a better UID that can be used per object in a document, but as an example this should be clear enough).

ods/xlsx

Some general considerations I have in mind as well (all file types)

I'd love to be able to SET/GET/PUT/DELETE data in this way, e.g. to expose collected data as charts in other places like dashboards, insert data into spreadsheets for analytics/data collection purpose, etc.

Describe alternatives you've considered Writing/parsing files using FODF is an option of course, but that's far more complex for simple document modifications to automate manual processes.

Additional context It's important to expose this feature in a very easy way! I imagine to right click an "object" in a document in CooL (e.g. a title, a paragraph, a table, an index, a picture, a cell, a chart, ...) and get an entry in the context menu that leads to a dialog containing the curl command example, the "UID" of the object and the HTTP verb(s) to use for this object. With that information it would be very easy to automate tedious manual tasks.

Andreas-Kainz commented 2 years ago

In a first step I would have to have options to load content for outside and update #fields (writer) or named cells (calc).

E-Groupware offer some "Platzhalter" features, https://www.univention.de/blog-de/2022/01/neu-in-egroupware-21-1/