Skip to content

Administration Installation

Florian Fehring edited this page Oct 5, 2026 · 1 revision

This guide helps you to setup a SmartMonitoring Step by Step. After following this guide you will have a working SmartMonitoring with default functions enabled and a general purpose design.

This guide uses the default software stack, but you can exchange the used database and REST-API with any TreeQL compatible API. (Some functions may be limited then)

  1. Prequsits
    1. Install Payara Server Version 6 or higher
    2. Install postgres database Version 11 or higher
  2. Copy the release files contents to the docroot folder
  3. Open https://your-domain.org/SmartMonitoringFrontend
    1. You should see a message that installation is not completed yet
  4. Open https://your-domain.org/SmartMonitoringFrontend/sites/admin/setup.html
    1. Go trough the steps

########################## OLD VERSION BELOW ########################

Installieren Sie SmartMonitoringFrontend mit den folgenden Schritten:

  1. Installieren Sie zunächst das Backend, wie im SmartMonitoringBackend-Wiki beschrieben
  2. Laden Sie die aktuelle Version herunter (Repository-Verzeichnis: /versions)
  3. Entpacken Sie die ZIP-Datei und laden Sie die Dateien in ein Verzeichnis im docroot ihres Webservers.
  4. Rufen Sie die URL unter dem Sie die Dateien abgelegt haben über ihren Browser auf. (z.B. http://localhost:8080/SmartMonitoring)
  5. Konfigurieren Sie das SmartMonitoringFrontend

View für die Objektliste

Damit die Objektliste immer die Objekte in ihrer hierarchischen Form korrekt anzeigt, wurde ein spezieller View entwickelt.

CREATE VIEW view_oo_hierarchy as WITH RECURSIVE hierarchy AS (
    -- Basisschicht: Abfrage der obersten Elternobjekte (d.h. solche, die keine Eltern haben)
    SELECT 
        o.*,
        o.id AS root_id,
        0 AS depth,
        CAST(lpad(o.id::text, 10, '0') AS VARCHAR) AS path
    FROM 
        tbl_observedobject o
    WHERE 
        o.parent_id IS NULL
    
    UNION ALL
    
    -- Rekursive Schicht: Abfrage der Kinderobjekte auf Basis der vorherigen Ergebnismenge
    SELECT 
        o.*,
        h.root_id,
        h.depth + 1 AS depth,
        CONCAT(h.path, '>', lpad(o.id::text, 10, '0')) AS path
    FROM 
        tbl_observedobject o
    INNER JOIN 
        hierarchy h ON o.parent_id = h.id
)

SELECT * FROM hierarchy
ORDER BY root_id, path;

Nicht vergessen, die Berechtigung für den View zu setzen.

ALTER VIEW view_oo_hierarchy OWNER TO smartmonitoring_NAME;

View für nicht lokalisierte Objekte

Damit der View für nicht lokalisierte Objekte funktioniert, muss das nachfolgende Skript in der Datenbank ausgeführt werden:

CREATE VIEW view_oo_without_locations AS
WITH RECURSIVE hierarchy AS (
    -- Basisschicht: Abfrage der obersten Elternobjekte (d.h. solche, die keine Eltern haben)
    SELECT 
        o.*,
        o.id AS root_id,
        0 AS depth,
        CAST(LPAD(o.id::text, 10, '0') AS VARCHAR) AS path
    FROM 
        tbl_observedobject o
    WHERE 
        o.parent_id IS NULL
    
    UNION ALL
    
    -- Rekursive Schicht: Abfrage der Kinderobjekte auf Basis der vorherigen Ergebnismenge
    SELECT 
        o.*,
        h.root_id,
        h.depth + 1 AS depth,
        CONCAT(h.path, '>', LPAD(o.id::text, 10, '0')) AS path
    FROM 
        tbl_observedobject o
    INNER JOIN 
        hierarchy h ON o.parent_id = h.id
)

SELECT
    h.*
FROM hierarchy h
LEFT JOIN 
    tbl_location_join_oo ljo ON h.id = ljo.oo_id
WHERE 
    ljo.oo_id IS NULL
ORDER BY 
    h.root_id, h.path;

Anschließend muss noch die Berechtigung für den jeweiligen Datenbanknutzer gesetzt werden.

Installation für SmartMonitoringFrontend-Gewässerdaten

  1. Stellen Sie sicher, dass eine PostgreSQL-Instanz läuft.

  2. In einer leeren PostgreSQL Datenbank(Name: smartmonitoring__gewaesser2) das SQL-Script aus diesem Archiv ausführen.

  3. Installieren Sie in Ihrer Domain die Abhängigkeiten gemäß der Anleitungen im Wiki:

    • SmartData
    • SmartFile
    • SmartDataPorter
  4. Legen Sie die Ordner SWAC und SWACtemplate aus diesem Archiv in den docroot-Ordner der Domain Ihres Payara-Servers.

  5. (Passen Sie die DB und die Datei datamap-config.js entsprechend Ihrer Wünsche der Daten an und laden Sie entsprechende CSVs unter "Upload" hoch.)

Clone this wiki locally