Technische Dokumentation der Open Datacheck Deep Search

  • 30.11.2023 → neuer Eingangsparameter “predfefinedsearchterm" hinzugefügt

  • 07.09.2023 → neuer Eingangsparameter “suppliernamecursive“ hinzugefügt

  • 09.08.2023 → neuer Eingangsparameter “disableMetaTag” hinzugefügt

  • 09.08.2023 → neuen Eingangsparameter “excludefilters” hinzugefügt

  • 02.08.2023 → neuen Eingangsparameter “usemultitree” hinzugefügt

  • 28.07.2023 → neuen Eingangsparameter “usesubstitutes” hinzugefügt

  • 28.07.2023 → neuen Eingangsparameter “usedocuments” hinzugefügt

  • 28.07.2023 → neuen Eingangsparameter “usebimcad” hinzugefügt

  • 10.05.2023 → Erweiterung der “predefinedFilters” um die optionalen Felder “disabled” & “hidden”

  • 10.05.2023 → neues Event “selectedarticle“ hinzugefügt

  • 10.05.2023 → neuen Eingangsparameter “articleselectionmode“ hinzugefügt

  • 24.11.2022 → neues Event pdflinkextended

  • 30.09.2022 → neuer Eingangsparameter “downloadinnewtabtarget“ hinzugefügt

  • 28.09.2022 → neue Eingangsparameter für externe Links hinzugefügt (externallinkid, externalinkchannelid, widgetstate)

  • 26.09.2022 → Einbindung über Widget-Loader V2.0.0 hinzugefügt

  • 09.08.2022 → Eingangsevent closeAllDialogs hinzugefügt

  • 19.07.222 → pdflink Event hinzugefügt

  • 06.07.2022

    • shopcart Event erweitert

    • dialogstatus Event hinzugefügt

    • Parameter style, predifinedfilters und pdfviewer hinzugefügt

  • 04.05.2022 → Screenshots ausgetauscht

  • 22.03.22 → Hinzufügen dialogstatus

  • 02.03.2022 → Umstellen Widget-Loader-Version auf 1.0.1

  • 02.03.2022 → Umstellen URLs von GC nach OpenDatacheck

  • 28.01.2022 → Erstellen der Dokumentation als Einzelseite


Beschreibung

Auf dieser Seite finden Sie den Teil der technischen Dokumentation zur Open Datacheck Deep Search. Konkret finden Sie u.a. die technischen Inhalte zur Beispielintegration der Deep Search und der Beispielintegration der Deep Search mit BauDocs. Den Überblick des Inhalts finden Sie im Folgenden:


Inhalt


Integration per “xs-loader” Widget

Alle Widgets werden über den “xs-loader” eingebunden. Bitte machen Sie sich mit der Dokumentation https://itek-wissen.atlassian.net/wiki/spaces/SOF/pages/2841313293 vertraut.


Parameter “xs-deepsearch”

Eingang

Ab Version

Eingang

Ab Version

Parameter

Pflicht

Beschreibung

Beispielwert

 

channelid

Nein

Wenn eine ChannelID angegeben wird, wird die Anzeige der DeepSearch auf diese angefragten Kanäle eingeschrenkt. Die ChannelIDs müssen dabei immer in einem Array übergeben werden.

Der Benutzer muss dem angegeben Channel zugeordnet am System zugeordnet sein.

[2, 5]

Vor 2.0.19

channelfocus

Nein

Gibt an welcher Channel nach dem Starten des Widgets fokussiert werden soll. Wenn nicht angegeben oder die ChannelID nicht vorhanden ist, wird der erste Channel fokussiert.

5

Vor 2.0.19

predefinedarchivedfiltervalue

Nein

Gibt an ob der Archiviert Filter beim Aufruf auf den gewünschten Wert gesetzt ist.

Mögliche Werte:

  • false = Zeigt alle Dokumente die nicht archiviert sind an

  • true = Zeigt alle Dokumente die archiviert sind an

true

Vor 2.0.19

prefermanufacturerlogoview

Nein

Gibt an, ob die Herstelleransicht verwendet werden soll bis:

  • Nur Dokumente eines Herstellers im Ergebnisraum vorliegen

  • Ein oder mehrere Hersteller explizit ausgewählt wurden

    • Auswahl eines Herstellers in der Herstellerübersicht

    • Auswahl eines oder mehrerer Hersteller in dem Filter Hersteller

  • Wird der Parameter Herstellerübersicht nicht gesetzt wird der Standard, also die Ergebnisliste mit den Dokumenten angezeigt

 

Mögliche Werte:

  • true = Herstelleransicht wird bevorzugt

  • false = Standardverhalten

true

Vor 2.0.19

externalsearch

Nein

 

false

Vor 2.0.19

usebaudocs

Nein

Integration des BauDocs-Widget innerhalb der Artikeldetails

false

Vor 2.0.19

baudocsaccesstoken

Ja, wenn “usebaudocs” = true

OAuth2 Zugriffstoken für das BauDocssystem. Dieses Token muss zuvor vom integrierenden System am BauDocssystem angefragt werden.

-

Vor 2.0.19

baudocsrefreshtoken

Ja, wenn “usebaudocs” = true

OAuth2 Refreshtoken für das BauDocssystem. Dieses Token muss zuvor vom integrierenden System am BauDocssystem angefragt werden.

-

Vor 2.0.19

manufactureridtype

Ja, wenn “usebaudocs” = true

Der IDTyp der bei einer BauDocsanfrage zum Identifizieren / Mappen mitgesendet wird.

Diese Funktionalität steht nur zur Verfügung, wenn eine IDHUB Integration beauftragt wurde.

odc

Vor 2.0.19

videodefaultposter

Nein

Im Web verfügbares Bild das beim starten des Videos angezeigt wird, wenn kein Videoposter vorhanden ist.

https://url.png

Vor 2.0.19

removeroundbracketsinsuppliername

Nein

Entfernt Texte die im Lieferantennamen in Klammern umschlossen sind. Beispiel: “Lieferant(abc)” wird in der Oberfläche ersetzt durch “Lieferant”.

Standardwert ist false.

true

Vor 2.0.19

removesquarebracketsinsuppliername

Nein

Entfernt Texte die im Lieferantennamen in eckigen Klammern umschlossen sind. Beispiel: “Lieferant[abc]” wird in der Oberfläche ersetzt durch “Lieferant”.

Standardwert ist false.

true

Vor 2.0.19

widgetstate

Nein

Initialisiert das Widget nach einem Rücksprung.

c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi9wYWdlL3RodW1ibmFpbHMvMTAzMTkyNjRfOTA2LnBkZi5qcGVn

Vor 2.0.19

style

Nein

JSON-Objekt zur Definition der Primär- und Sekundär-Farbe des Widgets. Das Objekt hat zwei Felder:

  • primarycolor: Primärfarbe. Als Wert wird ein Hexadezimal-String erwartet (Beispiel: "#616161").

  • secondarycolor: Sekundärfarbe. Als Wert wird ein Hexadezimal-String erwartet (Beispiel: "#D3D3D3").

"style":{ "primarycolor": "#616161", "secondarycolor": "#D3D3D3" }

Vor 2.0.19

predfefinedsearchterm

Nein

Mit diesem Parameter ist es möglich den Suchbegriff vor zu belegen. Der übergebene Wert wird bei der initialen Suche verwendet und taucht im Suchschlitz auf. Wird der Parameter nicht angegeben wird die Suche ohne Suchbegriff gestartet.

"predfefinedsearchterm": "Waschtisch"

2.0.20

predifinedfilters

Nein

Filter die beim Einsprung in das DeepSearch-Widget vorausgewählt seien sollen. Die Filtereinstellung kann pro Kanal vorgenommen werden.

Felder im

  • channelid: Die Id des Channels auf die der Filter angewandt werden soll.

  • filters: Eine Liste von vorausgewählten Filtern.

Es gibt die Filtertypen “Auswahl” (eine Liste von Filteroptionen) und “Bereich” (Einschränkung per minimal und maximal Wert z.B. bei Preisen). Im Feld filters können beide Typen verwendet werden.

Felder für den Typ “Auswahl”:

  • name: Der Name des Filters

  • values: Eine Liste von Filteroptionen die vorausgewählt seien sollen

  • disabled: Dieser Filter wird vorausgewählt und kann über die DeepSearchoberfläche nur teilweise geändert werden. Es könne die gewählten Filter abgewählt werden, bis nur noch einer von den vorausgewählten vorhanden ist. Ein zurücksetzen dieses Filters setzt die Werte wieder auf den ausgangszustand zurück. Damit ist gewährleistet das die maximale vordefinierte Ergebnismenge nicht verlassen werden kann.

  • hidden : Dieser Filter wird vorausgewählt und wird in der DeepSearch nicht angezeigt. Dieser kann über das Frontend nicht verändert werden.

Felder für den Typ “Bereich”:

  • name: Der Name des Filters

  • minvalue: Untere Grenze der Auswahl

  • maxvalue: Obere Grenze der Auswahl

"predifinedfilters":[ { "channelid": 1, "filters":[ { "name": "warengruppe", "values": ["Washlets", "WCs"] "disabled": false, "hidden": true }, { "name": "preis", "minvalue": 100, "maxvalue": 10000 } ] }, { "channelid": 2, "filters": [ { "name": "infoPackageName.name", "values": ["Preisliste", "Price List"] "disabled": true, } ] } ]

Vor 2.0.19

excludefilters

nein

Filter die Werte auschließen. Das Verhalten ist gleichzusetzen mit einer Blacklist. Die Filtereinstellung kann pro Kanal vorgenommen werden.

Felder im

  • channelid: Die Id des Channels auf die der Filter angewandt werden soll.

  • filters: Eine Liste von vorausgewählten Filtern.

Es gibt die Filtertypen “Auswahl” (eine Liste von Filteroptionen) und “Bereich” (Einschränkung per minimal und maximal Wert z.B. bei Preisen). Im Feld filters können beide Typen verwendet werden.

Felder für den Typ “Auswahl”:

  • name: Der Name des Filters

  • values: Eine Liste von Filteroptionen die vorausgewählt seien sollen

Vor 2.0.19

pdfviewer

nein

Das Objekt dient als Konfigurationsobjekt für den PDF-Viewer

Aktuell gibt es nur eine Oberkategorie

  • position

    • top

    • right

    • bottom

    • left

Alle Werte werden als Pixel-Werte implementiert. Eine Einheit muss nicht zwingend angegeben werden.

Vor 2.0.19

downloadinnewtab

Nein

Wird der Parameter auf true gesetzt, so öffnet sich beim klick auf den Downloadbutton ein neuer Tab und die Datei wird heruntergeladen

 

Vor 2.0.19

downloadinnewtabtarget

Nein

In Verbindung mit “downloadinnewtab” zu verwenden. Wird nur verwendet, wenn “downloadinnewtab” auf true gesetzt ist

Gibt das Ziel an, das die Download-URL öffnen soll

Im Standard oder wenn kein Wert gesetzt ist, wird “_blank“ verwendet

 

Vor 2.0.19

externallinkid

Nein

Die link ID der hochgeladenen Datei, die beim Aufruf des Widgets geöffnet werden soll.

Muss zusammen mit “externallinkchannelid” gesetzt werden

Vor 2.0.19

externallinkchannelid

Nein

Der Kanal in dem die Datei, die mit “externallinkid” referenziert wurde, hinterlegt ist.

Muss zusammen mit “externallinkid” gesetzt werden

Vor 2.0.19

widgetstate

Nein

Alle GET-Parameter der Deep-Search als Base64 String.

Damit kann eine bestimmte Ansicht sofort beim Öffnen der Deep-Search geladen werden.

Vor 2.0.19

articleselectionmode

Nein

Zeigt in der Artikelliste einen Button “Hinzufügen” an der beim drücken das Ausgangsevent “selectedarticle” auslößt.

Standardwert ist false.

true

Vor 2.0.19

usesubstitutes

Nein

Integration des Substitute-Widgets (alternativartikel) innerhalb der Artikeldetails. Dieses Feature kann nur Verwendet werden, wenn dies am System und für den Kanal aktiviert wurde. Über diesen Parameter kann es bei der Integration deaktiviert werden.

Standardwert ist true.

false

Vor 2.0.19

usedocuments

Nein

Integration des XS-Documents-Widgets (Bibliothek) innerhalb der Artikeldetails. Dieses Feature kann nur Verwendet werden, wenn dies am System und für den Kanal aktiviert wurde. Über diesen Parameter kann es bei der Integration deaktiviert werden.

Standardwert ist true.

false

Vor 2.0.19

usebimcad

Nein

Integration des BIM / CAD Widgets innerhalb der Artikeldetails. Dieses Feature kann nur Verwendet werden, wenn dies am System und für den Kanal aktiviert wurde. Über diesen Parameter kann es bei der Integration deaktiviert werden.

Standardwert ist true.

false

Vor 2.0.19

usemultitree

Nein

Anzeige des Baums als Filter in der Artikelsuche. Dieses Feature kann nur Verwendet werden, wenn dies am System und für den Kanal aktiviert wurde. Des weiteren muss eine Definition des Baumes am Kanal gepflegt worden sein. Über diesen Parameter kann es bei der Integration deaktiviert werden.

Standardwert ist true.

false

Vor 2.0.19

disableMetaTag

Nein

Das XS-DeepSearch-Widget bindet ein meta-Tag ein. Dieses meta-Tag ist wie folgt definiert:

Das Tag ist essenziell für die Darstellung des Widgets auf mobilen Endgeräten. Bei der Einbindung des Widgets in Apps kann der Tag zu Problemen führen.

Mit diesem Parameter lässt sich steuern, ob der meta-Tag angelegt wird. Der meta-Tag kann dann beispielsweise von der einbinden Webseite zur Verfügung gestellt werden.

Zu beachten ist, dass, falls der Tag abgeschaltet wird, für eine korrekte Darstellung auf mobilen Endgeräten keine Gewähr übernommen wird.

Standardwert ist false.

true

Vor 2.0.19

suppliernamecursive

Nein

Der Parameter bestimmt, ob der Herstellername in der OpenBIB in kursiv angezeigt wird.

Bei true würden die Namen kursiv angezeigt werden:

Bei false würden die Namen nicht kursiv angezeigt werden:

 

false

Vor 2.0.19

Ausgang

 

shopsearch

Nein

Dieses Event wird nur ausgegeben, wenn diese Funktion für den entsprechenden Kanal angeschaltet wurde.

Das Event beinhaltet folgende zwei Informationen.

  • searchterm

    • String / Kann leer sein

  • manufacturerid

    • String / Kann leer sein

  • callback

    • thumbnailurl: String, URL zum Thumbnail des Dokumentes. Bei Abruf muss der OAuth2 Token im Header der Anfrage mitgegeben werden.

    • uploaddescription: String, Uploadbeschreibung des Dokumentes

    • widgetstate: String, Status des Widgets für Rücksprung. Muss dem Widget beim Rücksprung in den Parametern übergeben werden um den Status wiederherzustellen.

 

Vor 2.0.19

shopcart

Nein

Dieses Event wird nur ausgegeben, wenn diese Funktion für den entsprechenden Kanal angeschaltet wurde.

  • thumbnailurl: String, URL zum Thumbnail des Dokumentes. Bei Abruf muss der OAuth2 Token im Header der Anfrage mitgegeben werden.

  • uploaddescription: String, Uploadbeschreibung des Dokumentes

  • widgetstate: String, Status des Widgets für Rücksprung. Muss dem Widget beim Rücksprung in den Parametern übergeben werden um den Status wiederherzustellen.

 

 

Vor 2.0.19

status

ja

Dieses Event wird immer beim Initialisieren ausgegeben.

  • error

  • complete

 

Vor 2.0.19

dialogstatus

Nein

Dieses Event wird beim öffnen und schließen eines Dialoges ausgegeben. Werte:

  • open

  • close

 

Vor 2.0.19

pdflink

Nein

Dieses Event wird bei einem Klick auf einen externen Link in einem PDF Dokument ausgegeben.

Ausgabe des im PDF Dokument angegebene Wert für den externen Link als String

Vor 2.0.19

pdflinkextended

Nein

Dieses Event wird zusätzlich zum Event “pdflink” ausgelöst und beinhaltet ein callback-Attribut, das für den Rücksprung ins Widget verwendet werden kann.

Die Attribute in des Callback-Events sind:

  • searchterm

  • manufacturerid

  • thumbnailurl

  • uploaddescription

  • widgetstate

Beispielausgabe des Events:

Vor 2.0.19

selectedarticle

Nein

Dieses Event wird nur ausgegeben, wenn der Eingangsparameter “articleselectionmode” auf “true” gesetzt ist. Dann wird beim klicken auf den Button “Hinzufügen” in der Artikelliste das Event ausgelöst.

Die Attribute des Events:

  • productInstanceId

  • productInstanceIdBase64 (optional)

  • productId

  • productIdBase64 (optional)

  • supplierId

  • supplierPid (optional)

Beispielausgabe:

Vor 2.0.19

Eingangsevents

 

closeAlldialogs

 

Dieses Event kann an das Widget emittet werden. Das Widget fängt das Event und schließt daraufhin alle zu Zeit geöffneten Dialogfenster.

Beispielaufruf:

Vor 2.0.19

Beispielabbildung

Beispielparameter

Beispielintegration

Folgendes Codesnippet in den HTML DOM einbetten.

Widget-Loader V1.x.x

Widget-Loader V2.x.x

Beispielevent “shopsearch”

Folgendes Codebeispiel wartet auf das Rückgabevent “shopsearch” von der DeepSearch.

Beispielevent “shopcart”

Folgendes Codebeispiel wartet auf das Rückgabevent “shopcart” von der DeepSearch.

Beispielevent “status”

Folgendes Codebeispiel wartet auf das Rückgabevent “status” von der DeepSearch.

 


Beispielcode (PHP)

Widget-Loader V1.x.x

 

Widget-Loader V2.x.x

Widget-Loader V1.x.x

 

Widget-Loader V2.x.x