If your system speaks WOPI, it already knows how to talk to us.
WOPI is the protocol Microsoft built for Office Online Server, and it is the protocol Collabora answers. SumOffice answers it too — so for a dozen products the editor is one setting, not an integration project. This page lists that setting per product, says exactly what was measured on each one, and collects the four traps that catch everyone on the first evening.
Why now: Microsoft ends support for Office Online Server on 1 January 2027. Every on-premises SharePoint, and every system that was pointed at OOS, needs another editor before then — and the workbooks those organizations run have macros in them.
The setting, per product
All of them take the same thing from us: the address of our discovery document, https://office.example.com/hosting/discovery.
| Nextcloud | The Nextcloud Office app: wopi_url and public_wopi_url. Three steps and the address rule → |
|---|---|
| ownCloud Infinite Scale, OpenCloud | The collaboration service: COLLABORATION_APP_ADDR. Setup and the six traps → |
| ownCloud 10 | The richdocuments app from their marketplace — the same two settings as Nextcloud. |
| Seafile | seahub_settings.py: ENABLE_OFFICE_WEB_APP, OFFICE_WEB_APP_BASE_URL, and the file-extension lists. Measured setup → |
| SharePoint Server SE / 2019 / 2016 | New-SPWOPIBinding -ServerName office.example.com, over https, with proof keys and a WOPI zone. This is the direct replacement path for Office Online Server. |
| Moodle | The mod_collabora plugin: its Collabora URL field. |
| Filestash | The core plugin plg_editor_wopi, which takes /hosting/discovery. |
| Group-Office | The community wopi module: a service with an arbitrary URL. |
| EGroupware | The collabora application (src/Wopi), shipped in the distribution. |
| Alfresco, Pydio Cells, OpenKM, Nuxeo | All carry a WOPI client of their own (Alfresco through collabora.public.url). We have not run these; say the word and they go to the front of the queue. |
What we measured
Every line below is a completed round on a real installation of that product: a macro workbook and a document with five pictures were uploaded, opened with the product's own button, edited, saved — and the file taken back out was compared byte for byte. Signature verification was on.
| Nextcloud 31.0.14 | Round complete. VBA byte for byte, all five pictures byte for byte, a new file version in Nextcloud. Separately, on 26 September, a workbook edited in the Nextcloud frame came back into the file and Microsoft Excel opened it without a repair dialog. |
|---|---|
| ownCloud Infinite Scale 8.2 | Round complete; four types handed to provider SumOffice. Macros byte for byte. (See the note under this table about which workbook the rounds used.) Setup and traps → |
| OpenCloud 8.0.1 | Round complete, and the refusal path checked from the other side: the same request with a missing or corrupted signature is rejected with 500. Zero refusals on our own requests. |
| ownCloud Classic 10.15 | Round complete through the richdocuments app. This one handed us a difference — it reports the write right as a number rather than a true/false — which our editors now handle. |
| Seafile Pro 12.0.25 | Round complete for .xlsx and .docx, with a new revision in Seafile's history. Limitation, and it is Seafile's side: its web editor does not open .xlsm or .xlsb — that list is fixed in the product. Measured setup → |
| Moodle 5.0.10 (mod_collabora 5.0.3) | Round complete inside a course activity; the editor is picked by file type. VBA byte for byte, five pictures byte for byte. |
| Filestash | Round complete for .xlsx and .docx from the interface, and for .xlsm through the WOPI window. Filestash has no file locking, so the editor works without it. |
| Group-Office 26.0 | Round complete through the community wopi module — configuration only, no code. |
| EGroupware | Round complete through its Collabora application. Worth knowing: it reads only the first zone of a discovery document and caches a failed one for an hour. Ours accounts for that. |
| SharePoint Server Subscription Edition 16.0.14326 | Round complete with eight WOPI bindings (Word DOCX, Excel XLSX/XLSM/XLSB, view and edit). The save landed: PutFile 200, WOPI PutFile Success in the ULS log, new versions in the library. SharePoint verified 13 signatures with zero refusals. This is the seat Office Online Server is leaving. |
About the workbook these rounds used, because you should not have to ask. The rounds above ran on a small fixture workbook from our test corpus. We checked that fixture itself in Microsoft Excel, before any round: it asks to be repaired on its own — it is a minimal file, not a healthy one. So these rounds prove what they prove — the file travels through the host and comes back with its VBA and its pictures identical, and the edit in place — and they do not prove «Excel opens it without a word». That claim we make only where we ran it on a real workbook and opened the result ourselves: Nextcloud and Seafile. The same rounds are being repeated on a real workbook for the rest, and the results will land here.
Where we wrote the connector ourselves
These products have no office-editor slot to fill, so the connector is ours. Each one carries a WOPI host inside the product: signed tokens, signature checks, CheckFileInfo, GetFile, PutFile, locks.
| Odoo 18 | Module sumoffice_wopi — an Open in SumOffice button on chatter attachments. Round complete on .xlsm and .docx, every call 200 with signature verification on. |
|---|---|
| EspoCRM 9.2.4 | Extension with a button on document files. Round complete. |
| SuiteCRM 8.9.1 | Module Loader package. Round complete. |
| Frappe / ERPNext 15.97 | App sumoffice. Round complete. |
| Redmine 6 | Plugin. Round complete. |
| Rocket.Chat 7.10 | Apps-Engine app with a bridge. Round complete. |
Two more — ILIAS 11.4 and Mattermost 10.11 ESR — complete their rounds on our stand with editor fixes that have not shipped in the published images yet. They will appear here when those images are out, and not before.
The four traps
Different products, the same four evenings lost. Written down so you lose none of them.
| Proof keys | Strict hosts — Infinite Scale and SharePoint among them — verify the signature on every request. Two editors behind one discovery must sign with one key. Ours do; with verification on, refusals were zero. If a host suddenly answers 502 in the frame, this is the first thing to check. |
|---|---|
| Actions keyed by extension | Some hosts match actions by file extension, not by MIME name. An action declared without ext= is simply invisible — xlsm does not appear in the list at all, and nobody tells you why. |
| https, or one origin | The editor runs in a frame from another address, so its session cookie is a cross-site cookie — browsers accept those only over https. On plain http the editor accepts the token and then asks the user to sign in. Either put the editors behind TLS, or serve the host and the editors from one origin. |
| Cached discovery | Every host caches our discovery document, and several cache it in two places at once — on disk and in memory. After you change the address, overwrite the cached copy and restart the host process; deleting the cache file makes Nextcloud, for one, answer 500. |
What travels with the file
.xlsx/.xlsm/.xlsband.docxare edited and saved back natively — the VBA project, the defined names, the queries and the pictures come back as they went in.- Nothing leaves your servers: the editors run in your own Docker, the host stays the WOPI host, and we never see the files.
- One editor per document at a time; a second person opens it read-only. Presentations: SumPoint, December 2026.
Before you move a department, run its workbooks through Check my Excel file: it names every macro, every function and every data source the engine knows or does not know, in seconds, without running anything.
- Name your host — if it is on the lower row above, we will run it and publish the numbers.
- Order a change under your process — your SSO, your storage rules: from 150 €, price and date before we start.