Apps und Bundles
- Grundlagen zur Konfiguration von Apps in map.apps
- Konfigurierbare Funktionen in smart.finder
- Basiskonfiguration einer App für smart.finder
- map.apps Omnisearch und mehrere smart.finder Cores
- Auswahl und Reihenfolge von Filterattributen (Facetten)
- Synonyme von Facettenwerten
- Lagefilter
- Sortierung von Ergebnissen
- Kartendarstellung der räumlichen Ausdehnung einer Ressource
- Detailansicht
- Nutzung des Ergebniscenters
Als Basis für die smart.finder-Nutzeroberfläche dient map.apps. Alle Funktionen, die für die Darstellung von smart.finder im Web-Browser erforderlich sind, werden innerhalb einer App als Bundles in map.apps integriert.
Um die Nutzeroberfläche von smart.finder anzupassen, sind deshalb einige Grundkenntnisse in map.apps erforderlich. Die wichtigsten Grundlagen, um mit der Konfiguration zu beginnen, werden im Folgenden kurz erläutert.
Grundlagen zur Konfiguration von Apps in map.apps
Web-Anwendungen auf der Basis von map.apps werden Apps genannt. Mit map.apps ist es möglich, eine beliebige Anzahl von Apps zu erstellen, die alle auf einer Menge von Programmmodulen, sogenannten Bundles, basieren. smart.finder liefert einige Bundles mit, die Sie in map.apps installieren und somit in allen Apps verwenden können.
Jede App in map.apps umfasst eine Konfigurationsdatei namens app.json
.
Diese legt fest, welche Bundles in die App eingebunden sind und wie diese konfiguriert sind.
Bearbeitung der App-Konfigurationsdatei
Um eine app.json
zu bearbeiten, gibt es zwei Möglichkeiten.
-
Direkte Bearbeitung der Datei im Dateisystem, wenn Sie smart.finder als eigenständiges Produkt verwenden
-
Bearbeitung über den map.apps Manager, bei einer bereits vorhandenen map.apps-Instanz
Bearbeitung im Dateisystem
Wenn Sie smart.finder als eigenständiges Produkt ohne bereits vorhandene map.apps Installation verwenden, ändern Sie die app.json
der jeweiligen App im Dateisystem.
Die Apps, in denen sich die einzelnen app.json
befinden, liegen im Verzeichnis %TOMCAT%/ct-finder-client-webapp-2.1/js/apps
.
Sie können die Dateien mit einem gewöhnlichen Texteditor bearbeiten.
Bearbeitung im map.apps Manager
Wenn Sie die smart.finder Bundles in map.apps installiert haben, können Sie die app.json
der jeweiligen App über den map.apps Manager bearbeiten.
Gehen Sie dafür wie folgt vor:
-
Öffnen Sie den map.apps Manager. Dieser ist standardmäßig unter der Adresse
https://<yourserver>/mapapps/manager
erreichbar. -
Klicken Sie im Reiter Apps auf die App, die Sie ändern möchten.
-
Wählen Sie App-Editor. Es öffnet sich der App-Editor mit dem Inhalt der
app.json
-
Sie können nun Änderungen an der Datei vornehmen.
-
Speichern Sie die Datei.
Aufbau der app.json
Auf der obersten Hierarchieebene enthält die app.json
die Abschnitte load
und bundles
.
load
-
In diesem Abschnitt werden sämtliche zu ladende Ressourcen inkl. Bundles aufgeführt.
bundles
-
In diesem Abschnitt findet die Konfiguration der Bundles statt.
Benötigte Bundles in der App
Benötigte Bundles listen Sie im load
-Abschnitt unter allowedBundles
auf.
Zur Auswahl einer bestimmten Version können Sie an jedes Bundle ein @
-Zeichen plus die gewünschte Version anhängen.
{
"load": {
"allowedBundles": [
"<bundlename>@<versionsnummer>",
"...weitere Bundles"
]
}
}
Konfiguration der Bundles
Jedes Bundle besteht in der Regel aus einer oder mehreren Komponenten, die Sie jeweils individuell konfigurieren können. Die Bundle-Konfiguration ist deshalb in die folgenden Ebenen gegliedert:
{
"bundles": {
"<Bundlename>": {
"<Komponentenname>": {
"<konfigurierte Eigenschaft>": "<Wert>"
}
}
}
}
Beispiel
In dem folgenden (nicht vollständigen) Auszug aus einer app.json
werden die Bundles sf_template-main
, sf_frontpage
und sf_catalog
geladen.
Außerdem werden für die CardsCatalogConfig
-Komponente des sf_catalog
-Bundles die Kategorien konfiguriert.
{
"load": {
"allowedBundles": [
"sf_template-main",
"sf_frontpage",
"sf_catalog"
]
},
"bundles": {
"sf_catalog": {
"CardsCatalogConfig": {
"categories": [
{
"id": 1,
"name": "Wasser",
"value": "wasser"
},
{
"id": 2,
"name": "Natur",
"value": "natur"
}
]
}
}
}
}
Um ein Bundle zu konfigurieren, definieren Sie in der app.json
Eigenschaften von Bundle-Komponenten.
Für Eigenschaften, die in der app.json
nicht definiert sind, werden Standardwerte verwendet.
Dokumentation der Bundles
Die Dokumentation zu den Konfigurationsmöglichkeiten der einzelnen Bundles erhalten Sie über den folgenden Link:
https://<yourserver>/ct-finder-client-webapp-2.1.0/resources/jsregistry/root
Die Namen aller smart.finder-Bundles beginnen mit dem Kürzel sf_ .
Das macht es einfacher sie von den map.apps Standardbundles zu unterscheiden.
|
Konfigurierbare Funktionen in smart.finder
Im Folgenden gehen wir auf die verschiedenen Funktionen der smart.finder-Nutzeroberfläche ein, die sich durch Konfiguration in der app.json
der jeweiligen App an die eigenen Wünsche anpassen lassen.
Bitte sichern Sie die app.json , bevor Sie Änderungen daran vornehmen.
|
Basiskonfiguration einer App für smart.finder
Der smart.finder Client kann per map.apps Kartenanwendung, also einem Suchfeld auf einer ganzseitigen Kartenanwendung oder auch ohne Karte genutzt werden.
Verwendung von Bundle Sets
Die beiden Varianten der smart.finder Client-Apps werden per Konfiguration verschiedener map.apps-Bundles realisiert.
Um nicht jedes einzelne dieser Bundle in der app.json
eintragen zu müssen, können Sie
-
das Bundle
sf_bundle-set_full-screen-map
verwenden für eine App mit Karte oder -
das Bundle
sf_bundle-set_full-page
für eine App ohne Karte.
Das Einbinden der Bundles lädt automatisch die im Folgenden aufgelisteten Bundles:
sf_bundle-set_full-screen-map
lädt die Bundles:
-
sf_themes_extension
-
sf_resultspage-content
-
sf_detailpage
-
sf_omnisearch-connector
-
sf_mapviewconfig
-
sf_spatial-extent-viewer
-
sf_window-tools
sf_bundle-set_full-page
lädt die Bundles:
-
sf_themes_extension
-
sf_resultspage
-
sf_detailpage
-
sf_template-main
-
sf_frontpage
map.apps Omnisearch und mehrere smart.finder Cores
smart.finder-Nutzer beginnen normalerweise mit der Eingabe eines Suchbegriffs und der anschließenden Ergebnisanzeige:
-
Verwenden Sie smart.finder in einer map.apps-App mit Kartendarstellung, wird das Sucheingabefeld des map.apps Standardbundles
omnisearch
verwendet. -
Bei einer Anwendung ohne Karte wird das Bundle
omnisearch
nicht verwendet.
Wenn Sie omnisearch
zusammen mit smart.finder verwenden, muss das Bundle sf_omnisearch-connector
zu der entsprechenden App hinzugefügt werden.
Bei der Verwendung des omnisearch
-Bundles kann durch App-Konfiguration die Suche auf mehreren smart.finder Cores (zur Laufzeit) ermöglicht werden (sog. multi-core-support).
Details zur Konfiguration von weiteren smart.finder Cores finden Sie in der Dokumentation zum Bundle sf_store.
Auswahl und Reihenfolge von Filterattributen (Facetten)
Nach der Suche zeigt der Client die Ergebnisliste. Hierfür können Sie einstellen, nach welchen Attributen (sog. Facetten) der Nutzer die Suchergebnisse filtern kann. Sie können auch die Reihenfolge einstellen.
Konfigurieren Sie dafür die facetFields
-Property an der DocumentStore
-Instanz für den gewünschten smart.finder-Core.
Weitere Informationen dazu erhalten Sie im Abschnitt Configuring the attribute filter in der Dokumentation des Bundles sf_store.
Synonyme von Facettenwerten
smart.finder kann die Werte einer Facette zusammenfassen.
So können Sie die Werte shape
und Shapefile
der Facette Format
immer als SHP
in der Nutzeroberfläche anzeigen.
Die Konfiguration dazu finden Sie in der Dokumentationsteil zum Server.
Lagefilter
Sie können die Hintergrundkarte und das Gebiet einstellen, das zu Beginn im Lagefilter fokussiert ist. Außerdem lässt sich das Aussehen des Rahmens in der Karte konfigurieren.
Weitere Informationen dazu finden Sie in der Dokumentation zum Bundle sf_geo-extent-filter.
Sortierung von Ergebnissen
Sie können für die Sortierfunktion auf der Ergebnisseite konfigurieren, welche Felder für die Sortierung angeboten werden.
Details finden Sie in der Dokumentation zum Bundle sf_resultlist.
Kartendarstellung der räumlichen Ausdehnung einer Ressource
Wird die smart.finder Ergebnisseite in einem Fenster innerhalb von map.apps angezeigt, kann der Nutzer mit der Maus über die einzelnen Ergebnisse fahren, um das zugehörige Gebiet in der Karte hervorzuheben.
Sie können das Aussehen des Rahmens in der Karte ändern, der die räumliche Ausdehnung repräsentiert. Details dazu in der Dokumentation zum Bundle sf_spatial-extent-viewer.
Detailansicht
Wenn der Benutzer auf einen Eintrag in der Ergebnisliste klickt, werden ihm in der Detailansicht detaillierte Informationen angezeigt.
Details finden Sie in der Dokumentation zum Bundle sf_detailpage.
Nutzung des Ergebniscenters
Die smart.finder Ergebnisseite kann, neben der Anzeige innerhalb eines Fensters über der Karte, auch über das map.apps Ergebniscenter angezeigt werden. Dabei werden die Suchergebnisse in einer Tabellenansicht angezeigt.
Die Nutzung des Ergebniscenters kann über die Eigenschaft useResultcenter:true
der Komponente mit dem Namen ForwardingHandler
konfiguriert werden, innerhalb des Bundles sf_omnisearch-connector
.
Die Details dazu können Sie in der Dokumentation zum Bundle sf_omnisearch-connector nachlesen.
Aktuell kann die Funktion zwar in Apps eingesetzt werden, welche mit einem DocumentStore und einen SmartSearchStore arbeiten, allerdings nicht mit mehreren DocumentStores .
Mit anderen Worten ist die Ergebnisanzeige im map.apps Ergebniscenter nicht für mehrere smart.finder Cores möglich, abgesehen vom eben skizzierten Fall.
|