Vai al contenuto

Newsboard Integration

Integrazione SafeOps -> services/newsboard_viewer.

Entry point UI

  • Lista clienti: azione Apri Newsboard
  • Quick info cliente: pulsante Apri Newsboard

La route SafeOps è ClienteView.open_newsboard e:

  1. risolve il tenant corrente
  2. carica documenti e allegati del cliente
  3. normalizza il payload per il microservizio
  4. crea una sessione board su NEWSBOARD_VIEWER_URL
  5. fa redirect verso la board con session_id e tenant_id

Tipi file supportati

  • pdf -> route SafeOps firmata /newsboard/source?token=...
  • immagini (png, jpg, jpeg, gif, webp, bmp, tif, tiff) -> route SafeOps firmata /newsboard/source?token=...
  • file Office/OpenDocument (doc, docx, odt, rtf, txt, xls, xlsx, ods, csv, ppt, pptx, odp) -> stessa route SafeOps firmata, con conversione on demand in PDF via servizio Collabora (DOC_EDITOR_SERVICE_URL)

I file con estensioni non supportate vengono ignorati nel payload MVP.

Config

Aggiunte in config.py:

  • NEWSBOARD_VIEWER_URL
  • NEWSBOARD_PRESIGNED_EXPIRY_MINUTES
  • NEWSBOARD_PREVIEW_TOKEN_MAX_AGE_SECONDS

Note operative

  • Tutti i file passano da una route SafeOps firmata, quindi la board non dipende da URL MinIO pubblici o da hostname interni.
  • Le preview Office sono stateless e non richiedono cookie utente: il token firmato scade automaticamente.
  • Il frontend newsboard_viewer ora supporta ?session_id=...&tenant_id=... per aprire una sessione già creata da SafeOps.