17. Konfiguration GeoShop Products

17.1. Definition

Mit einem Product wird der Download von Daten definiert. Products werden Benutzern zugeordnet.

Product Definition

Die Products werden im GeoShop mit dem GeoShop Administrator unter Config > Products definiert.

Abbildung 37. GeoShop Administrator Products

GeoShop Administrator Products

Product Definitionen werden im GeoShop in Textfiles an folgender Stelle abgelegt.

GEOSHOP_DIR\user\products\<name>.pro

Der Inhalt einer Product Definitionen sieht als Beispiel wie folgt aus.

PRODUCT
   name STRING dxf_dm01
   display_name STRING 'AV DXF/DWG'
   models LIST
      MODEL
         name STRING DM01AVCH24D
         display_name STRING 'amtl. Vermessung'
         topics LIST
            STRING FixpunkteKategorie1
            STRING FixpunkteKategorie2
            STRING FixpunkteKategorie3
            STRING Liegenschaften
         }
      }
   }
   params MAP
      selection_type STRING POLYGON
      order_ra_option STRING ON
      order_la_options LIST
         STRING 'textfield,Verwendung *'
      }
      selection_options MAP
         format STRING 'choice,Fileformat,DXF,DWG'
      }
   }
   services MAP
      DM01AVCH24D MAP
         script STRING \script\il2dxf\DM01AVCH24D.cfg
         service STRING download
      }
   }
   price_function STRING \script\price\price.cfg,Tarifzonen
   pre_execute STRING <script,script,...>
   post_execute STRING <script,script,...>
   post_download STRING <script,script,...>
}

Die Definition eines Products ist vollständig im GeoShop Administrator Benutzerhandbuch definiert.

17.2. Eigenschaften

Products werden in Textfiles definiert und wie folgt abgelegt.

GEOSHOP_DIR\user\products\<name>.pro

Folgende Eigenschaften können für Products konfiguriert werden.

Beschreibung Definition Product
Parameterreq/optTypBeschreibung
PRODUCTrMAPMap mit Definition Product.
Beschreibung Parameter MAP PRODUCT
Parameterreq/optTypBeschreibung
namerSTRINGName der Products.
display_nameoSTRINGDisplayname der Products.
modelsoLIST

Liste von Modellen mit Topics für Product.

paramsoMAP

Map von Parametern für Product.

servicesrMAPMap von Services für Product zur Aufbereitung der Daten.
price_functionoSTRING

Preisfunktion für Product. Die Preisfunktion muss folgende Informationen zurückbringen:

1. Zeile

REAL Preis

2. Zeile

STRING Währung

n. Zeile

STRING Meldung Zeile n

Ist der Preis >= 0.0, wird der Preis als Preis abgehandelt. Die Meldung des Preises wird dargestellt. Die Buttons Zurück und nächste Seite sind aktiv.

Ist der Preis < 0.0 wird der Preis als Fehler abgehandelt. Die Meldung des Preises wird dargestellt. Es ist nur der Button Zurück aktiv. So können in der Preisfunktion spezielle Abhandlungen erfolgen, zum Beispiel wenn im Selektionsbereich keine Daten vorhanden sind

pre_executeoSTRINGListe von Skripts welche vor dem eigentlichen Bestellskript ausgeführt werden sollen (überschreibt GeoShopServer.PRE_EXECUTE).
post_executeoSTRINGListe von Skripts welche nach dem eigentlichen Bestellskript ausgeführt werden sollen (überschreibt GeoShopServer.POST_EXECUTE).
post_downloadoSTRINGListe von Skripts welche nach dem Erstellen von order.zip ausgeführt werden (überschreibt GeoShopServer.POST_DOWNLOAD).
Beschreibung Parameter LIST PRODUCT.models
Parameterreq/optTypBeschreibung
MODELrMAPDefinition eines Modelles.
Beschreibung Parameter MAP PRODUCT.models.MODEL
Parameterreq/optTypBeschreibung
namerSTRINGName des Modelles.
display_nameoSTRINGDisplayame des Modelles.
topicsoLISTListe der Topics des Modelles. Alle Einträge der Liste sind vom Typ STRING und führen die Topics des Modelles auf, die in diesem Product enthalten sein können.
Beschreibung Parameter MAP PRODUCT.params
Parameterreq/optTypBeschreibung
Selektionsbereich Parameter für Selektionsbereich.
selection_titleoSTRING

Titel für Auswahl Selektionsbereich. Default: 'Selektionsbereich'

selection_positionoSTRING

TOP|BOTTOM|OFF. Position der Selektionbereich-Elemente. Mit BOTTOM wird die Selektion am Schluss der Produkt-Parameter aufgeführt.

selection_typeoSTRINGOFF|POLYGON|BOX|FORMATBOX|RANGEBOX. Type des geometrischen Selektionbereiches. Default=BOX.
selection_rotateoSTRINGON|OFF. Kann der Selektionsbereich rotiert werden. Default=ON.
selection_area_limitoREAL

Eine Limite in Quadratmeter der maximal selektierbaren Fläche.

selection_formatsoLIST

Für selection_type=FORMATBOX oder RANGEBOX. Liste von Maps mit Formaten. Siehe weiter unten.

selection_formats_positionoSTRING

TOP|BOTTOM|OFF. Für selection_type=FORMATBOX. Position der Format-Elemente. Mit BOTTOM werden die Format-Elemente am Schluss der Selektions-Elemente aufgeführt.

TopicsParameter für Selektion Topics.
topics_titleoSTRING

Titel für Auswahl Topics. Default: 'Ebenen auswählen'.

topics_visibleoSTRING

ON|OFF. Ist die Topicsauswahl sichtbar. Default=ON.

topics_displayoLIST

Definiert zu einem Produkt die Displaynamen von Modellen und Topics. Mehere Modelle und/oder Topics können unter Displaynamen zusammengefasst werden. Zusätzliche Texte können definiert werden. Alle Einträge der Liste sind vom Typ STRING.

Syntax

STRING '<label>:<definition>'

<label> := topic|text

topic:<display-model>:<display-topic>;<model>:<topic>[,<topic>]

text:<text>

<display-model> := Freier Text

<display-topic> := Freier Text

<model> := Ein extistierender Modelnamen für das Product.

<topic> := Ein extistierender Topicnamen für das Product.

<text> := Freier Text.

Beispiel

STRING 'topic:Amtl. Vermessung,Basisbezug;Grunddatensatz_ZH:Fixpunkte,...

STRING 'topic:Amtl. Vermessung,weiteres;Grunddatensatz_ZH:Bodenbedeckung,...

STRING 'text: Dies ist der Basisbezug'

topics_preselected_choiceoLIST

Definiert zu einem Product vorselektierte Topics. Werden mit topics_display Displaynamen verwendet, so sind auch in diesen Definitionen die Displaynamen zu verwenden. Alle Einträge der Liste sind vom Typ STRING.

Syntax

STRING '<model>:<topic>[,<topic>]'

<model> := Ein extistierender Modelnamen für das Product.

<topic> := Ein extistierender Topicnamen für das Product.

Beispiel

STRING 'Grunddatensatz:Fixpunkte,Bodenbedeckung'

oder mit Displaynamen aus topics_display

STRING 'Amtl. Vermessung:Basisbezug,weiteres'

topics_precelected_fixedoLIST

Definiert zu einem Product fix selektierte Topics. Die Topics können nicht deselektiert werden. Syntax wie Parameter topics_precelected_choice

topics_choice_dependenceoLIST

Definiert voneinander abhängige Topics für die Selektion. Wird ein Topic selektiert/deselektiert, so werden auch die abhängigen Topics selektiert/deselektiert. Werden mit topics_display Displaynamen verwendet, so sind auch in diesen Definitionen die Displaynamen zu verwenden. Alle Einträge der Liste sind vom Typ STRING.

Syntax

STRING '<model>:<topic>[,<topic>][;<model>:<topic>[,<topic>]]'

<model> := Ein extistierender Modelnamen für das Product.

<topic> := Ein extistierender Topicnamen für das Product.

Beispiel

STRING 'Grunddatensatz:Fixpunkte,Bodenbedeckung'

oder mit Displaynamen aus topics_display

STRING 'Amtl. Vermessung:Basisbezug,weiteres'

OptionsParameter für weitere Optionen.
selection_options_titleoSTRINGTitel für Optionen. Default: 'Optionen'.
selection_optionsoMAP

Definiert weitere Optionen in einer MAP. Alle Einträge der Map sind vom Typ STRING.

Syntax

<option> STRING '<type>,<label>[,<value>[,<value>]]'

<option> := Freier Name.

<type> := choice|choice2|textfield|checkbox

<label> := Freier Text.

<value> := Freier Text für eventuelle Werte für die Option.

choice,<label>,<value>[,<value>]|<select statement>

Auswahl von fixen Werten oder aus einer Datenbanktabelle. Das select statement beinhaltet 1 Rückgabewerte.

choice2,<label>,<value>[,<value>]|<select statement>

Auswahl von fixen Werten oder aus einer Datenbanktabelle. Das select statement beinhaltet 2 Rückgabewerte. Der erste Wert wird displayed, der zweite Wert wird der Option zugewiesen.

textfield,<label>

Freies Textfeld.

checkbox,<label>

Checkbox.

Beispiel

auswahl1 STRING 'choice,Auswahl1,Wert1,Wert2'

auswahl2 STRING 'choice,Auswahl2,select Nummer from GS_Parzelle'

auswahl3 STRING 'choice2,Auswahl3,select Gemeinde,Prefix from GS_Gmd'

auswahl4 STRING 'textfield,Auswahl4'

auswahl5 STRING 'checkbox,Auswahl5'

Option

Der selektierte Wert einer Option steht in der weiteren Verarbeitung des Produktes für die Konfigurationen wie folgt zur Verfügung.

OPT.selection_<option>

Beispiel:

OPT.selection_auswahl1 = 'Wert1'

InformationParameter für weitere Informationen.
info_productoSTRING

Relative oder absoulte URL zu einer HTML-Seite mit Produktinformationen. Falls definiert erscheint bei der Produkteauswahl ein Infobutton mit einem Link.

Beispiel: /info/infoproducts.html

Bei relativer URL muss die Seite muss wie folgt abgelegt sein.

GEOSHOP_DIR\user\www\info\infoproducts.html

info_nutzungsbestimmungenoSTRING

Wenn definiert, erscheint nach der Produkteauswahl und nach einer eventuellen Preisberechnung eine Seite mit den Nutzungsbestimmungen.

Der STRING beinhaltet eine URL, die auf ein File zeigt. Die URL kann eine relative oder absoulte URL beinhalten. Wenn die URL relativ ist, muss diese realtiv zu GEOSHOP_DIR\user\www sein.

Beispiel:

info_nutzungsbestimmungen STRING /nutzungsbestimmungen/nutzungsbestimmungen.html

Das File muss abgelegt sein in

GEOSHOP_DIR\user\www\nutzungsbestimmungen\nutzungsbestimmungen.html

Es gibt 3 Varianten, die Nutzungsbestimmungen zu definieren.

Bei jeder Variante zeigt die URL auf ein File mit unterschiedlicher Extension. Das File beinhaltet weitere Definitionen.

Variante als Textfile *.txt

Im Menu wird der Inhalt des Files angezeigt.

Variante als HTML-File *.html

Im Menu wird vordefinierter Text mit einem Icon angezeigt.

Das Icon beinhaltet einen Link zum HTML-File.

Der Icon muss einmal aktiviert werden. Damit werden die Nutzungsbestimmungen angezeigt und akzeptiert.

Variante als Optionen-File *.opt

Im Menu wird Text mit einem Link und einem Icon angezeigt.

Der Link referenziert ein HTML-File mit den Nutzungsbestimmungen. Damit können die Nutzungsbestimmungen angezeigt werden.

Der Icon muss aktiviert werden, um die Nutzungsbestimmungen zu akzeptieren.

Das Optionen-File *.opt beinhaltet weitere Definitionen.

Diese sind als Map im File abzulegen. Beispiel:

MAP
   icon1 STRING 'nb1.gif'
   icon2 STRING 'nb2.gif'
   text LIST {
      STRING 'Ich habe die'
      STRING '<A HREF=
              ..."/Nutzungsbestimmungen/Nutzungsbestimmungen.html"
              ...>Allgemeinen Nutzungsbedingungen
              ...</A>'
      STRING 'gelesen, verstanden und erkläre'
      STRING 'hiermit mein Einverständnis'
      STRING '(Icon anklicken)'
   }
}

Die einzelnen Optionen sind:

icon1 STRING <icon>

Icon für noch nicht akzeptierte Nutzungsbestimmungen.

Die Icons sind abzulegen in GEOSHOP_DIR\user\www\icons

icon2 STRING <icon>

Icon für akzeptierte Nutzungsbestimmungen.

text LIST <List of STRING>

Eine Liste von Strings die als Text im Menu angezeigt werden.

Falls im Text ein Link zu den Nutzungsbestimmungen enthalten sein soll, muss der Link als HTML HREF-Element definiert werden.

Siehe Beispiel oben.

info_policyoSTRING

Relative oder absoulte URL zur HTML-Seite mit der Policy. Falls definiert erscheint bei der Eingabe der Bestellinformationen ein Infobutton.

Beispiel: /info/policy.html

Bei relativer URL muss die Seite muss wie folgt abgelegt sein.

GEOSHOP_DIR\user\www\info\policy.html

OrderParameter für weitere Informationen für Bestellung.
order_la_optionsoLIST

Liste von weiteren Eingabefelderen für Bestellinformation. Alle Einträge der List sind vom Typ STRING .

Syntax

STRING '<type>,<label[*]>[,<value>[,<value>]]'

<type> := choice|textfield

<label[*]> := Freier Text. Ein * markiert ein Mussfeld.

<value> := Freier Text für eventuelle Werte für die Option.

choice,<label>,<value>[,<value>]

textfield,<label>

Beispiel

STRING 'textfield,Verwendung *'

Option

Der selektierte Wert einer Option steht in der weiteren Verarbeitung des Produktes für die Konfigurationen wie folgt zur Verfügung.

OPT.delivery_la<label>

Beispiel:

OPT.delivery_laverwendung = 'Baueingabe'

Alle Optionen der Lieferadresse stehen in folgender Form zur Verfügung.

OPT.deliverey_la<option>

order_ra_optionoSTRING

ON|OFF. Soll bei der Eingabe der Lieferadresse eine Checkbox erscheinen, über die eine Rechnungsadresse eingegeben werden kann. Default = OFF .

Option

Alle Optionen der Rechnungsadresse stehen in folgender Form zur Verfügung.

OPT.deliverey_ra<option>

product_la_traileroLIST

Weitere Informationen, die am Ende des Menüs für die Lieferadresse angezeigt werden. Alle Einträge der Liste sind vom Type STRING.

Syntax

STRING '<value>]'

<value> := Freier Text.

Beispiel

STRING 'Bei Fragen melden Sie sich bitte bei uns'

PreisParameter Preis
price_menu_displayoSTRINGON|OFF. Soll das Preismenu dargestellt werden. Default=ON. Nur wirksam wenn auch eine Preisfunktion mit price_function definiert ist. Ist eine Preisfunktion gesetzt, das Preismenu wird nicht dargestellt und die Preisfunktion mit OPT.price bring einen Preis von < 0.0 zurück, so wird die Meldung angezeigt, die in der Preisfunktion gesetzt wird.
WeiteresParameter Weitere
product_traileroLIST

Weitere Informationen, die am Ende des Menüs des Produktes angezeigt werden. Alle Einträge der Liste sind vom Type STRING.

Syntax

STRING '<value>]'

<value> := Freier Text.

Beispiel

STRING 'Dies ist ein tolles Produkt'

viewoSTRING

View der Datensicht, die bei der Selektion des Produktes eingestellt werden soll.

Beschreibung Parameter MAP PRODUCT.params.selection_formats (Format) für selection_type=FORMATBOX
Parameterreq/optTypBeschreibung
formatrSTRING

A0|A1|A2|A3|A4. Name des Formats.

Die Option steht als OPT.selection_format zur Weiterverarbeitung zur Verfügung.

orientationsoSTRING

[quer][,][hoch]. Möglich Orientierungen des Formats.

Die Option steht als OPT.selection_formatorientation zur Weiterverarbeitung zur Verfügung.

scalesrSTRING

[1:250[,1:500]. Möglich Massstäbe des Formats.

Die Option steht als OPT.selection_scale zur Weiterverarbeitung zur Verfügung.

format_defaultoSTRING

ON|OFF. Dies ist das Default-Format.

orientation_defaultoSTRING

quer|hoch. Dies ist das Default-Orientierung.

scale_defaultoSTRING

Dies ist der Default-Massstab. Ein Wert aus scales .

layout_itf,

<format>,

<orientation>,

<scale>

oSTRING

INTERLIS-itf-File mit Layoutdefinition für die Darstellung des Formates im GeoShop Client. Das INTERLIS-itf-File beinhaltet den Layout im Modell PlotLayout vor. Die Layoutdefinition kann in Abhängigkeit der Kombination <format>,<orientation>,<scale> definiert. Anstelle der Werte kann auch * verwendet werden. Das INTERLIS-itf-File wrd relativ definiert.

Beispiel

layout_itf,A4,quer,1:250 STRING '\plot\a4q250.itf'

layout_itf,A4,quer,* STRING '\plot\a4q.itf'

layout_itf,A4,* STRING '\plot\a4.itf'

Die INTERLIS-itf-Files müssen entsprechend der Definition abgelegt sein.

GEOSHOP_DIR\user\plot\*.itf

layout_def,

<format>,

<orientation>,

<scale>

oMAP

Alternative zu layout_itf,... . Die Layout Definition erfolgt anstelle des INTERLIS-itf-File mittels einer Map. Die Definition <format>,<orientation>,<scale> ist analog zu zu layout_itf,... . Die Map beinhaltet folgende Definitionen.

MAP

scale STRING <scale>

layout_scale STRING <layout_scale>

clip_area STRING <clip_area>

<scale> Für welchen Scale die Definitionen gilt.

<layout_scale> In welchem Scale die clip_area definiert ist.

<clip_area> Geschlossenes Polygon für den Clip-Bereich, repektive Datenbereich in der Form x1,y1,.....xi,yi,.....xn,yn

Beispiel

layout_itf,A4,hoch,* MAP

scale STRING 1:500

layout_scale STRING 1:500

clip_area STRING '0.01,0.01,0.20,0.01,0.20,0.28, ....

... 0.01,0.28,0.01,0.01)

}

Die clip_area im Beispiel ist für den Massstab scale=1:500 definiert. Die clip_area im Beispiel oben ist in Zentimeter definiert. Deshalb muss auch der layout_scale=1:500 mit definiert werden.

Beschreibung Parameter MAP PRODUCT.params.selection_formats (Format) für selection_type=RANGEBOX
Parameterreq/optTypBeschreibung
formatrSTRING

'<witdth x <height> <unit>'

Definition des Formats der Rangebox.

Besipiel:

selection_formats LIST

MAP

format STRING '250 x 125 Meter'

}

MAP

format STRING '500 x 250 Meter'

}

}

17.3. Preisberechnung

Die Preisberechnung für ein Produkt erfolgt über eine Konfiguration, die durch den Parameter price_function definiert wird. Die Preisberechnung ist im Dokument Verrechnungsmodul beschrieben.

17.4. Bestelldaten

Betsellungen werden Defaultmässig an zwei Stellen abgelegt.

Pro Bestellung erfolgt eine Ablage des Bestellung in einem Textfile mit dem Namen der Bestellnummer <orderno> . Das File beinhaltet Infomationen für den GeoShop zur Abwicklung des Jobs für die Bestellung.

GEOSHOP_DIR\data\orders\<orderno>

Dazu wird in der Datenbank in der Tabelle GS_Order pro Bestellung ein Record eingetragen.

GEOSHOP_DIR\data\dba\geoshop.mdb!GS_Order

Falls zusätzliche Informationen, zum Beispiel aus einer speziellen Preisberechnung in der Datenbank abgelegt werden sollen, kann eine separate Tabelle mit den Erweiterungen für die Bestellungen in der Datenbank angelegt werden. Dies ist in der Dokumentation des Verechnungmouls beschrieben.