Installation guide, common questions, and troubleshooting
← Back to HomeFiberWeavehttps://qgis.devitt.co.za/plugins.xmlWhen a new version is available, QGIS will notify you automatically if the repository is configured. Go to Plugins > Manage and Install Plugins > Upgradeable to update.
| Requirement | Minimum | Recommended |
|---|---|---|
| QGIS | 3.16 | 3.34+ |
| PostgreSQL | 12 | 15+ |
| PostGIS | 3.0 | 3.4+ |
| Python (bundled with QGIS) | 3.7 | 3.9+ |
| psycopg2 | 2.8 | 2.9+ |
localhost)5432 (default)postgres (to create a new DB)fiberweave_networkThe installer runs all migration scripts in order and creates:
fttx schemaIf the database already exists, the installer will ask whether to proceed. Choosing Yes will connect to the existing database and create any missing tables. All CREATE TABLE statements use IF NOT EXISTS, so existing data is preserved.
fiberweave_networkfttx schema and all layersAfter activation, the FiberWeave toolbar provides quick access to:
| Type | Typical Use |
|---|---|
| Central Office (CO) | Main telephone exchange, OLT equipment |
| POP (Point of Presence) | Network aggregation point |
| Data Center | Server and core network equipment |
| Co-location | Shared facility with other providers |
| Other | Customer premises, cabinets, etc. |
| Type | Purpose |
|---|---|
| MDF (Main Distribution Frame) | Primary cable termination point for a building |
| IDF (Intermediate Distribution Frame) | Secondary distribution on upper floors |
| Equipment Room | Active network equipment (switches, routers) |
| Server Room | Compute and storage infrastructure |
| Telecom Closet | Small wiring closet for floor distribution |
When you add equipment to a rack, database triggers automatically:
used_ru and available_ru counts| Layer | Geometry | Purpose |
|---|---|---|
| itu_cable_routes | LineString | Physical cable paths (ducts, aerial, underground) |
| itu_fiber_cables | — | Cable specifications (fiber count, type, manufacturer) |
| itu_fiber_strands | — | Individual fiber strands within cables |
| itu_olt_equipment | Point | Optical Line Terminals |
| itu_olt_pon_ports | — | PON ports on OLT equipment |
| itu_odn_nodes | Point | Splitters, closures, handhole, manhole |
| itu_onu_equipment | Point | Optical Network Units (customer premises) |
| itu_splice_points | Point | Splice locations along cable routes |
| itu_splice_connections | — | Individual splice records (fiber-to-fiber) |
| itu_power_budget | — | Optical power budget calculations |
| itu_network_paths | — | Logical end-to-end paths through the network |
FiberWeave supports ITU-T compliant passive optical network design:
Place OLT equipment, define splitter locations as ODN nodes, and connect ONU endpoints to build your PON tree.
Equipment ports in the Inside Plant can link to itu_fiber_cables via the cable_id foreign key on equipment_ports. This bridges your building infrastructure with the outside fibre network.
FiberWeave registers processing algorithms in the QGIS Processing Toolbox under the FiberWeave provider. Access via Processing > Toolbox and search for "FiberWeave".
| Algorithm | Description |
|---|---|
| Power Budget (Batch) | Calculate optical power budgets for multiple paths |
| Network Validation | Check network design for errors and warnings |
| Export Report | Generate PDF/HTML reports of network design |
The power budget calculator accounts for:
This usually means QGIS couldn't extract the ZIP to your plugin directory.
C:\Users\<you>\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins
~/.local/share/QGIS/QGIS3/profiles/default/python/plugins
Go to Plugins > Manage and Install Plugins > Installed and ensure the checkbox next to FiberWeave is enabled. If it's not listed, restart QGIS.
The PostgreSQL adapter isn't installed. Open the OSGeo4W Shell (Windows) or terminal (Linux) and run:
# Windows (OSGeo4W Shell)
pip install psycopg2-binary
# Linux
pip3 install psycopg2-binary
Restart QGIS after installing.
This means the tables have already been created. The current installer uses IF NOT EXISTS, so this should not occur with updated versions. If you see this:
Some tables were not created during initial setup, often because an older installer only ran the first SQL migration. Update the plugin to the latest version and re-run the Database Installer. It will create any missing tables without affecting existing data.
FiberWeave enforces referential integrity. You must delete child records before parents. The order is:
To remove everything in a building at once, run this SQL (replace 1 with your building_id):
DELETE FROM fttx.equipment_ports WHERE equipment_id IN (
SELECT equipment_id FROM fttx.rack_equipment WHERE rack_id IN (
SELECT rack_id FROM fttx.racks WHERE room_id IN (
SELECT room_id FROM fttx.rooms WHERE building_id = 1)));
DELETE FROM fttx.rack_equipment WHERE rack_id IN (
SELECT rack_id FROM fttx.racks WHERE room_id IN (
SELECT room_id FROM fttx.rooms WHERE building_id = 1));
DELETE FROM fttx.racks WHERE room_id IN (
SELECT room_id FROM fttx.rooms WHERE building_id = 1);
DELETE FROM fttx.rooms WHERE building_id = 1;
DELETE FROM fttx.buildings WHERE building_id = 1;
Check the following:
sudo systemctl status postgresqlpg_hba.conflisten_addresses = '*' in postgresql.confInstall the extensions on your database server:
# Ubuntu/Debian (replace 15 with your PostgreSQL version)
sudo apt install postgresql-15-postgis-3 postgresql-15-pgrouting
# Then in psql:
CREATE EXTENSION IF NOT EXISTS postgis;
CREATE EXTENSION IF NOT EXISTS pgrouting;
No. FiberWeave requires a PostGIS-enabled PostgreSQL database. The entire data model, including spatial indexing, foreign key integrity, and automated triggers, relies on PostGIS.
All geometries are stored in WGS 84 (EPSG:4326). QGIS will reproject on-the-fly to match your project CRS.
Yes. Since data is stored in PostgreSQL, multiple QGIS users can connect to the same database simultaneously. PostgreSQL handles concurrency and locking. Use database roles to manage permissions.
Use the Data Import tool in the FiberWeave toolbar. It supports:
The importer validates building codes for duplicates and batches commits for performance.
# Full backup
pg_dump -h localhost -U postgres fiberweave_network > fiberweave_backup.sql
# Restore
psql -h localhost -U postgres -d fiberweave_network < fiberweave_backup.sql
-- Connect to fiberweave_network database, then:
DROP SCHEMA fttx CASCADE;
CREATE SCHEMA fttx;
Then re-run the Database Installer from the plugin to recreate all tables.
Report issues at: github.com/fiberweave/qgis-plugin/issues
Or contact: clinton@fnfast.co.za