Juni 2019 (Version 1.0.1-0-20190613.095309-565 - 1.0.1-0-20190710.132234-594)

Neue Features

Sonstiges

Technical

FACT-Finder NG überwacht nun selbstständig die Nutzung der aktuellen Lizenz. Dafür notwendig ist eine korrekte licence.properties Datei, ohne die FACT-Finder nicht startet. Diese Datei wird von Omikron bereit gestellt und ist verschlüsselt.

Für die Lizenzüberwachung zählt FACT-Finder einkommende Suchanfragen, protokolliert diese und führt in regelmässigen Abständen Checks durch.

Es gibt zwei neue Einstellungen in der fff.properties für die automatische Lizenzüberprüfung.

  • licence.config - Dies ist der Pfad zur licence.properties Datei. Der Default-Wert ist \{APP_RESOURCES\}/conf/licence.properties
  • licence.path - Dies ist der Pfad zu einem Lizenzlog Verzeichnis, in dem die Lizenzprüfung ihre Suchzähler regelmässig persistiert. Der Default-Wert ist \{APP_RESOURCES\}/logs/\{prop:fff.node.logs.subdirectory\}/licence

Zusätzlich zum Lizenzlog Verzeichnis gibt es noch ein Module-Log und Channel-Log Verzeichnis. Die Pfade dafür sind\{APP_RESOURCES\}/logs/\{prop:fff.node.logs.subdirectory\}/module und \{APP_RESOURCES\}/logs/\{prop:fff.node.logs.subdirectory\}/channel.  Diese Pfade sind nicht konfigurierbar.

Cluster

Wird FACT-Finder in einem Cluster betrieben so sind einige Dinge zu beachten. Jeder Node braucht sein eigenes Lizenz-Log Verzeichnis, da jeder Node selbstständig persistiert. Dies ist im Normalfall durch die fff.node.logs.subdirectory Property gewährleistet.
Der Direktor oder Hauptnode braucht alle persistierten Monatsdateien aller Nodes in seinem Lizenzlog Verzeichnis. Dies kann über regelmässige Kopieroperationen gewährleistet werden. Die Monatsdateien sind daran erkennbar das sie 1month im Namen enthalten. FACT-Finder selber erwartet allerdings keine spezifische Benennung der Dateien.

Warnung

Wenn die aktuelle Lizenz im letzten Monat um mindestens 15% überschritten wurde, so wird auf der Hauptseite der UI eine entsprechende Warnung eingeblendet.

Persistierung

Die aktuellen Suchzähler werden alle 5 Minuten im Lizenz-Log Verzeichnis persistiert. Zu Beginn jeder Stunde werden diese Dateien zu einer Stundendatei zusammen gefasst. Alle Stundendateien eines Tages werden zu Beginn des Tages zu einer Tagesdatei zusammen gefasst und die Tagesdateien werden entsprechend zu Monatsdateien zusammengefasst. Die weitere Auswertung erfolgt nur auf Basis der Monatsdateien.
Die Suchzähler werden verschlüsselt abgelegt um Manipulationen zu vermeiden.

Im Modullog Verzeichnis wird die Aktivierung und Deaktivierung von Modulen geloggt. Im Channellog Verzeichnis entsprechend das Erstellen und Löschen von Channeln. 

Verbesserungen / Änderungen

Suggest

 Die Suggest Blacklist wurde um genauere Filteroptionen erweitert.

  • Blacklist Einträge können aufgrund aller Attribute einer Suggestion Filtern, nicht nur aufgrund des Namens.
  • Es ist möglich, Blacklist Einträge zu erstellen, welche nur für einen bestimmten Suggest Typen gültig sind.
  • Es ist möglich den Filtertypen zu negieren. Zum Beispiel: EQUALS zu NOT-EQUALS.
  • Die Filtertypen GREATER-THAN und LESS-THAN wurden eingeführt.
    • Enthalten sowohl das Attribut der Suggestion, als auch der Blacklist Eintrag eine Zahl, so werden diese Zahlen dem Operator entsprechend verglichen.
    • Enthält eine der beiden Werte keine Zahl, so werden die beiden Werte lexikographisch verglichen. 

Technical

Die Änderungen machen keine Migration nötig. Bestehende Konfigurationen funktionieren wie bisher.

Das <item> Tag der XML Konfiguration für die Klasse de.factfinder.suggest.indexer.BlacklistPostProcessor wurde wie folgt verändert:

  • Die möglichen Werte für das XML-Attribute "type" wurden um "GREATERTHAN" und "LESSTHAN" erweitert.
  • Das optionale XML-Attribut "suggestType" wurde eingeführt. Es enthält den Suggest Typen für den dieser Filter Gültigkeit hat. Ist dieses XML-Attribut nicht vorhanden, gilt der Filter für alle Suggest Typen.
  • Das optionale XML-Attribut "attribute" wurde eingeführt. Es enthält den Namen des zu Prüfenden Attributs der Suggestion. Ist dieses XML-Attribut nicht vorhanden, wird der Name der Suggestion geprüft.
  • Das optionale XML-Attribut "negated" wurde eingeführt. Es gibt an, ob die in "type" angegebene Operation negiert werden soll. Ist dieses XML-Attribut nicht vorhanden, wird davon ausgegangen, das nicht negiert werden soll.

Example:

<item suggestType="brand" caseSensitive="true" type="GREATERTHAN" id="76ce9275-793b-43b3-a110-c3970dff43da" attribute="hitCount" negated="false">
                    <![CDATA[5]]>
            </item>
            <item caseSensitive="true" type="CONTAINS" id="59fa4f62-9bd0-410d-b93f-3fca476a32c6">
                    <![CDATA[PageSize]]>
            </item>
            <item caseSensitive="false" type="EQUALS" id="ff717b37-19a4-4428-b665-d65eb23ee97c" attribute="name" negated="true">
                    <![CDATA[teko]]>
            </item>