[general]
name=Seranta - FTTH Design Assistant
qgisMinimumVersion=3.22
qgisMaximumVersion=4.99
version=3.5.9
author=Joseph Edward Timothy Siahaan
email=edwardtimoo@gmail.com
description=FTTH/GPON design assistant: turns field-survey data (homepass spreadsheet + KMZ) into ready-to-use input for automatic network-design software, checks survey quality before design, estimates FDT/FAT allocation, produces post-design tables, and runs a rule-based QC of the final design package with plain-language HTML reports.
about=Seranta (from "serat", fibre, and "Nusantara") turns the manual steps of preparing and reviewing an FTTH (GPON) access-network design into a repeatable, documented process inside QGIS. It is built for designers who survey homepasses and poles in the field and design the network with automatic design software.
  Tool 1 – Prepare design input + survey QC (before design): homepass spreadsheet (XLSX/CSV) to a homepass layer with automatic IDs; cluster KMZ to a pole KMZ and a road layer snapped and split at poles; nine review standards (homepass-to-pole distance, other service boundaries, administrative area, spreadsheet vs KMZ and duplicates, service boundary, design status, FDT colocation, community-permit document, pole spans); engineering-based pole rules (span, mid-span clearance, bends); efficiency hints.
  Tool 2 – FDT & FAT allocation estimate: FATs grouped along the cable route, nearest existing FDT with spare capacity, new FDT proposals, worst-case link budget.
  Tool 3 – Post-design: FDT-FAT code table from the design export and splice plan; colour-coded (TIA-598) fibre/tube table for every closure; post-design checks.
  Tool 4 – Design package QC: served status, FAT coverage, cable ends, FDT/FAT hierarchy and capacity, FDT in Feeder and Distribution packages, BOM reconciliation, FAT-homepass distance, codes, devices on poles, spans, idle poles, slack, KMZ conventions, plus seven package rules (FDT codes, premises and splitters, properties vs code table, existing poles vs a reference pole layer, pancingan and closure ratios, devices and pancingan on poles). Every rule reports PASS, ERROR, WARNING, INFO or UNVERIFIED; missing data is never counted as a pass.
  Reports people understand: every HTML report opens with one plain sentence on what to do, and every rule explains what was checked, why it matters and what to do; every finding is written in plain language with a map link, and the technical detail sits underneath. Fonts are embedded (works offline, prints to PDF).
  Your own standards: thresholds live in JSON profiles with the source and approval status of every number. Organisation profiles can be kept outside the plugin (QGIS profile folder seranta/profiles, setting seranta/profile_dir or the SERANTA_PROFILE_DIR environment variable) so plugin updates never overwrite them.
  Requirements: QGIS 3.22 LTR up to 4.x (Qt5/Qt6), Windows, Linux or macOS. No extra Python packages, no internet connection and no user account needed. The automatic design software is a separate product and is not included. User interface and reports are in Indonesian.
  Copyright © 2026 Joseph Edward Timothy Siahaan. Code licensed under GNU GPL v2 or later; embedded fonts Inter and Poppins under the SIL Open Font License 1.1. Results support, not replace, the designer's and reviewer's judgement.
category=Vector
icon=icon.png
tags=ftth,gpon,fiber,fibre optic,fttx,telecommunication,network design,autodesign,homepass,pole,quality control,qc,processing,kmz,indonesia
homepage=https://github.com/jetstimo/seranta
tracker=https://github.com/jetstimo/seranta/issues
repository=https://github.com/jetstimo/seranta
hasProcessingProvider=yes
experimental=False
deprecated=False
server=False
changelog=3.5.9 Duplicate rules learned from the QC team review (Jambi, Pasir Putih): a survey label (?327-style sequence numbers from the survey app, or a business/building name) identifies one house, so the same label in two places is one house recorded twice even when the point has moved. Tiered matching: same coordinates <= 0.5 m; same survey label or business name <= 25 m (25-50 m = WARNING: duplicate or mistyped label); same plain house number <= 15 m, or <= 30 m on the same street; near-identical names (typo, >= 85 percent) <= 30 m and two differently labelled points <= 2 m (one building) as WARNING; empty house number 0.5-5 m as INFO. The same label rule now also runs inside one cluster (new finding HP_DUPLIKAT_LABEL). In a stress test with every point moved 10-25 m at random, all 16 cross-cluster duplicates of RT 22 were still found. New profile parameters cross_label_match_m, same_street_match_m, cross_fuzzy_match_m, same_building_m. Rule version 2026.10-r7.
    3.5.8 Cross-cluster QC in tool 1, from a client review in Jambi (Pasir Putih RT 05/22/23): sub-clusters of one survey area sit inside ONE parent Funnel polygon, so the Funnel check could not see that the same house was submitted in two clusters. Tool 1 now reads the other cluster folders next to the cluster (same parent folder, batch folder, or an optional comparison folder) and reports: the same house in a sibling cluster (same coordinates, or same house number/name within GPS error 15 m) as ERROR with advice which cluster should keep it (inside whose BOUNDARY, whose pole is nearer); a homepass more than 10 m inside a sibling cluster BOUNDARY as ERROR (within 10 m as edge note); overlapping BOUNDARY polygons with homes inside the overlap as WARNING; a cluster ID used in another cluster's file names. Sibling boundaries and homepasses are drawn on the finding pictures and the interactive map. Far clusters (> 2 km) are skipped without reading their spreadsheet; another version of the same cluster is ignored. New profile parameter cross_name_match_m. Rule version 2026.10-r6.
    3.5.7 Evidence inside the report, so reviewers never need to open the source folder. Every finding in the HTML reports has a tabbed evidence panel: Picture (static capture with copy-to-clipboard and PNG download), Rule vs value (requirement, measured value, difference and percentage), Source data (verbatim rows from the homepass spreadsheet with the deciding columns highlighted, pole/FAT/FDT/homepass/cable attributes from the KMZ or design export, with file names) and Trail (finding ID, rule code, rule basis, source file, profile and rule version, plugin version, run time). The interactive map can copy or download a picture of the current view with title, centre coordinates, scale bar and north arrow. A duplicate homepass whose second row has no KMZ point is reported once (one root cause, one finding). Design tokens refined after a review of large telecom design systems (brand-neutral petrol-teal accent, functional status colours separate from the accent, distinct status icon shapes for colour-blind users, IBM Plex Mono for data excerpts). 62 automated tests.
    3.5.6 Interactive findings map in every HTML report (tool 1 and tool 4), embedded and working offline (Leaflet 1.9.4, BSD-2): every network object (homepass with its spreadsheet attributes, poles with height, FAT/FDT with premises and splitters, closures, cables with core count and KMZ folder, boundaries) and every finding on one map. Clicking a finding shows its explanation, action, value vs limit, line length, picture, review tick (synced with the list), coordinates in decimal and DMS, nearby objects and nearby findings; clicking an object shows all its attributes and the findings attached to it. Optional satellite or street basemap when online (provider attribution shown), links to satellite maps, 3D earth view and street-level view, severity filters, layer toggles, search, distance measuring, full screen and keyboard navigation. Refreshed report design (navy-teal header, embedded Poppins and Inter, rounded KPI tiles, automatic dark mode).
    3.5.5 Menu numbers now follow the working order: 1 prepare input + survey QC, 2 FDT & FAT allocation (before design), 3 post-design code tables, 4 design package QC. Processing algorithm IDs are unchanged, so existing scripts and models keep working. The built-in handbook is now interactive: a clickable workflow map with saved checklists, a step guide, a searchable dictionary of every finding code, a short quiz, handbook search, light/dark theme and print to PDF.
    3.5.4 Fixes from a second review on real projects: the scanner-app badge embedded on every page of a community-permit PDF is no longer reported as a digitally pasted stamp or signature; a pole span drawn twice by two overlapping route lines is evaluated once, so span and low-cable findings are no longer duplicated. 61 automated tests.
    3.5.3 More precise and clearer QC results, verified against real projects. Tool 1: a home whose HPDB house number equals the KMZ point name but whose coordinates differ by more than the tolerance (up to 30 m, smartphone GNSS error in settlements) is reported once as HP_BERGESER (review) instead of twice as missing; KMZ points in a DUPLICATE/ERROR folder are counted only as duplicates; a coverage note is added when the KMZ holds far more homes than the HPDB and when HPDB cluster names are mixed. Tool 4: lines in the "Keterangan Infra" annotation folders are no longer treated as cables (slack, bill of quantities, pancingan ratio); pancingan is not flagged for a missing COLO/NEW INFRA label; device-on-pole check shows "not verifiable" instead of pass when some devices cannot be checked; rules that pass with a coverage limit say "pass with note" in HTML and Word; the rule version shown is the version of the code that evaluated it. 59 automated tests.
    3.5.2 Interactive reports and Word output. Every finding now has a stable ID (F-0001 in tool 1, finding ID in tool 4) shared by the HTML report, the Word report, the finding layers and the QC Navigator; a map picture is drawn for every finding (highlighted geometry, pole/device labels, scale bar, north arrow; no basemap or internet needed) and saved in QC_GAMBAR; a Word report (.docx) with a summary table and one section per finding (meaning, action, value vs limit, location, rule source, reviewer note, map picture) is written next to the HTML. HTML reports: enterprise-style neutral design (Inter, accessible WCAG AA colours, dark mode), KPI tiles, deep links (#F-0001), keyboard shortcuts (j/k/x/g/o/?), per-finding "checked" status saved in the browser with a review CSV, enlargeable map pictures, Word download button. QC Navigator: "Copy picture" (paste straight into Word) and "Word report" for the findings currently shown, rendered from the live QGIS map. Mid-span cable height: pole embedment 1/6 of pole length (national distribution construction standard), design sag 1.5 percent, review band 4.7-5 m (NESC 232-1) summarised, notes only below 4.7 m; span and cable-height labels no longer run together (span above the line, height below, dashed); re-running tool 1 in the same QGIS session no longer fails to overwrite the finding layer. 55 automated tests.
  3.5.1 Evidence-based tolerances (pass / review / fail). Tool 1: homepasses only a few metres outside the hand-drawn cluster BOUNDARY are reported as INFO "at the edge" within a GPS tolerance (default 10 m, GPS.gov 4.9 m open sky; PLOS ONE 2019 7-13 m urban) instead of a mandatory fix, and every boundary/Funnel/pole-distance finding now records its distance and limit; Design Lite double-tagging adds review bands (HP 2-5 m, new pole 1.5-10 m); unused survey poles are WARNING. Allocation tool: link-budget verdict uses design losses (1:4 7.25, 1:8 10.38, connector 0.25 dB) with a 3 dB margin; worst-case maxima are reported as "thin budget" instead of failing twice. Tool 4: slack spacing is checked on new cables only (existing/colo cables ignored); a cable tail after the last FAT within the loop limit (100 m / 2 spans) is WARNING, and spans are counted as spans, not poles. Post-design tool: floating-FAT tolerance taken from the profile. QC-01 grouping no longer treats the design FDT itself (already listed in the latest existing-network file or in the code register) as a group used elsewhere. New profile parameters with sources; 54 automated tests.
  3.5.0 Reviewer worklist and audit completeness for tool 4: QC_APD_TEMUAN.xlsx (summary, findings with plain-language meaning and action, evidence and source file, map link, review status drop-down read back on the next run, input completeness, FDT grouping); input completeness table in the HTML report (which inputs were used, how many objects, which rules cannot run without them); evidence, source file, network scope and location filled for every finding (table findings such as splice-plan mismatches now point to the device on the map); FDT grouping candidates in QC-01 (area group of nearby existing FDTs, nearest existing FDT, next free code; new area groups reported as INFO, a group already used elsewhere as WARNING); QC Navigator filters by rule and by network scope (Feeder/Distribution), tooltips with evidence; rules with missing data stay UNVERIFIED even when they only add INFO notes. 47 automated tests.
  3.4.1 Metadata for the current QGIS plugin repository: plain-text description (no HTML tags), deprecated supportsQt6 flag removed (QGIS 4 support declared by qgisMaximumVersion=4.99).
  3.4.0 Public edition. New plain-language HTML reports for tools 1-4 (one-sentence verdict, rule route, what was checked / why it matters / what to do for every rule, plain explanation and map link for every finding, search and severity filters, embedded fonts, print to PDF, dark mode). Seven design-package rules in tool 4 (FDT codes, premises and splitters with splice-plan fibre/tube check, properties vs FDT-FAT code table, existing poles vs reference poles, pancingan and closure ratios per Distribution scope, devices and pancingan on poles) with Feeder/Distribution scope separation and one logical FDT across packages. Findings show device codes instead of export IDs; project folder used as cluster name. New profile parameters with sources. Brand-neutral texts and profiles (APD_1X4, APD_1X8, REGULASI_KETAT); organisation profiles can live outside the plugin. KMZ icons embedded in every KMZ (no external icon server). Map links open OpenStreetMap. 40 automated tests including acceptance scenarios S01-S10.
  3.3.0 Tool 4 (design package QC), standard profiles in JSON with sources, QC Navigator review status, research-based thresholds, homepass CSV and import manifest, field-test fixes.
  3.2.2 Pole spans split at poles on the cable line; allocation groups homepasses along the cable route.
  3.2.1 Clearer QC layer names, administrative-name abbreviations, allocation fills the nearest FDT first, QC Navigator dock.
