Skip to content

FiberQ v1.4.0

Latest

Choose a tag to compare

@vukovicvl vukovicvl released this 19 Aug 19:05
· 2 commits to main since this release
07b8c12

Project validation: find the problems before the client does.

Validate project runs fourteen checks over the whole design and lists what it finds in a dockable panel — filter by severity, layer or rule, click any issue to jump straight to it on the map, and export the run as a report.

New

  • Fourteen validation rules — topology and connectivity, referential integrity, feature identity, required attributes, value domains, length coherence, CRS consistency and geometry health. Rule ids (A1, D3, …) are stable and untranslated everywhere, so you can filter on them and quote them in a ticket.
  • A results panel that tells you what it looked at. Errors sort to the top; filters only offer values actually present; a clean run reports its scope ("no issues — 14 rules over 15 layers") rather than a bare "OK". A rule that crashes is named instead of passing silently, and a run where every rule failed is never reported as a clean project.
  • Audit-ready reports — export a run as self-contained HTML (handover and audit files; no internet needed, prints cleanly), JSON (machine-readable, stable keys, format_version) or CSV (spreadsheets and issue trackers).
  • Recalculate lengths… — rewrites stored lengths that disagree with the drawn geometry. It shows exactly what will change before writing anything, skips layers with unsaved edits, and never touches your slack values.

Fixes

  • True ground metres, everywhere. Lengths are now measured on the project ellipsoid. Routes and cables previously stored the length in map units, which in Web Mercator is inflated by 1/cos(latitude) — about 41 % at Serbian latitudes, 55 % in the Netherlands, 86 % in Finland. Pipes were already correct, so a trench and the duct inside it could disagree by that margin in the same project, and a bill of materials over-ordered cable to match. New features are measured correctly; run Recalculate lengths… to repair existing ones.
  • The fiber break tool accepted a click near any line, so a break could be recorded against a route or a duct and stored as if it were on a cable. It now targets cable layers only, and B1/B2 report the bad references already sitting in your projects.
  • Placing an extension or a fiber break no longer creates an empty "Poles" layer as a side effect.
  • Shipped layer styles named "MS Shell Dlg 2", a Windows-only font, so every Linux and macOS user got substituted label fonts and a warning per layer on load. They now use the portable "Sans Serif".
  • Opening a QGIS 4 project in QGIS 3 no longer re-runs the schema migration. QGIS 4 stores project properties in a form QGIS 3 cannot read, so the schema marker now falls back to the copy in the GeoPackage. Validation also reports a project left with no CRS, which is what that same QGIS limitation does to a downgraded project.
  • The About dialog showed the wrong version, and Validate project shared the health check's toolbar icon.

Documentation

  • User guide — running a validation, reading the panel, exporting a report, and repairing stored lengths.
  • Rule reference — every rule: what it checks, why it matters in the field, and what to do about a finding.
  • Demo project — a small, deliberately imperfect design where twelve of the fourteen rules fire, each from exactly one planted fault, alongside the report it produces. tests/test_sample_report.py fails the build if the committed report no longer matches a fresh run, so the published sample cannot go stale.

Translations

The plugin is now translatable — English source catalogue and tooling in place. docs/TRANSLATING.md assumes no programming, Git or terminal experience. Partial translations are welcome and ship as-is; anything you leave stays in English. Claim a language →

Quality

  • Clean plugins.qgis.org Security & Quality scan: Bandit (all severities), secrets detection, flake8, file permissions and suspicious files — 0 findings across all five — and the Qt6 compatibility check passes.
  • pytest green on QGIS 3 / Qt5 and QGIS 4 / Qt6 in CI.
  • Manually verified end to end on QGIS 3.40 (Qt5) and QGIS 4.2 (Qt6) across four projects — from-scratch, cross-version, a migrated pre-1.0 project, and the demo — in both a projected national grid and Web Mercator, with drawn geometry checked against the QGIS measure tool. Nine defects were found that way and fixed, each with a regression test.
  • Validation of a 25,500-feature project completes in about two seconds.

Targets QGIS 3.22 LTR → QGIS 4 / Qt6.


The validation engine and its reporting were developed with support from the NLnet NGI0 Commons Fund. The length-measurement fix, the stray-layer fix, the i18n groundwork and the support links were not funded by it.

If FiberQ saves you time, you can help fund its development: GitHub Sponsors · other ways to give.