I have no support/technical question and have seen the support category. (Be aware that direct support questions will be deleted.)
on
Which general topic do you have
Hi all — I’m the maker of SumOffice. We wrote our own engines for .xlsx/.xlsm and .docx (Rust, no LibreOffice or Office inside) and this month we made them a WOPI server for Nextcloud through the standard Nextcloud Office (richdocuments) app — nothing in Nextcloud is patched, SumOffice just presents itself the way Collabora does. The point: a workbook with macros opens from Files, is edited, saved back, and afterwards opens in Excel with its VBA project byte for byte. Same for a Word document with pictures.
Sharing the how-to here because the forum is where I found most answers while doing it.
Step 1 — start the editors (Docker)
mkdir sumoffice-nextcloud && cd sumoffice-nextcloud
for f in docker-compose.yml nginx.conf start-sumsheet.sh discovery.py env.example; do curl -sO https://sumoffice.com/files/nextcloud/$f; done
cp env.example .env # PUBLIC_URL=https://office.example.com NEXTCLOUD_URL=https://cloud.example.com
docker compose up -d
curl -s $PUBLIC_URL/hosting/discovery | head -c 300
Images: hissih/sumsheet-webhost (spreadsheets) and hissih/sumdoc-webhost (documents). One address with /f1 and /a4 because Nextcloud’s CSP allows exactly one origin for the editor frame; the small discovery.py merges the two editors’ WOPI discovery into one.
Step 2 — point Nextcloud at them
php occ app:install richdocuments
php occ config:app:set richdocuments wopi_url --value https://office.example.com
php occ config:app:set richdocuments public_wopi_url --value https://office.example.com
php occ richdocuments:activate-config
If you change the address later: Nextcloud caches the old discovery — delete data/appdata_*/richdocuments/remoteData/discovery and restart PHP. (That one cost me an hour.)
Step 3 — open a workbook
Click any .xlsx/.xlsm in Files → the editor opens in the Nextcloud window (first document takes a few seconds while its process starts). Ctrl+S or close → the file goes back through WOPI, Nextcloud keeps the previous version. Download and open in Excel: VBA project and formulas are what you put there.
What we measured
Macro workbook from the public Enron corpus (2 sheets, 861 cells, 197 formulas, VBA): 4.3 s from the click in Files to a ready sheet, recalculation on open 126 ms, save back < 1 s. Saved file: 14 parts of 14, vbaProject.bin identical, 197 formulas of 197, defined names kept, Excel opens it without a repair dialog. A DOCX with five pictures (jpeg, png, wmf, emf, pict): 16 parts of 16, media identical, Word opens it clean.
Scope today (honest list)
- .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; queries refresh in the desktop app, inside Nextcloud they are preserved.
- One editor per document at a time; a second person gets it read-only. Real-time co-editing is on the roadmap, not here yet.
- No presentations yet.
Full page with the files and the numbers: Live Excel inside Nextcloud — three steps. A small installer app (sumoffice, AGPL) that sets the richdocuments values from the admin page is on its way to the app store; until it lands there, the three commands above do the same.
Evaluation is free with no time limit. Questions, files that break, opinions on the approach — very welcome here.