Files
nextcloud-collabora-nodered/docs/NODES.md
T
root 4fb614be87 Add node docs, collabora purple UI, and portable install env
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.
2026-08-22 17:10:34 +02:00

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-bridge ncFileToPdf
  • Fylla mall i NC → fillTemplateSave eller nc-office template:fillFields
  • Öppna i webbläsaren → nc-office document:direct
  • Bara byta format i minnet → collabora-convert
  • Se fältnamn → collabora-extract eller bridge extractToPayload
  • Kolla att CODE lever → collabora-wopi capabilities

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.