© 2012-2013, Heymann Consulting
Smart Filters für Cumulus Sites - Version 8.5.1
 
Dokumentation
 
Dokumentation Version: 8.5.1.1 
letzte Modifikation: 2013-02-22 

Inhalt

 

0 Einführung

   0.1 Demoversion
   0.2 Danksagung

1 Installation

   1.1 Systemanforderungen
   1.2 Installation

      1.2.1 Smart Filters und Smart Categories gemeinsam nutzen

   1.3 Smart Filters Seriennummer hinzufügen
   1.4 Aktualisieren der Smart Filters für Cumulus Sites Version
   1.5 Smart Filters für Cumulus Sites entfernen

2 Konfiguration

   2.1 Mehrsprachigkeit des Filterbaumes
   2.2 Definition der Separatoren
   2.3 Definition der Filter (Cumulus Felder)
   2.4 Definition der Filterbedingungen (custom queries)
   2.5 Verwendung von Dummy-Feldern

3 Anwendung

   3.1 Definition von Custom Queries

      3.1.1 Beispiel Custom Query für Feldtyp Text
      3.1.2 Beispiel Custom Query für Feldtyp Ganzzahl
      3.1.3 Beispiel Custom Query für Feldtyp Länge
      3.1.4 Beispiel Custom Query für Feldtyp Boolesch
      3.1.5 Beispiel Custom Query für Feldtyp Datum
      3.1.6 Beispiel Custom Query für Feldtyp Auflösung
      3.1.7 Beispiel Custom Query für Feldtyp Wertung
      3.1.8 Beispiel Custom Query für Feldtyp Etikett

   3.2 Custom Queries für spezielle Felder

      3.2.1 Beispiel Custom Query für Feld Kategorien
      3.2.2 Beispiel Custom Query für Feld Katalogname

   3.3 Custom Queries 'mit Wert/ohne Wert'

4 Zusätzliche Information

   4.1 Verwendung von Smart Filters mit Multi-Katalog-Kollektionen
   4.2 Mehrsprachigkeit
   4.3 Smart Filters CSS
   4.4 Java Heap Space Fehler

5 Versionshistorie & Produkt Support

 

0 Einführung

 

Die Smart Filters für Cumulus Sites erzeugen einen komplett konfigurierbaren Filterbaum in Cumulus Sites, der Checkbox-Listen verwendet, um die Optionen für den Anwender übersichtlich darzustellen. Somit kann der Anwender kombinierte Suchbedingungen sogar innerhalb der Feldwerte eines Feldes auswählen.

 
 
Smart Filters für Cumulus Sites
 

Alle Filteroptionen des Baumes können vom Administrator spezifiziert werden, somit bleibt die Filterliste für den Anwender sehr übersichtlich und einfach zu benutzen, denn nicht benötigte Filteroptionen können ausgeblendet werden. Die Filteroptionen können automatisch auf Basis der Felddefinition erzeugt werden (für eine Vielzahl von Feldtypen) oder können explizit als freie Filterbedingungen (custom queries) definiert werden. Durch das Anlegen von Dummy-Feldern im Katalog wird es möglich, zusätzliche Filter zu definieren, die nicht auf den Feldinhalten basieren.

Der Filterbaum ist für den Benutzer übersichtlich und einfach zu verwenden, da gerade nicht benötigte Filter automatisch zugeklappt werden. So bleibt die Darstellung immer schlank und ein Scrollen im Baum ist nicht notwendig. Separatoren ermöglichen das Zusammenfassen von Filterfeldern zu thematischen Gruppen. Das Öffnen eines Separators schließt automatisch den gerade geöffneten Separator, was die Übersichtlichkeit des Baumes erhöht.

Weitere Einstellungen ermöglichen das automatische Aufklappen eines Filterfeldes beim Starten der Web-Applikation oder beim Umschalten der Sprache. Der Separator zum Feld und das Feld selbst werden dann geöffnet dargestellt.

Wurde eine Filterbedingung gewählt, wird ein Mülleimer-Symbol hinter dem Feldnamen und hinter dem Namen des Separators dargestellt. Durch Klick auf das Mülleimer-Symbol hinter dem Feldnamen können alle Filteroptionen zum Feld entfernt werden, ein Klick auf das Mülleimer-Symbol hinter dem Separatornamen entfernt alle Filteroptionen zu allen gerade gewählten Feldern des Separators.

Der Filterbaum unterstützt alle im Katalog und Sites verwendeten Sprachen, der Anwender kann in Sites die Sprache während der Laufzeit umschalten. Der Titel der Filterbox kann in der Konfigurationsdatei eingestellt werden, auch dieser kann dort in verschiedenen Sprachen hinterlegt werden.

Die Konfigurationsdatei im XML-Format ermöglicht dem Administrator die übersichtliche Konfiguration der Filtereinstellungen.

 
 
Smart Filters für Cumulus Sites
ein Datumsfilter-Beispiel
 

Benötigen Sie weitere Funktionen im Produkt? Gerne entwickeln wir zusätzliche Funktionen, die das Produkt für Ihren Anwendungsfall optimieren. Senden Sie uns einfach eine Email mit Ihren Verbesserungsvorschlägen, indem Sie hier klicken.


0.1 Demoversion

Nach der Installation von Smart Filters für Cumulus Sites muss noch die Seriennummer der Lizenzierung des Cumulus Servers hinzugefügt werden. Ohne die Freischaltung einer Seriennummer erhalten Sie folgende Meldung:

 
 
Smart Filters unregistriert
 

Die Demo-Seriennummer für Smart Filters für Cumulus Sites lautet:

kzz-hlm-ena-lpu-kjk-ldw            17109-000000    Smart Filters 8.5 for Cumulus Sites Demo

Die Demoversion ist zeitlimitiert. Die Freischaltung endet am Ende des nachfolgenden Monats, das genaue Datum können Sie dem Cumulus Lizenzdialoges nach der Freischaltung entnehmen. Wie Sie die Seriennummer Ihrer aktuellen Lizenz hinzufügen, erfahren Sie in Kapitel 1.3 Smart Filters Seriennummer hinzufügen.


0.2 Danksagung

Wir möchten uns bei allen Personen bedanken, die geholfen haben, dieses Produkt zu entwickeln. Vielen Dank an alle aktuellen Cumulus Kunden, die durch Ihre Verbesserungsvorschläge geholfen haben, dieses nützliche Produkt zu entwickeln. Wir freuen uns auf Ihr Feedback, welches uns auch weiterhin helfen wird, dieses Produkt noch weiter zu verbessern.

 

1 Installation

 

1.1 Systemanforderungen

Systemanforderung:

- Canto Cumulus Workgroup oder Enterprise Server 8.5.x oder neuer
- Cumulus Sites 8.5.2 oder neuer
- Java 1.6 oder neuer

Smart Filters erfordert Cumulus Sites 8.5.2 oder neuer, z.B. die Version 8.5.1 ist leider nicht aktuell genug. Wenn Sie versuchen eine ältere Version zu verwenden, erhalten Sie folgende Fehlermeldung:

 
 
Smart Fitlters Version zu alt
 

1.2 Installation

Alle Dateien, die für die Installation notwendig sind, finden Sie im Verzeichnis 'Installation' im Smart Filters Produktverzeichnis.

Nach der Installation von Cumulus Sites befindet sich die Cumulus Sites Web-Applikation im Verzeichnis 'Sites' im Ordner 'webapps' Ihres Tomcat Applikationsverzeichnisses.

Bitte stellen Sie sicher, dass Sie Cumulus Sites 8.5.2 oder neuer verwenden!

Dies sind die Arbeitsschritte zur Installation von Smart Filters für Cumulus Sites:

1. Stoppen Sie Ihren Web-Applikationsserver Tomcat.

2. Kopieren der Produkt Dateien:

Kopieren Sie das Verzeichnis 'SmartFilters-8-5-x', welches sich im Produktordner 'Installation' befindet, in das Cumulus Sites Web-Applikationsverzeichnis 'Sites' in den Unterordner 'customizations'.

Wenn Sie bereits eine älter Version von 'SmartFilters-8-5-x installiert haben, folgen Sie bitte den Anweisungen in Kapitel 1.3 Aktualisieren der Smart Filters for Cumulus Sites Version, um die Versionen auszutauschen.

3. Kopieren der Bibliotheksdatei:

Kopieren Sie die Datei '/Sites/customizations/SmartFilters-8-5-x/WEB-INF/lib/SmartFilters.jar' in den Ordner '/Sites/WEB-INF/lib'.

4. Öffnen Sie die Datei 'Sites/WEB-INF/web.xml' mit einem beliebigen Texteditor. Kopieren Sie die folgenden 3 Zeilen in die Datei web.xml an genau die Position, die unten im Screenshot angegeben ist:

<listener>
<listener-class>com.hc.sites.smartfilters.CustomizationManager</listener-class>
</listener>

 
 
Die 3 blau markierten Zeilen sind an der Position in die web.xml Datei einzufügen
 

5. Starten Sie Tomcat neu. Beim Neustart von Tomcat wird die Cumulus Sites Technology alle Produktdateien aus dem Verzeichnis 'customizations/SmartFilters-8-5-x' in die jeweiligen Ordner der Web-Applikation kopieren. Es werden '.jspx' Dateien, Bibliotheksdateien und Dateien unterschiedlicher Typen in die angegebene Struktur kopiert.

6. Konfigurieren Sie die Einstellungen von Smart Filters for Cumulus Sites, wie im Kapitel 2 Konfiguration beschrieben oder lassen Sie die Standard-Einstellungen unverändert für einen ersten Test der Web-Applikation.

Hinweis: Der Standard-Name der Cumulus Sites Web-Applikation ist 'Sites'. Der Name Ihres verwendeten Verzeichnisses kann natürlich abweichen.

Das war's! Öffnen Sie nun einfach Ihren Web Browser und verwenden Sie den neuen Filterbaum.

Hinweis: wenn Sie die Filter von Canto(!) aus der Web-Applikation entfernen möchten, öffnen Sie die Cumulus Sites Konfigurationsdatei '/WEB-INF/conf/sites-config.xml' und setzen den Parameter entsprechend auf 'false':

<filterTree enabled="false" collapsed="false" />

Wenn die Smart Filters nach Durchführung dieser Installationsschritte und einem Neustart von Tomcat nicht angezeigt werden, liegt dies vermutlich an dem Inhalt der Sites-Datei 'sites.jspx'. Die Smart Filters verwenden einen sogenannten 'CustomizationManager', der beim Neustart der Web-Applikation die Datei 'sites.jspx' modifiziert und die Smart Filters in den linken Filterbereich der Seite integriert. Dabei werden an verschiedensten Stellen Änderungen in der Datei vorgenommen.

Sollte es bei der Modifikation der Datei zu Fehlern kommen, wird die Modifikation komplett abgebrochen und die Datei 'sites.jspx' gar nicht modifiziert. Die aufgetretenen Fehler werden in der Tomcat Logdatei protokolliert. Sie finden diese unter

/apache-tomcat-7.0.26/logs/SERVERNAME.DATUM.log

also z.B. am 7.7.2012 unter

/apache-tomcat-7.0.26/logs/localhost.2012-07-07.log

Dort finden Sie Einträge wie

INFO: [HC SmartFilters CustomizationManager] ERROR recordColumnWithFilterColumn position not found

Diese geben Auskunft über den Fehler in der Datei 'sites.jspx'. Bitte senden Sie uns diese Information zusammen mit Ihrer Web-Applikation, falls ein solcher Fehler auftritt und wir sind Ihnen dann gerne bei der Korrektur behilflich.


1.2.1 Smart Filters und Smart Categories gemeinsam nutzen

Wenn Sie neben den Smart Filters auch die Smart Categories erworben haben, die einen hierarchischen Kategoriebaum erzeugen, können Sie beide Produkte in Ihrer Sites Web-Applikation parallel verwenden.

 
 
Aktivierung der Smart Filters und Smart Categories
 

Die Reihenfolge der angegebenen 'Listener' definiert die Reihenfolge der Filterbäume in der Webseite. Dabei wird der untere Eintrag zuerst angezeigt, also stehen nach der Konfiguration die Smart Categories oben über den Smart Filters. Tauschen Sie die Reihenfolge der beiden Definitionen, um die Smart Filters oberhalb der Smart Categories anzuzeigen.


1.3 Smart Filters Seriennummer hinzufügen

Die Seriennummer der Vollversion oder Demoversion ist eine Cumulus Optionsseriennummer, die den anderen Cumulus Seriennummern im Lizenzdialog des Cumulus Remote Admin hinzugefügt werden muss. Nach dem Hinzufügen der Seriennummer müssen Sie dann von der Canto Website einen neuen Aktivierungsschlüssel für Ihre Cumulus Umgebung erhalten. Folgende Arbeitsschritte sind für die Freischaltung notwendig:

Option 1: Aktivierung des Produktes mit dem Cumulus Client:

1. Öffnen Sie den Cumulus Client.

2. Wählen Sie 'Datei>Administration>Server-Konsole...'.

3. Verbinden Sie sich als Cumulus Administrator und wählen Sie 'Remote Admin>Lizenz'

4. Verwenden Sie das Server-Konsole-Menü und klicken Sie 'Aktionen>Lizenz bearbeiten' und fügen Sie Ihre Smart Filters for Cumulus Sites Seriennummer hinzu.

5. Klicken Sie 'Cumulus aktivieren...', um einen neuen Cumulus Aktivierungsschlüssel zu erhalten, der dann auch die Smart Filters for Cumulus Sites frei schaltet. Der Lizenzdialog sollte danach eine unlimitierte Anzahl von Lizenzen für das Modul anzeigen (oder 4095).

Für weitere Informationen, wie man Cumulus Optionsseriennummern dem Cumulus Server hinzufügt, lesen Sie bitte im entsprechenden Kapitel im Cumulus Administrationshandbuch nach.

Sie können auch den Cumulus Remote Admin über eine Webseite verwenden, um die das Produkt zu aktivieren:

ODER Option 2: Verwenden Sie den Cumulus Remote Admin (Web), um das Produkt zu aktivieren:

1. Öffnen Sie die folgende URL im Web Browser auf dem Cumulus Server: http://localhost:8954/login.html (oder ersetzen Sie localhost durch den Namen Ihres Cumulus Servers oder dessen IP-Addresse)

2. Verbinden Sie sich als Cumulus Administrator.

4. Klicken Sie 'Lizenz bearbeiten...' und fügen Sie die Seriennummer von Smart Filters for Cumulus Sites hinzu.

5. Registrieren Sie Ihre geänderte Installation, indem Sie 'Registrieren via WWW' wählen. Der Lizenzdialog sollte danach eine unlimitierte Anzahl von Lizenzen für das Modul anzeigen (oder 4095).

Für weitere Informationen, wie man Cumulus Optionsseriennummern dem Cumulus Server hinzufügt, lesen Sie bitte im entsprechende Kapitel im Cumulus Administrationshandbuch nach (Kapitel Remote Admin via Web Browser).


1.4 Aktualisieren der Smart Filters for Cumulus Sites Version

Um Ihre Version zu aktualisieren, müssen Sie die ältere Version aus dem 'customization' Ordner entfernen und durch die neue Version ersetzen. In diesem Beispiel ersetzen wir die Version 8.5.0 durch die Version 8.5.1:

1. Stoppen Sie Apache Tomcat.

2. Entfernen Sie den Ordner .../Cumulus Sites/apache-tomcat-6.0.x/webapps/Sites/customizations/SmartFilters-8-5-0 (immer ein Backup-Verzeichnis anlegen!)

3. Kopieren Sie den neuen Produktordner 'SmartFilters-8-5-1' in das Verzeichnis .../Cumulus Sites/apache-tomcat-6.0.x/webapps/Sites/customizations/

4. Kopieren Sie die Bibliotheksdatei '/Sites/customizations/SmartFilters-8-5-1/WEB-INF/lib/SmartFilters.jar' in das Verzeichnis '/Sites/WEB-INF/lib'.

5. Bitte löschen Sie auch das Arbeitsverzeichnis zu Ihrer Web-Applikation (gleichnamiges Verzeichnis in /work/Catalina/localhost), um sicher zu stellen, dass wirklich alle neuen Dateien beim nächsten Start der Web-Applikation verwendet werden.

6. Starten Sie Apache Tomcat neu.


1.5 Smart Filters for Cumulus Sites entfernen

Um das Produkt aus Ihrer Cumulus Sites Installation zu entfernen, gehen Sie wie folgt vor:

1. Stoppen Sie Apache Tomcat.

2. Entfernen Sie die Produktdateien:

Entfernen Sie das Verzeichnis 'SmartFilters-8-5-x' aus dem Verzeichnis 'Sites/customizations/'.

3. Öffnen Sie die Datei 'Sites/WEB-INF/web.xml' mit einem Texteditor. Entfernen Sie die unten im Screenshot blau markierten Zeilen aus der web.xml:

<listener>
<listener-class>com.hc.sites.smartfilters.CustomizationManager</listener-class>
</listener>

 
 
Die 3 blau markierten Zeilen sind aus der web.xml Datei zu entfernen
 

4. Hiermit würde Smart Filters in der Web-Applikation nicht mehr angezeigt werden. Wenn Sie Smart Filters komplett entfernen möchten, löschen Sie auch noch alle Einzeldateien, die bei der Installation aus dem Verzeichnis /customizations/SmartFilters-8-5-x in die jeweiligen Ordner kopiert wurden.

5. Starten Sie den Web-Applikationsserver Apache Tomcat neu.

Nach dem Neustart von Tomcat wird Ihre Sites Web-Applikation wieder den Original-Stand haben.

 

2 Konfiguration

 

Die Darstellung der Smart Filters basiert auf den Einstellungen der Konfigurationsdatei smartfilters-config.xml, die sich im Konfigurationsverzeichnis

/myWebApp/customizations/SmartFilters/WEB-INF/conf

befindet. Die Datei wird nach dem Start von Apache Tomcat automatisch in das Konfigurationsverzeichnis der Web-Applikation

/myWebApp/WEB-INF/conf

kopiert. Wenn Sie Veränderungen an der Datei vornehmen wollen, machen Sie diese bitte immer innerhalb des /customizations/ Verzeichnis, da Sites immer nach einem Neustart von Tomcat den Inhalt der Ordner von dort kopiert und damit die aktuellen Dateien im Hauptverzeichnis überschreibt!

 
 
Die ersten Zeilen der Smart Filters Konfigurationsdatei
 

Bitte speichern Sie diese Datei im UTF-8 Format, damit die Sonderzeichen, falls diese Verwendung finden, korrekt dargestellt werden können.

Da es sich bei der Konfigurationsdatei um eine XML-Datei handelt, gelten die für XML gültigen Regeln bzgl. der Verwendung bestimmter Zeichen und der Korrektheit der XML-Struktur. Bei Fehlern in der XML-Struktur wird statt des Filterbaumes eine Fehlermeldung angezeigt:

 
 
Fehler in der Konfigurationsdatei
 

Die obige Fehlermeldung erscheint z.B., wenn Sie Zeichen wie '<' oder '>' verwenden, die in XML verboten sind. Folgende Zeichen dürfen Sie innerhalb der Werte der Konfigurationsdatei nicht verwenden:

Zeichen ersetzen durch
< &lt;
> &gt;
& &amp;
" &quot;
' &apos;

Wenn Sie z.B. eine Filterbedingung für Cumulus definieren möchten, die '<' enthält, wie

<filterquery><{1e29ca59-4022-43f3-9448-539a3da4097c}\t<=\t1></filterquery>

so können Sie das '<' entweder gegen das Ersetzungszeichen tauschen, also

<filterquery><{1e29ca59-4022-43f3-9448-539a3da4097c}\t&lt;=\t1></filterquery>

oder Sie können auch einen CDATA-Abschnitt verwenden, um das Sonderzeichen zu entwerten:

<filterquery><![CDATA[{1e29ca59-4022-43f3-9448-539a3da4097c}\t<=\t1]]></filterquery>

Inhalte von CDATA-Abschnitten werden nicht interpretiert und führen somit nicht zu einem XML-Fehler, werden aber als Werte von Smart Filters korrekt interpretiert.

Die Smart Filters bestehen aus einer Liste von sogenannten Separatoren und Cumulus Feldern, die auf der linken Seite der Sites Web-Applikation angezeigt werden. Dabei ermöglichen die Separatoren die übersichtliche Darstellung einer Vielzahl von Feldern. Somit können Cumulus Felder mit Hilfe der Separatoren zu Gruppen von Filtern zusammengefasst werden, die dann vom Benutzer durch Klick auf den Separator geöffnet/dargestellt werden oder geschlossen, verborgen werden.

Wichtig: jedes Cumulus Feld muss sich unterhalb eines Separators befinden. Dies ermöglich das übersichtliche Klickverhalten in der Filterliste.

Der obige Ausschnitt aus der Konfigurationsdatei erzeugt die folgende Anzeige im Filterbaum:

 
 
Der erzeugte Teil des Filterbaumes
 

Mit Hilfe des Parameters 'enabled' können Teile des Baumes aktiviert oder deaktiviert werden, 'collapsed' ermöglicht Separatoren oder Felder auf bzw. zu zu klappen. <smartfilters/title> setzt die Überschrift des gesamten Baumes, <separator/title> definiert den Namen des Separators. Die Namen der Checkboxen werden in <filter/queries/query/name> definiert. Die Suchbedingungen, die sich hinter jeder Checkbox verbergen, sind in den TAGs <filter/queries/query/filterquery> spezifiziert.

Die XML-Struktur der Konfigurationsdatei ist wie folgt:

<smartfilters>

   <separators>
      <separator1>
         <filters>
            <filter 1>
            </filter 1>
            <filter 2>
            </filter 2>
            ...
            <filter n>
            </filter n>
         </filters>
      </separator1>

      <separator2>
         <filters>
            <filter 1>
            </filter 1>
            <filter 2>
            </filter 2>
            ...
            <filter n>
            </filter n>
         </filters>
      </separator2>

      ...

      <separator n>
         <filters>
            <filter 1>

            </filter 1>
            <filter 2>
            </filter 2>
            ...
            <filter n>
            </filter n>
         </filters>
      </separator n>
   </separators>

</smartfilters>

Die Smart Filters bestehen also aus einer Liste von Separatoren. Diese Separatoren enthalten jeweils eine Liste von Cumulus Feldern (Filtern). Je nach Feldtyp des spezifizierten Feldes werden die Suchbedingungen der Filter-Optionen automatisch erzeugt oder können/müssen vom Administrator spezifiziert werden (custom queries).


2.1 Mehrsprachigkeit des Filterbaumes

In der Konfigurationsdatei können Sie den Titel des Filterbaumes, die Namen der Separatoren und die Namen der Suchbedingungen mehrsprachig definieren.

Wenn Sie nur einen Namen angeben, wird dieser für alle Sprachen verwendet. Bei dieser Spezifikation

<title>HC Smart Filters</title>

wird der englische Name des Produktes für alle Sprachen verwendet. Bei der Definition

<title>HC Smart Filters:HC Smarte Filter</title>

wird in der englischen Darstellung 'HC Smart Filters' verwendet, in der deutschen Darstellung 'HC Smarte Filter' verwendet und in jeder weiteren Sprache die Fallback-Sprache Ihrer Sites-Installation.

Dabei werden die verschiedenen Sprachen durch Doppelpunkte (':') voneinander getrennt. Die Sprachposition zwischen den Doppelpunkten entspricht der von Canto festgelegten Sprach-ID:

 
Language Position /ID Country Code
Englisch * 1 en
Deutsch * 2 de
Japanisch * 3 jp
Französisch * 4 fr
Italienisch 5 it
Portugiesisch 6 pt
Spanisch * 7 es
Niederländisch 8 nl
Koreanisch * 9 ko
Griechisch 10 el
Polnisch 11 pl
Tschechisch 12 cs
Chinesisch - Taiwan 13 zh_TW
Chinesisch - China 14 zh_CN
Dänisch 15 da
Norwegisch Bokmål 16 nb
Arabisch 17 ar
Schwedisch 18 sv
Norwegisch Nynorsk 19 nn
Lappisch 20 smi
Finnisch 21 fi
Ungarisch 22 hu
Russisch 23 ru
Slovakisch 24 sk

 
Unterstützte Sprachen: Cumulus Client / Sites *
 

Dabei steht also Englisch vor dem ersten Doppelpunkt, Deutsch zwischen dem ersten und zweiten Doppelpunkt und Koreanisch hinter dem 8. Doppelpunkt. Wenn Sie eine Sprache nicht definieren möchten, lassen Sie den Raum zwischen den Doppelpunkten einfach leer, damit wird für diese Sprache die Fallback-Sprache verwendet. In dem folgenden Beispiel wird Japanisch nicht definiert:

<title>HC Smart Filters:HC Smarte Filter::HC Chic Filtre</title>

Wenn Sie innerhalb einer Sprachdefinition einen Doppelpunkt verwenden möchten, der ja eigentlich das Trennzeichen für die Sprachen darstellt, müssen Sie ':' durch das HTML-Equivalent '&#58' ersetzen. Wie schon vorher beschrieben, ist aber das Zeichen '&' nicht in einem XML Wert zugelassen, also muss es in einen CDATA-Block eingeschlossen werden, wie hier:

<![CDATA[Dateityp-Auswahl&#58]]>

Es wird dann diese Zeichenkette angezeigt: 'Dateityp-Auswahl:'.

Die mehrsprachigen Namen der Cumulus Felder kommen direkt aus dem Cumulus Katalog und können dort in den Feldeinstellungen definiert werden. Weitere Informationen zu den in Cumulus Sites verwendbaren Sprachen finden Sie in der Canto Cumulus Sites Dokumentation.


2.2 Definition der Separatoren

Die Separatoren umschließen die Liste einer Filter-Feld-Gruppe. Ein Beispiel:

<separator name="General" enabled="true" collapsed="false"> ... </separator>

Es können die folgenden Attribute und Werte für Separatoren spezifiziert werden:

Attribute Funktion Werte Hinweis
name Name des Separators beliebiger Name Technischer Name, wird nicht in der Anzeige verwendet
enabled Separator anzeigen / verstecken true / false Wird ein Separator nicht angezeigt, werden auch alle zugehörigen Felder ausgeblendet
collapsed Separator aufklappen / zuklappen true / false Der Separator wird geöffnet oder geschlossen dargestellt. Wird der Separator geschlossen dargestellt, so werden auch alle zugehörigen Filter geschlossen.

Für Separatoren sind die folgenden Elemente definiert:

Element Funktion Werte Hinweis
<title> Mehrsprachiger Name des Separators beliebiger Name wird in der Anzeige des Baumes verwendet
<filters> Liste der Cumulus Filter Liste von Filterelementen Filterliste, die mindestens ein Filterfeld enthalten muss

Wichtig: jede Feld-/Filterdefinition muss sich innerhalb eines Separators befinden.


2.3 Definition der Filter (Cumulus Felder)

Die Filter basieren auf den Cumulus Feldern im dargestellten Katalog. In diesem Beispiel wird das Cumulus Katalogfeld 'Dateiformat' (File Format) als Filter verwendet:

<filter name="File Format" enabled="true" collapsed="false"> ... </filter>

Es können die folgenden Attribute und Werte für Filter spezifiziert werden:

Attribute Funktion Werte Hinweis
name Name des Filters beliebiger Name Technischer Name, wird nicht in der Anzeige verwendet
enabled Filter anzeigen / verstecken true / false  
collapsed Filter aufklappen / zuklappen true / false Der Filter wird geöffnet oder geschlossen dargestellt.

Für Filter sind die folgenden Elemente definiert:

Element Funktion Werte Hinweis
<fieldUID> Cumulus Feld-UID beliebige UID eindeutige ID des Feldes aus den Cumulus Katalogeinstellungen
<queries> Liste der custom queries (freie Filterbedingungen) Liste von <query> Elementen Liste der custom queries

In diesem Beispiel wird das Cumulus Katalogfeld 'Dateiformat' (File Format) als Filter konfiguriert:

 
 
Smart Filters <filter> Definition
 

Dieser Filter wird offen (collapsed="false") angezeigt (enabled="true"). Es werden 'custom queries' (enabled="true") verwendet, also wird die Liste der Filterbedingungen nicht automatisch auf Basis der Felddefinition generiert, sondern die Filterbedingungen werden unter <queries> definiert.

Das obige Beispiel erzeugt den folgenden Filter im Filterbaum:

 
 
Der erzeugte Teil des Filterbaumes
 

2.4 Definition der freien Filterbedingungen (custom queries)

Die angezeigten Filterbedingung basieren entweder auf der Cumulus Felddefinition, falls dies möglich ist, oder Sie können/müssen freie Filterbedingungen (custom queries) verwenden.

Es können die folgenden Attribute und Werte für für das TAG <queries> spezifiziert werden:

Attribute Funktion Werte Hinweis
enabled anzeigen / verstecken true / false wenn true, wird die custom query Definition verwendet, wenn false basieren die Filterbedingungen auf den Feldeinstellungen, wenn möglich

Wenn Sie die Verwendung der freien Filterbedingungen mit 'enabled="false"' deaktivieren, basiert die Liste der Filterbedingungen (Checkboxen) auf den Cumulus Feldeinstellungen. Ist auf Grund des Feldtyps die automatische Generierung der Filterbedingungen nicht möglich, bleibt die Liste der Filterbedingungen leer!

Für das TAG <query> sind die folgenden Elemente definiert:

Element Funktion Werte Hinweis
<name> angezeigter Name der Filterbedingung beliebiger Name der Name kann mehrsprachig definiert werden
<filterquery> Cumulus Suchbedingung nach Canto Konventionen Suchbedingung Die Suchbedingung folgt den Canto Konventionen für Cumulus Queries.

Weitere Informationen zur Cumulus Query Definition finden Sie in der Canto QueryFormat Dokumentation.


2.5 Verwendung von Dummy-Feldern

Unter Verwendung von Dummy-Feldern können Sie als Administrator sehr flexibel Filteroptionen zur Verfügung stellen. Sie können im Cumulus Katalog beliebig Felder anlegen und diese dann für neue Filteroptionen verwenden. Dabei ist es nicht relevant, wie das Feld in Cumulus definiert ist (Feldtyp) oder ob es im Katalog suchbar ist, da nur der Feldname für die Darstellung verwendet wird und die Filteroptionen nicht aus dem Feld selbst, sondern über custom queries definiert werden.

Dies sind die Schritte, um ein Dummyfeld für Filteroptionen zu verwenden (Beispiel: 'Meine Favoriten'):

1) Erzeugen Sie ein neues Feld im Cumulus Katalog namens 'Meine Favoriten'. Wählen Sie den Feldtyp beliebig (also z.B. TEXT). Wenn Sie den Feldnamen mehrsprachig verwenden möchten, geben Sie nun die Feldnamen in den jeweiligen Sprachen in den Feldeinstellungen ein (Allgemein>Feldname>...).

2) Öffnen Sie die Smart Filters Konfigurationsdatei und duplizieren Sie einen <filter></filter> Block.

4) Geben Sie dem neuen Filter einen eindeutigen Namen im 'name' Attribut und kopieren Sie aus den Feldeinstellungen des Cumulus Kataloges (Datensatzfelder) die FeldUID des Feldes 'Meine Favoriten' in das TAG <fieldUID></fieldUID>.

5) Setzen Sie <queries enabled="true">, damit die custom queries verwendet werden.

6) Kopieren Sie so viele <query> Blöcke, wie Sie für Ihre Filterbedingungen benötigen.

7) Definieren Sie die gewünschten Suchbedingungen für diese Filteroptionen, indem Sie den angezeigten Namen <name></name> (evtl. mehrsprachig) und die Suchbedingung <filterquery></filterquery> setzen.

In dem Beispiel unten wurden 4 unterschiedliche Suchbedingungen als Filteroptionen definiert:

a) Suche im Feld Kategorien (nach einem Kategoriepfad zur 'Berlin'-Kategorie)
b) Suche im Feld Wertung (nach 5 Sterne-Rating)
c) Suche im Feld Etikett (nach einem grünen Etikett ID = 4)
d) Suche im Datumsfeld (nach Datum ab 1.1.2012)

 
 
Filterkonfiguration für das Dummy-Feld 'Meine Favoriten'
 

Hinweis: da das Zeichen '>' in XML verboten ist, wurde es in der vierten Suchbedingung durch '&gt;' ersetzt.

Die obige Konfiguration erzeugt die folgende Darstellung im Filterbaum:

 
 
Der erzeugte Teil des Filterbaumes
 

 

3 Anwendung

 

Der Anwender kann durch Auswahl der Checkboxen die Filter aktivieren. Wird eine Checkbox aktiviert, wird die zugehörige Filterbedingung den aktuellen Filtern der Cumulus Kollektion hinzugefügt.

 
 
Beispiel1: Filter Dateiformat
 

Wird innerhalb eines Filterfeldes eine zweite (oder weitere) Checkbox aktiviert, so werden die Filterbedingungen mit ODER logisch verknüpft. Somit wird in dem obigen Beispiel nach

Dateiformat ist TIFF ODER Dateiformat ist JPG

gesucht, weil es sich ja um dasselbe Feld handelt und es werden also alle TIF-Dateien und alle JPEG-Dateien angezeigt.

 
 
Beispiel2: Filter Farbmodell
 

In diesem zweiten Beispiel wird somit nach

Farbmodell ist RGB-Farbe ODER Farbmodell ist CMYK-Farbe

gesucht, es werden also alle RGB Dateien und alle CMYK Dateien angezeigt.

Wenn der Anwender nun Checkboxen in unterschiedlichen Filterfeldern gleichzeitig aktiviert, so werden diese Bedingungen mit UND logisch verbunden. Bei der gleichzeitigen Selektion aus Beispiel 1 und Beispiel 2 ergibt sich danach also die folgende Filterbedingung:

(Dateiformat ist TIFF ODER Dateiformat ist JPG) UND (Farbmodell ist RGB-Farbe ODER Farbmodell ist CMYK-Farbe)

Smart Filters versucht, für das in der Konfigurationsdatei angegebene Feld die Liste der Filterbedingung automatisch zu generieren. Dies ist für die folgenden Cumulus Feldtypen möglich:

- Feldtyp Liste
- Feldtyp Liste mit Mehrfachauswahl
- Feldtyp Boolesch
- Feldtyp Wertung
- Feldtyp Etikett

Bei diesen Feldtypen ist es also möglich, Checkbox-Filterlisten auf Basis der definierten Feldwerte automatisch zu erstellen, für alle anderen Feldtypen müssen sogenannte custom queries definiert werden, die die Filterbedingungen spezifizieren.


3.1 Definition von Custom Queries

Custom Queries ermöglichen die Konfiguration einer freien Liste von Filterbedingungen, die unabhängig von den echten Werten des Feldes ist. Somit ist es für den Administrator möglich, die Filterliste auf bestimmte relevante Filterbedingungen einzuschränken.

Nachfolgend finden Sie einige Beispiele, die Ihnen die Definition von Custom Queries für verschiedene Feldtypen erleichtern sollen. Für jede Custom Query muss dabei eine gültige Suchbedingung für Cumulus definiert werden. Die Syntax der Cumulus Suchbedingungen ist in der Canto QueryFormat Dokumentation beschrieben.

Bitte stellen Sie sicher, dass die Suchbedingung funktioniert, indem Sie die Suche vorher im Cumulus Client prüfen und das Suchergebnis verifizieren. Sie müssen evtl. erst in den Cumulus Feld-Einstellungen einen Suchindex für das Feld aktivieren, bevor Sie die Filteroption nutzen können.

Wichtig: bitte beachten Sie, dass Suchbdingung für Cumulus in der Felddefinition keine Leerzeichen enthalten dürfen, wie in der Canto Dokumentation angegeben. So muss der Feldname der Suchbedingung

{af4b2e11-5f6a-11d2-8f20-0000c0e166dc}:Image Width\t>=\t 5

entweder entfernt werden,

{af4b2e11-5f6a-11d2-8f20-0000c0e166dc}\t>=\t 5

oder das Leerzeichen muss entfernt werden:

{af4b2e11-5f6a-11d2-8f20-0000c0e166dc}:ImageWidth\t>=\t 5

Wenn Sie custom queries nicht verwenden möchten, setzen Sie im <queries> TAG das Attribut enabled auf 'false'.

 
 
Custom Query nicht definiert
 

Wichtig: das <queries> TAG muss mindestens ein <query> Element enthalten, setzen Sie also den Inhalt von <queries> wie im Beispiel oben angegeben.


3.1.1 Beispiel Custom Query für Feldtyp Text

 
 
Custom Query Filterkonfiguration
 

Die obige Konfiguration erzeugt die folgende Darstellung im Filterbaum:

 
 
Der erzeugte Teil des Filterbaumes
 

3.1.2 Beispiel Custom Query für Feldtyp Ganzzahl

 
 
Custom Query Filterkonfiguration
 

Die obige Konfiguration erzeugt die folgende Darstellung im Filterbaum:

 
 
Der erzeugte Teil des Filterbaumes
 

3.1.3 Beispiel Custom Query für Feldtyp Länge

 
 
Custom Query Filterkonfiguration
 

Die obige Konfiguration erzeugt die folgende Darstellung im Filterbaum:

 
 
Der erzeugte Teil des Filterbaumes
 

Wichtig: Cumulus speichert die Feldwerte innerhalb des Cumulus Kataloges in Inch, somit müssen die Werte für die Suchbedingung erst entsprechend umgerechnet werden (5 cm = 1,97 Inch).


3.1.4 Beispiel Custom Query für Feldtyp Boolesch

 
 
Custom Query Filterkonfiguration
 

Die obige Konfiguration erzeugt die folgende Darstellung im Filterbaum:

 
 
Der erzeugte Teil des Filterbaumes
 

3.1.5 Beispiel Custom Query für Feldtyp Datum

 
 
Custom Query Filterkonfiguration
 

Die obige Konfiguration erzeugt die folgende Darstellung im Filterbaum:

 
 
Der erzeugte Teil des Filterbaumes
 

3.1.6 Beispiel Custom Query für Feldtyp Auflösung

 
 
Custom Query Filterkonfiguration
 

Die obige Konfiguration erzeugt die folgende Darstellung im Filterbaum:

 
 
Der erzeugte Teil des Filterbaumes
 

3.1.7 Beispiel Custom Query für Feldtyp Wertung

 
 
Custom Query Filterkonfiguration
 

Die obige Konfiguration erzeugt die folgende Darstellung im Filterbaum:

 
 
Der erzeugte Teil des Filterbaumes
 

3.1.8 Beispiel Custom Query für Feldtyp Etikett

 
 
Custom Query Filterkonfiguration
 

Die obige Konfiguration erzeugt die folgende Darstellung im Filterbaum:

 
 
Der erzeugte Teil des Filterbaumes
 

Wenn Sie die custom queries aktivieren, indem Sie <queries enabled="true"> setzen, erhalten Sie folgende Beispiel-Filterbedingungen:

 
 
Der erzeugte Teil des Filterbaumes mit custom queries
 

3.2 Custom Queries für spezielle Felder

Cumulus Kataloge enthalten einige spezielle Felder, die Sie evtl. gesondert als Filterbedingungen behandeln wollen.

In diesem Kapitel werden einige Beispiele gezeigt, wie Sie diese Felder mit Hilfe von custom queries dem Benutzer als Filterbedingungen zur Verfügung stellen können.


3.2.1 Beispiel Custom Query für Feld Kategorien

 
 
Custom Query Filterkonfiguration
 

Die obige Konfiguration erzeugt die folgende Darstellung im Filterbaum:

 
 
Der erzeugte Teil des Filterbaumes
 

Wichtig: Wenn Sie Kategorienfilter in einer Multi-Katalog-Kollektionen (Anzahl Kataloge >= 2) verwenden, müssen die angegebenen Kategorienpfade in beiden Katalogen existieren, damit die korrekten Datensätze gefiltert werden können.


3.2.2 Beispiel Custom Query für Feld Katalogname

 
 
Custom Query Filterkonfiguration
 

Die obige Konfiguration erzeugt die folgende Darstellung im Filterbaum:

 
 
Der erzeugte Teil des Filterbaumes
 

 


3.3 Custom Queries 'mit Wert/ohne Wert'

Cumulus stellt eine spezielle Suchfunktion zur Verfügung: die Suche nach Datensätzen mit Feldern 'mit Wert' bzw. 'ohne Wert'. Diese Suchfunktion wird in dem folgenden Beispiel verwendet:

 
 
Custom Query Filterkonfiguration
 

In dem Beispiel wird ein Feld vom Typ Boolesch verwendet. Neben den Feldwerten wahr und falsch gibt es aber auch die Möglichkeit, dass der Feldwert vom Anwender noch nie spezifiziert wurde. Also könnte es in bestimmten Fällen Sinn machen, auch die Suche danach zusätzlich anzubieten, im obigen Beispiel sehen Sie, wie das geht.

 

4 Zusätzliche Information

 

4.1 Verwendung von Smart Filters mit Multi-Katalog-Kollektionen

Wenn Sie Smart Filters mit Multi-Katalog-Kollektionen verwenden, also mehrere Kataloge gleichzeitig in Sites geöffnet haben, müssen diese Kataloge dieselbe Feldstruktur haben, damit die verwendeten Filterbedingungen auch in allen gleichzeitig geöffneten Katalogen Gültigkeit haben.

Wenn Sie z.B. Listenfelder in der Filterliste verwenden, der Werte in 2 Kataloge unterschiedlich sind, kann nach diesen Listeneinträgen nicht korrekt gesucht werden.


4.2 Mehrsprachigkeit

Die neue Filtertechnologie unterstützt die Mehrsprachigkeit der Inhalte.

Dabei Unterstützt Smart Filters alle von Canto definierten Sprachen, die auch im Cumulus Client Verwendung finden und ist nicht auf die 6 Sprachen von Sites beschränkt.

Sie finden eine Liste der unterstützten Sprachen, indem Sie hier klicken.


4.3 Smart Filters CSS

Die Smart Filters basieren auf den Definitionen der Canto Cumulus Sites Stylesheets. Alle notwendigen Modifikationen sind in der Datei

/customizations/SmartFilters/themes/original/styles/smartfilters.css

enthalten und können dort erweitert werden.

Die Smart Filters unterstützen auch das zweite Thema, welches von Canto geliefert wird ('darkorange'):

/customizations/SmartFilters/themes/darkorange/styles/smartfilters.css

Wenn Sie ein eigenes Thema erzeugt haben und mit Cumulus Sites verwenden, dann stellen Sie bitte sicher, dass sich im /styles Verzeichnis auch das SF Stylesheet befindet:

/themes/meinThema/styles/smartfilters.css


4.4 Java Heap Space Fehler

Evtl. könnte es bei der Verwendung des Filter-Moduls auf Grund höherer Arbeitsspeicher-Anforderungen zu folgender Fehlermeldung kommen:

java.lang.OutOfMemoryError: Java Heap Space

Erhöhen Sie in diesem Fall den zugeteilten Arbeitsspeicher für Apache Tomcat, indem Sie in der Datei /apache-tomcat-6.0.26/bin/setenv.bat bzw. setenv.sh ändern:

Unter Windows (setenv.bat):

CATALINA_OPTS="-Xms512m -Xmx512m"

Unter Mac OS X (setenv.sh):

CATALINA_OPTS="-Xms512m -Xmx512m"
export CATALINA_OPTS

 

 

5 Versionshistorie & Produkt Support

 

Version 8.5.1 - Juli 2012

Diese Version implementiert neue Technologien, um auch Cumulus 8.6 and Sites 8.6 zu unterstützen.

Version 8.5.0 - April 2012

Es handelt sich um die erste Version des Smart Filters Moduls für Cumulus Sites. Die interne Versionsnummer ist 1.0.0, die offizielle Versionsnummer 8.5.0 soll Benutzern verdeutlichen, dass die Version mit Cumulus 8.5 und neuer verwendet werden muss.

Ihr Feedback ist sehr Willkommen!

Bitte senden Sie alle Fragen zum Produkt an die Email-Adresse support@heymann-consulting.de. Wir versuchen Ihre Fragen umgehend zu beantworten und unsere Produkte auf Basis Ihres Feedbacks laufend zu optimieren.

 

Smart Filters for Cumulus Sites

© 2012-2013, Heymann Consulting

Heymann Consulting
Brandstwiete 36
20457 Hamburg
GERMANY