Projekte

Ein Projekt ist die zentrale Konfigurationseinheit der GBD WebSuite. Es bündelt Karte, Layer, Suche, Druckvorlagen und weitere Funktionalität zu einer eigenständigen Anwendung. Auf einer GBD WebSuite Instanz können mehrere Projekte parallel betrieben werden.

Die Projektverwaltung wird über die Aktion project freigeschaltet:

{
    actions+ {
        type project
    }

    projects [
        @include /data/config/projects/meinprojekt.cx
    ]
}

uid und Titel

Jedes Projekt muss eine einzigartige uid erhalten. Sie wird in der URL zur Karte verwendet:

http://localhost:3333/project/meinprojekt

Verwenden Sie für die uid ausschließlich Buchstaben, Ziffern sowie Unter- und Bindestriche. Die uid sollte nach der Erstveröffentlichung nicht mehr geändert werden, da sie in URLs und Lesezeichen auftauchen kann.

Mit title wird der Anzeigename des Projekts festgelegt, der im Client und auf der Startseite erscheint.

{
    uid "meinprojekt"
    title "Mein Projekt"
}

Metadaten

Über metadata können beschreibende Informationen zum Projekt hinterlegt werden. Diese stehen in Asset-Templates zur Verfügung und können beispielsweise auf der Projektübersichtsseite angezeigt werden.

{
    uid "meinprojekt"
    title "Mein Projekt"
    metadata.abstract "Kurzbeschreibung des Projekts"
    metadata.keywords ["Geodaten", "Stadtplan"]
}

Die wichtigsten Metadatenfelder:

FeldBeschreibung
metadata.abstractKurzbeschreibung des Projekts, z. B. für die Startseite.
metadata.keywordsListe von Schlagwörtern.
metadata.contactNameAnsprechpartner für das Projekt.
metadata.contactEmailE-Mail-Adresse des Ansprechpartners.

Einbindung von Projekten

Die GBD WebSuite bietet drei Möglichkeiten, Projekte in die Hauptkonfiguration einzubinden.

projects

Mit projects wird eine explizite Liste von Projekten in der Hauptkonfiguration definiert. Jedes Projekt kann als direkter Block oder per @include eingebunden werden:

{
    projects [
        @include /data/config/projects/projekt_a.cx
        @include /data/config/projects/projekt_b.cx
    ]
}

Diese Methode eignet sich, wenn eine überschaubare, fest definierte Anzahl von Projekten verwaltet wird.

projectDirs

Mit projectDirs werden ein oder mehrere Verzeichnisse angegeben. Die GBD WebSuite lädt automatisch alle Projektkonfigurationen, die in diesen Verzeichnissen gefunden werden:

{
    projectDirs ["/data/config/projects"]
}

Diese Methode eignet sich, wenn Projekte häufig hinzugefügt oder entfernt werden, da keine Anpassung der Hauptkonfiguration erforderlich ist.

projectPaths

Mit projectPaths wird eine Liste einzelner Dateipfade zu Projektkonfigurationen angegeben:

{
    projectPaths [
        "/data/config/projekte/projekt_a.cx"
        "/data/config/projekte/projekt_b.cx"
    ]
}

projectPaths und projectDirs können auch kombiniert und zusammen mit projects verwendet werden.

Projektspezifische Überschreibungen

Viele Einstellungen, die global in der Hauptkonfiguration definiert sind, können auf Projektebene überschrieben oder erweitert werden. Dies ermöglicht es, eine gemeinsame Basis für alle Projekte zu pflegen und nur die Unterschiede je Projekt zu definieren.

Assets

Mit assets können projektspezifische Ressourcen wie CSS-Dateien oder Bilder hinterlegt werden, die die globalen Assets ergänzen oder ersetzen:

{
    uid "meinprojekt"
    assets.dir "/data/assets/meinprojekt"
}

Aktionen

Aktionen können auf Projektebene hinzugefügt werden, um Funktionalität nur für dieses Projekt bereitzustellen:

{
    uid "meinprojekt"
    actions+ {
        type search
    }
}

Client-Einstellungen

Mit client können die Client-Einstellungen projektspezifisch angepasst werden. So lassen sich zum Beispiel unterschiedliche Werkzeuge für verschiedene Projekte konfigurieren:

{
    uid "meinprojekt"
    client.elements [
        { tag "Toolbar.Measure" }
        { tag "Sidebar.Layers" }
    ]
}

Weitere Informationen zur Client-Konfiguration finden Sie im Thema Client.

Einen vollständigen Einstieg in die Projektkonfiguration bietet der Guide Einfaches Projekt.