Human-readable help in all six palette nodes, docs/NODES.md with usage examples, expanded example flows, and auto-detect NODERED_DIR plus CODE bridge IP from .env on any VM. Co-authored-by: Cursor <cursoragent@cursor.com>
5.0 KiB
Noder — nextcloud collabora
Sex flödesnoder i paletten + en config. Alla sex pekar på samma nc-collab-config (kugghjul, inte i paletten). Utan config händer inget.
Backends
| Backend | Typisk adress | Roll |
|---|---|---|
| Nextcloud | https://cloud.hannesahlin.se |
Filer (WebDAV) + Office-API (OCS) |
| Collabora CODE | https://172.17.0.2:9980 |
Konvertering (/cool/...) på Docker bridge |
Auth: användarnamn + app-lösenord. Inte kontolösen.
Standardutdata om du inte anger sökväg: /Dokument/OfficeOut/
Så hänger de ihop
nc-collab-config (URL + app-lösen)
│
┌────┼────┬────────────┐
▼ ▼ ▼ ▼
collabora-* nc-office collabora-wopi collabora-bridge
(direkt CODE) (NC OCS) (health/WOPI) (kedjor + sparar)
Tumregel
- PDF i Nextcloud →
collabora-bridgencFileToPdf - Fylla mall i NC → fillTemplateSave eller
nc-office template:fillFields - Öppna i webbläsaren →
nc-officedocument:direct - Bara byta format i minnet →
collabora-convert - Se fältnamn →
collabora-extracteller bridge extractToPayload - Kolla att CODE lever →
collabora-wopicapabilities
Gemensamma fält i msg
| Fält | Betydelse |
|---|---|
ncPath |
Sökväg i användarens filer, t.ex. /Dokument/avtal.docx |
fileId |
NC fil-id (slås upp från ncPath om saknas) |
payload |
Rådata redan i flödet (Buffer eller HTML) |
format |
pdf, png, docx, html, … |
destNcPath |
Exakt målsökväg |
destFolder / destName |
Mapp + namn (default /Dokument/OfficeOut/) |
fields / transform |
JSON att skriva in i mall |
templateNcPath |
Extra mall till convert |
compareNcPath |
Gammal version för diff-PDF |
operation |
Överstyr dropdown på noden |
Fel → msg.error + röd nod. Flödet dör inte tyst.
1. collabora-convert
Gör om fil till annat format via CODE. Sparar inte i Nextcloud — utdata i msg.payload (Buffer).
In: msg.payload eller WebDAV GET msg.ncPath. Valfritt templateNcPath, compareNcPath, format.
Ut: payload, filename, format, contentType, statusCode.
inject { ncPath: "/Dokument/avtal.docx", format: "pdf" }
→ collabora-convert → debug
2. collabora-extract
Lista struktur (content controls, fält …). JSON ut, ingen fil.
In: samma källa som convert. Filter: nod eller msg.filter (default contentcontrol).
inject { ncPath: "/Mallar/avtal.docx" }
→ collabora-extract → function → collabora-transform
3. collabora-transform
Skriv värden i dokument via CODE. Kräver msg.fields eller msg.transform.
msg.ncPath = "/Mallar/avtal.docx"
msg.fields = { "Kund": "AB Exempel", "Datum": "2026-08-22" }
→ collabora-transform
Spara själv efteråt om filen ska ligga i NC.
4. collabora-wopi
Hälsokoll och WOPI — inte konvertering.
| Operation | Syfte |
|---|---|
capabilities |
Första test att CODE svarar |
discovery |
mime → editor-URL |
buildEditor |
wopiSrc + token → editorUrl |
checkFileInfo / getFile |
Felsökning |
Publik editor-URL går via Nextcloud (collaboraPublicUrl), inte intern IP.
5. nc-office
Nextcloud richdocuments OCS — mallar, fält, editor-URL, assets.
| Operation | Kort |
|---|---|
templates:list |
Lista mallar |
templates:create |
Ny fil från mall |
template:extractFields |
Fält-JSON via NC |
template:fillFields |
Fyll + spara i NC |
document:direct |
editorUrl för inloggad användare |
document:public |
Samma med shareToken |
files:convert |
NC → NC konvertering |
assets:create |
Infogningslänk till öppen editor |
inject { ncPath: "/Dokument/avtal.docx" }
→ nc-office (document:direct) → debug editorUrl
6. collabora-bridge
Färdiga pipelines — det mesta i vardagsflöden.
| Operation | Gör |
|---|---|
ncFileToPdf |
NC-fil → PDF i OfficeOut |
ncFileToPng |
Förhandsvisning |
ncFileToHtml |
HTML-export |
htmlToOffice |
HTML → docx/pdf … |
fillTemplateSave |
Mall + fält → spara i NC |
compareVersionsPdf |
Diff-PDF |
extractToPayload |
Fält-JSON i msg |
createAssetLink |
assetUrl |
inject { ncPath: "/Dokument/avtal.docx" }
→ collabora-bridge (ncFileToPdf)
→ debug destNcPath
Efter bridge kan du koppla dina befintliga OCS-noder (Talk, Mail, dela länk): först PDF i /Dokument/OfficeOut/, sedan dela.
Config: nc-collab-config
Skapas under kugghjul i Node-RED. Alla sex noder väljer samma config-instans.
| Fält | Exempel |
|---|---|
| nextcloudUrl | https://cloud.hannesahlin.se |
| collaboraUrl | https://172.17.0.2:9980 (bridge-IP, verifyTls=false) |
| collaboraPublicUrl | https://cloud.hannesahlin.se |
| username + app-lösenord | Nextcloud-inloggning |
IP för CODE detekteras vid ./install.sh — se .env.example.