Download
=OPEN(your_workbook.xlsm, ownCloud)
Running Infinite Scale?

oCIS opens your macro workbooks with our engine.

Infinite Scale talks to office editors over WOPI, through its own collaboration service — the same door Collabora and Microsoft use. SumOffice answers that protocol, so the editor is configuration on the oCIS side, not a patch to it. Below is the stand we ran on 24 September 2026, the numbers we measured, the six things that will bite you, and — plainly — what we have not measured yet.

What was measured

StandoCIS 8.2.0 in Docker on a laptop, native arm64, no emulation; SumSheet and SumDoc behind one https address; a real macro workbook (cashflow-2026.xlsm, 19 204 bytes, VBA).
oCIS sees us/app/list returns four types — docx, xlsx, xlsm, xlsb — from provider SumOffice.
The WOPI roundCheckFileInfo 200 in 182 ms (UserCanWrite: true, SupportsLocks: true), GetFile 200, 19 204 bytes, 12 ms; Lock / PutFile / Unlock 200 / 200 / 200, the write itself 24 ms.
Time to a ready sheetEditor frame 200 in 13 ms; the editor page 10.0 MB in 0.43 s; the workbook itself ready in 671 ms. From /app/open to a ready page: about 1.5 s.
Signatures verifiedoCIS checks the proof key on every request and refuses anything that does not match. With verification on: zero refusals. This took a fix on our side — see below — and it is the part most editors quietly skip.
Not countedPeople, spaces, documents. Evaluation is free with no time limit; production is the per-application license.

What we have not measured yet

So you can tell our evidence from our hopes:

  • Editing a cell in the browser and pressing Ctrl+S on this stand: here the write path is proven by PutFile returning 200 with the engine's bytes.
  • A second stand did complete the full round through the oCIS interface, with the macros identical byte for byte. It used a small fixture workbook from our test corpus, and we have since checked that fixture in Microsoft Excel on its own: it asks to be repaired before any round touches it. So that round proves the file travels and comes back intact; it does not prove Excel opens it silently, and we are not going to say it does until the round is repeated on a real workbook. We have that measurement today for Nextcloud and for Seafile.
  • The .docx round on this stand (SumDoc is up and announced, but was not exercised here), simultaneous editing, and .ods.

Step 1 — start the editors, on https

oCIS refuses to run on plain http at all — its identity provider requires an https issuer — so your editor address has to be https too, or the browser blocks the frame as mixed content. Same compose as for any WOPI host: two editors behind one address and one merged discovery.

mkdir sumoffice-ocis && cd sumoffice-ocis
git clone https://github.com/SumOfficeApp/sumoffice-docker && cd sumoffice-docker/nextcloud   # the same compose serves oCIS
cp env.example .env    # PUBLIC_URL=https://office.example.com
docker compose up -d
curl -s $PUBLIC_URL/hosting/discovery | head -c 300

Step 2 — point the collaboration service at us

The collaboration service is not started by ocis server; you run it separately, from the same image.

COLLABORATION_APP_NAME=SumOffice
COLLABORATION_APP_ADDR=https://office.example.com
COLLABORATION_APP_PRODUCT=Collabora
COLLABORATION_WOPI_SRC=https://wopi.example.com

It needs NATS from the oCIS container (NATS_NATS_HOST=0.0.0.0) and the data gateway at the very address oCIS knows itself by (https://…:9200/data). On our stand the service shared the oCIS network namespace; in production it is a separate node with the right OCIS_URL.

Six things that will bite you

Proof keysoCIS verifies the signature of every request. Two editors must sign with one key, because discovery publishes one. We shipped that fix — a single canonical key for the whole stack, taken from SUMOFFICE_WOPI_PROOF_KEY or generated once into a shared volume. With older images you will see ProofKeys verification failed: Invalid timestamp and a 502 in the frame; COLLABORATION_APP_PROOF_DISABLE=true hides it on a stand and should never be used in production.
oCIS keys actions by file extensionActions declared by MIME name only, without ext=, do not appear at all — xlsm was simply missing from /app/list until the discovery carried ext="xlsm".
APP_PRODUCT=Collabora expects one action per extensionIf both view and edit are declared, oCIS may take view — and your people get a silent read-only editor. Check the mode on .docx before you roll out.
The allowlist is a host name, not a URL--wopi-allow ocis. Give it http://ocis:9300 and our facade answers 403.
nginx caches the container addressAfter you recreate an editor container the front answers 502 until it is restarted. Use a resolver, or restart the front after every image update.
The collaboration service is separateIt does not come up with ocis server; if the editor never appears in oCIS Web, check that this service is running before you check anything else.

Step 3 — open a workbook

  • In oCIS Web, open any .xlsx or .xlsm. The first document takes a moment while its process starts; the next ones are faster.
  • Edit and save: the file goes back through WOPI and oCIS keeps the previous version.
  • Download it and open it in Excel: the VBA project and the formulas are the ones you put there.

OpenCloud and ownCloud 10

OpenCloud is a fork of Infinite Scale and uses the same collaboration service, so this page is its setup too. We ran the full round on OpenCloud 8.0.1: workbook and document opened, edited, saved back, VBA and pictures byte for byte — and we checked the refusal path from the other side, sending the same request with a missing or corrupted signature, which the host rejects with 500.

Classic ownCloud 10 is a different door: the editor arrives through the richdocuments app, the way it does in Nextcloud, so the settings look like the Nextcloud page. The round is complete on 10.15. One difference is worth knowing if you write your own client: ownCloud 10 reports the write permission as a number rather than a true/false, which our editors now handle.

Scope today

  • Spreadsheets and documents: .xlsx / .xlsm / .xlsb and .docx are edited and saved back natively; .ods / .odt open by import and save as .xlsx / .docx.
  • Macros and Power Query travel with the file untouched; the queries refresh in the desktop SumSheet.
  • 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.

Then

SumOffice assistant

Answers are assembled from the documentation and may be inaccurate — check the sources.