DEV Community

Cover image for OpenSparrow v4.2 adds native Excel export, column masking for viewers
Tomasz
Tomasz

Posted on

OpenSparrow v4.2 adds native Excel export, column masking for viewers

OpenSparrow v4.2 adds native Excel export, column masking for viewers, and record‑tooltips in drilldowns — plus a handful of UI polish and stability fixes.

Native Excel export

The record grid, public share links, saved views and the mass‑edit “Export Selected” panel can now download a real .xlsx workbook alongside the existing CSV. The workbook is built completely in the browser by a dependency‑free writer (public/assets/js/export_xlsx.js) that emits a valid OPC package:

  • Typed cells for numbers, booleans and dates
  • XML‑escaped text and sanitized sheet names (max 31 chars)
  • Required docProps/core.xml and docProps/app.xml parts

The UI now shows an Export Excel button (also in the mobile actions menu), views and share pages render one next to Export CSV, and the mass‑edit panel adds a Format radio (CSV / Excel) that switches the download label. All new strings are translated in every one of the 20 languages.

Viewer column masking

A column can be flagged in the schema editor (Schema → table → column → Mask value for Viewer) to hide its value from frontend Viewer accounts. The column stays visible everywhere, but every value is replaced with the ••••• placeholder:

  • Grid, drill‑down sub‑tables, record form, board cards, calendar events, roadmap bars, dashboard lists and group/time‑series labels
  • M2M option labels, FK __display labels, and public share links

Masking is enforced server‑side – the raw value never leaves the backend for a Viewer – while Editors and Admins see the real data. The flag lives in the schema configuration (columns.<col>.mask_for_viewer) and requires no migration; the schema editor marks such columns with a warning badge.

Record tooltip in drilldowns

Hovering a child row inside an expanded drill‑down now shows the same record tooltip as grid cells, with the child’s title and its configured columns. The tooltip logic was refactored to use a monotonic show token, eliminating race conditions between overlapping hovers.

Also in this release

  • XLSX export hardening – object‑URL revocation is now deferred (setTimeout(…, 0)) so Firefox no longer cancels a download before it starts, and every download site (grid, views, mass‑edit CSV, share) uses the shared downloadBlob helper instead of hand‑rolled <a> + URL.createObjectURL code.
  • Tooltip hide race fixed – a stale hide timer could dismiss a tooltip that a newer hover had just shown; the new token‑based approach guarantees the correct tooltip stays visible.

Following this series?

OpenSparrow v4.1 adds optional two‑factor login by email, streaming answers in Ask AI, and PostgreSQL views to the External API

Websites

https://opensparrow.org

Top comments (0)