FiberWeave Help & Troubleshooting

Installation guide, common questions, and troubleshooting

← Back to Home

Contents

1. Installation

Install via Plugin Repository (Recommended)

  1. Open QGIS and go to Plugins > Manage and Install Plugins
  2. Click the Settings tab
  3. Under Plugin Repositories, click Add...
  4. Enter:
    • Name: FiberWeave
    • URL: https://qgis.devitt.co.za/plugins.xml
  5. Click OK
  6. Switch to the All or Not Installed tab
  7. Search for FiberWeave and click Install Plugin

Install from ZIP (Manual)

  1. Download fiberweave.zip
  2. In QGIS: Plugins > Manage and Install Plugins > Install from ZIP
  3. Browse to the downloaded ZIP and click Install Plugin

Updating the Plugin

When 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.

Requirements

RequirementMinimumRecommended
QGIS3.163.34+
PostgreSQL1215+
PostGIS3.03.4+
Python (bundled with QGIS)3.73.9+
psycopg22.82.9+
Tip: pgRouting is optional but enables advanced route optimization features.

2. Database Setup

Using the Built-in Installer

  1. After installing the plugin, find the FiberWeave toolbar in QGIS
  2. Click the Database Installer button
  3. Enter your PostgreSQL connection details:
    • Host: your database server (e.g. localhost)
    • Port: 5432 (default)
    • Connect to Database: postgres (to create a new DB)
    • Username: your PostgreSQL user
    • Password: your PostgreSQL password
    • New Database Name: fiberweave_network
  4. Click Test Connection to verify
  5. Click Install Database

The installer runs all migration scripts in order and creates:

Database Already Exists?

If 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.

Connecting QGIS to the Database

  1. In the QGIS Browser panel, right-click PostGIS > New Connection
  2. Enter connection details for fiberweave_network
  3. Expand the connection to see the fttx schema and all layers
  4. Drag layers onto the map canvas to start working

3. Getting Started

Recommended Workflow

  1. Install the plugin and set up the database (see above)
  2. Connect QGIS to the database via PostGIS connection
  3. Load base layers — add your area imagery/streets as background
  4. Plan outside plant — draw cable routes, place OLT/ONU equipment, define splice points
  5. Capture buildings — add building points on the map for premises to serve
  6. Set up inside plant — define rooms, racks, and equipment inside each building
  7. Run calculations — use power budget, BOM generation, and network validation tools
  8. Export reports — generate deliverables via the Processing toolbox

FiberWeave Toolbar

After activation, the FiberWeave toolbar provides quick access to:

4. Inside Plant Management

Data Hierarchy

Buildings (map points with address/type)
    └─ Rooms (MDF, IDF, Equipment Room, Server Room, Telecom Closet)
           └─ Racks (height in RU, type, position)
                  └─ Equipment (OLT, switch, patch panel, etc.)
                         └─ Ports (connects to outside plant cables)

Linking Buildings to Inside Plant

  1. Capture building locations on the map as point features, or import from CSV/shapefile
  2. Open the Inside Plant Manager from the toolbar
  3. On the Buildings tab, click Add Building
  4. Fill in: building code, name, address, type (Central Office, POP, Data Center, Co-location), floor count
  5. On the Rooms tab, click Add Room and select the parent building
  6. Set room type, floor number, size, and environmental specs (HVAC, UPS, fire suppression)
  7. On the Racks tab, click Add Rack and select the parent room
  8. Set rack height (RU), type, and utilization is auto-tracked

Building Types

TypeTypical Use
Central Office (CO)Main telephone exchange, OLT equipment
POP (Point of Presence)Network aggregation point
Data CenterServer and core network equipment
Co-locationShared facility with other providers
OtherCustomer premises, cabinets, etc.

Room Types

TypePurpose
MDF (Main Distribution Frame)Primary cable termination point for a building
IDF (Intermediate Distribution Frame)Secondary distribution on upper floors
Equipment RoomActive network equipment (switches, routers)
Server RoomCompute and storage infrastructure
Telecom ClosetSmall wiring closet for floor distribution

Automatic Rack Utilization

When you add equipment to a rack, database triggers automatically:

5. Outside Plant & Network Design

Core Layers

LayerGeometryPurpose
itu_cable_routesLineStringPhysical cable paths (ducts, aerial, underground)
itu_fiber_cablesCable specifications (fiber count, type, manufacturer)
itu_fiber_strandsIndividual fiber strands within cables
itu_olt_equipmentPointOptical Line Terminals
itu_olt_pon_portsPON ports on OLT equipment
itu_odn_nodesPointSplitters, closures, handhole, manhole
itu_onu_equipmentPointOptical Network Units (customer premises)
itu_splice_pointsPointSplice locations along cable routes
itu_splice_connectionsIndividual splice records (fiber-to-fiber)
itu_power_budgetOptical power budget calculations
itu_network_pathsLogical end-to-end paths through the network

GPON/XG-PON Planning

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.

Connecting Inside to Outside Plant

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.

6. Processing Tools

FiberWeave registers processing algorithms in the QGIS Processing Toolbox under the FiberWeave provider. Access via Processing > Toolbox and search for "FiberWeave".

Available Algorithms

AlgorithmDescription
Power Budget (Batch)Calculate optical power budgets for multiple paths
Network ValidationCheck network design for errors and warnings
Export ReportGenerate PDF/HTML reports of network design

Power Budget Calculation

The power budget calculator accounts for:

7. Troubleshooting

Installation Issues

"Failed to unzip the plugin package"

This usually means QGIS couldn't extract the ZIP to your plugin directory.

  • Check write permissions to your plugins folder:
    Windows: C:\Users\<you>\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins
    Linux: ~/.local/share/QGIS/QGIS3/profiles/default/python/plugins
  • Close any file explorer windows open in the plugins directory
  • Try running QGIS as Administrator (Windows) and installing again
  • Try manual install: download the ZIP, extract it yourself into the plugins folder, restart QGIS
Plugin doesn't appear after installation

Go to Plugins > Manage and Install Plugins > Installed and ensure the checkbox next to FiberWeave is enabled. If it's not listed, restart QGIS.

"No module named 'psycopg2'"

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.

Database Issues

"relation already exists" during installation

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:

  • Update the plugin to the latest version
  • Re-run the Database Installer — choose Yes when asked about the existing database
"relation fttx.<table> does not exist" (missing table)

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.

"foreign key constraint" errors when deleting records

FiberWeave enforces referential integrity. You must delete child records before parents. The order is:

  1. Equipment ports
  2. Rack equipment
  3. Racks
  4. Rooms
  5. Buildings

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;
Connection to PostgreSQL fails

Check the following:

  • PostgreSQL service is running: sudo systemctl status postgresql
  • The database accepts connections from your host — check pg_hba.conf
  • Firewall allows port 5432
  • Username and password are correct
  • If connecting remotely, ensure listen_addresses = '*' in postgresql.conf
PostGIS or pgRouting extension not available

Install 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;

Performance Issues

Slow loading of layers with many features
  • Use spatial indexes (created automatically by the installer)
  • Set scale-dependent visibility on detailed layers (right-click layer > Properties > Rendering)
  • Enable simplify geometry in layer Properties > Rendering
  • Consider using materialized views for complex queries

8. Frequently Asked Questions

Can I use FiberWeave without PostGIS?

No. FiberWeave requires a PostGIS-enabled PostgreSQL database. The entire data model, including spatial indexing, foreign key integrity, and automated triggers, relies on PostGIS.

What coordinate system does FiberWeave use?

All geometries are stored in WGS 84 (EPSG:4326). QGIS will reproject on-the-fly to match your project CRS.

Can multiple users work on the same database?

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.

How do I import existing building data?

Use the Data Import tool in the FiberWeave toolbar. It supports:

  • CSV/Excel with latitude/longitude or WKT geometry columns
  • Shapefile/GeoJSON with point geometries
  • Existing QGIS layers from your project
  • External PostGIS databases

The importer validates building codes for duplicates and batches commits for performance.

How do I back up my FiberWeave database?
# 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
How do I completely reset the database?
Warning: This permanently deletes all data.
-- 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.

Where can I report bugs or request features?