Administrator Guide¶
This guide is for system administrators deploying Species Explorer in enterprise environments.
Overview¶
Species Explorer is a QGIS plugin that requires:
- QGIS 3.0 or later
- Network access to GBIF API (
api.gbif.org) - Python 3.9+ (bundled with QGIS)
Deployment Options¶
Option 1: QGIS Plugin Repository (Recommended)¶
For individual workstations:
- Users install via QGIS Plugin Manager
- Automatic updates when new versions are released
- No administrative intervention required
Option 2: Custom Plugin Repository¶
For enterprise deployments with controlled software:
- Download plugin ZIP from GitHub Releases
- Host on internal file server or web server
- Configure QGIS to use custom repository
Repository XML Format:
<?xml version="1.0"?>
<plugins>
<pyqgis_plugin name="Species Explorer" version="0.3.0">
<description>Explore species occurrence data from GBIF</description>
<about>QGIS plugin for biodiversity data visualization</about>
<version>0.3.0</version>
<qgis_minimum_version>3.0</qgis_minimum_version>
<homepage>https://github.com/kartoza/SpeciesExplorer</homepage>
<file_name>SpeciesExplorer-0.3.0.zip</file_name>
<author_name>Kartoza</author_name>
<download_url>https://your-server/plugins/SpeciesExplorer-0.3.0.zip</download_url>
</pyqgis_plugin>
</plugins>
QGIS Configuration:
- Go to Settings → Options → General → Plugin Repositories
- Add your custom repository URL
- Users can install from Plugin Manager
Option 3: Pre-installed QGIS Profile¶
For standardized deployments:
- Create QGIS profile with pre-installed plugins
- Deploy profile to users via:
- Roaming profiles (Windows)
- Configuration management (Ansible, Puppet)
- Disk imaging
Profile Location:
| Platform | Path |
|---|---|
| Linux | ~/.local/share/QGIS/QGIS3/profiles/ |
| Windows | %APPDATA%\QGIS\QGIS3\profiles\ |
| macOS | ~/Library/Application Support/QGIS/QGIS3/profiles/ |
Network Requirements¶
Firewall Rules¶
Allow outbound HTTPS (443) to:
| Host | Purpose |
|---|---|
api.gbif.org |
GBIF REST API |
www.gbif.org |
GBIF website (optional) |
Proxy Configuration¶
Species Explorer uses QGIS native networking, which respects system/QGIS proxy settings.
Configure in QGIS:
- Settings → Options → Network
- Set proxy type and credentials
- Species Explorer will use these settings
Environment Variables:
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
export NO_PROXY=localhost,127.0.0.1
SSL/TLS¶
- GBIF API uses TLS 1.2+
- Ensure CA certificates are up to date
- For corporate SSL inspection, add certificates to system trust store
Resource Usage¶
Network Bandwidth¶
| Operation | Typical Size |
|---|---|
| Species search | 1-10 KB |
| Taxonomy lookup | 1-5 KB |
| Occurrence fetch | 100 KB - 50 MB |
Note: Large species datasets (millions of records) may download significant data.
Memory¶
- Occurrence data is loaded into RAM
- Memory usage scales with record count
- Typical usage: 100 MB per 100,000 records
Disk¶
- Plugin installation: ~2 MB
- Downloaded data: Stored in memory, saved to project file
Security Considerations¶
Data Privacy¶
- No user data is sent to GBIF
- Only species names are transmitted
- Downloaded data may contain location information
Network Security¶
- All connections use HTTPS
- No authentication required for GBIF API
- Plugin does not store credentials
Plugin Security¶
- Open source (auditable code)
- No external dependencies beyond QGIS
- REUSE compliant licensing
Monitoring¶
Log Files¶
QGIS logs are available in:
- View → Log Messages panel
~/.local/share/QGIS/QGIS3/logs/(Linux)
Common Issues¶
| Issue | Solution |
|---|---|
| Connection timeout | Check firewall/proxy |
| SSL errors | Update CA certificates |
| Slow downloads | Normal for large datasets |
| Plugin not loading | Check Python errors in log |
Batch Deployment¶
Windows (PowerShell)¶
$pluginPath = "$env:APPDATA\QGIS\QGIS3\profiles\default\python\plugins"
$pluginUrl = "https://github.com/kartoza/SpeciesExplorer/releases/latest/download/SpeciesExplorer.zip"
# Download and extract
Invoke-WebRequest -Uri $pluginUrl -OutFile "$env:TEMP\SpeciesExplorer.zip"
Expand-Archive -Path "$env:TEMP\SpeciesExplorer.zip" -DestinationPath $pluginPath -Force
Linux (Bash)¶
#!/usr/bin/env bash
PLUGIN_PATH="$HOME/.local/share/QGIS/QGIS3/profiles/default/python/plugins"
PLUGIN_URL="https://github.com/kartoza/SpeciesExplorer/releases/latest/download/SpeciesExplorer.zip"
mkdir -p "$PLUGIN_PATH"
curl -L "$PLUGIN_URL" -o /tmp/SpeciesExplorer.zip
unzip -o /tmp/SpeciesExplorer.zip -d "$PLUGIN_PATH"
Ansible Playbook¶
---
- name: Install Species Explorer plugin
hosts: workstations
tasks:
- name: Download plugin
get_url:
url: https://github.com/kartoza/SpeciesExplorer/releases/latest/download/SpeciesExplorer.zip
dest: /tmp/SpeciesExplorer.zip
- name: Extract plugin
unarchive:
src: /tmp/SpeciesExplorer.zip
dest: "{{ ansible_env.HOME }}/.local/share/QGIS/QGIS3/profiles/default/python/plugins/"
remote_src: yes
Troubleshooting¶
Plugin Won't Load¶
- Check QGIS version (3.0+ required)
- Check Python version (3.9+ recommended)
- Review QGIS log for errors
- Verify plugin is enabled in Plugin Manager
Network Issues¶
- Test connectivity:
curl https://api.gbif.org/v1/species/1 - Check proxy settings in QGIS
- Verify firewall rules
- Test SSL:
openssl s_client -connect api.gbif.org:443
Performance Issues¶
- Large datasets are expected to be slow
- Consider filtering data after import
- Use SSD for QGIS projects
- Allocate sufficient RAM
Support¶
- Documentation: https://kartoza.github.io/SpeciesExplorer
- Issues: GitHub Issues
- Commercial Support: Kartoza