Skip to content

(DE) Konfiguration und Administration

Thekael edited this page Apr 24, 2023 · 20 revisions

Konfiguration des Ini-Files

Das Ini-File beinhaltet eine Reihe von Einstellungen, die das Verhalten des Skripts steuern. Diese können in einem Texteditor geändert werden.

Einige der Einstellungen, die im Ini-File konfiguriert werden können, sind:

  • Die maximale Anzahl von Suchergebnissen, die in der Ergebnisliste angezeigt werden sollen
  • Die Pfadangabe zu den Datenquellen (Excel, CSV oder SQLite)
  • Die Definition der Hotkeys für verschiedene Aktionen
  • Die Standardanzeige der Dropdown-Boxen
  • Die Standardauswahl des Browsers

Es ist wichtig, dass das Ini-File korrekt formatiert ist. Eine falsche Syntax kann dazu führen, dass das Skript nicht mehr ordnungsgemäß funktioniert.

Es wird empfohlen, vor der Änderung des Ini-Files eine Sicherheitskopie zu erstellen und Änderungen Schritt für Schritt durchzuführen, um mögliche Probleme zu vermeiden.

Die Ini-Datei

Das Ini-File ist in Abschnitte organisiert und die Variablen müssen im entsprechenden Abschnitt definiert werden, da das Skript sie sonst nicht einlesen wird. Wenn eine Variable nicht eingelesen wird, weist das Skript ihr einen Standardwert zu. Wenn eine Variable nicht verwendet werden soll, kann die Zeile gelöscht oder ihr der Wert "X" zugewiesen werden.

Es ist wichtig zu beachten, dass einige Einstellungen im Ini-File von "normalen" Nutzern angepasst werden können und sollten. Allerdings können beschädigte Ini-Files dazu führen, dass das Skript nicht ordnungsgemäß ausgeführt wird. Es wird daher empfohlen, Änderungen schrittweise umzusetzen und von alten Versionen Sicherheitskopien anzulegen.

Ini-File with line numbers

Abschnitt: GENERAL

Im Abschnitt "GENERAL" des Ini-Files finden sich ausschließlich Konfigurationsparameter, die für Entwickler und Administratoren relevant sind.

Einer dieser Parameter ist SQLITE_DLL_PATH=.\sqlite_dll\dll64\sqlite3.dll. Da das Skript SQLite-Datenbanken verwendet, ist die DLL-Datei "sqlite3.dll" notwendig. Diese kann auf der offiziellen Projekthomepage von SQLite heruntergeladen werden: SQLite.org. Es ist wichtig, darauf zu achten, dass die richtige Version der Datei verwendet wird. Je nachdem, ob das Skript in AHK mit 32- oder 64-Bit compiliert wurde, muss die entsprechende Version der DLL-Datei gewählt werden. Im Repository ist standardmäßig die 64-Bit-Version enthalten und die AntAi.exe wurde ebenfalls für 64-Bit compiliert.

SQLITE3TOOL_PATH=.\sqlitetools\sqlite3.exe

Das Tool "sqlite3.exe" wird benötigt, um CSV-Dateien zu importieren. Es kann ebenfalls von der SQLite-Homepage heruntergeladen werden und zeichnet sich durch eine hervorragende Performance beim Import aus. Das AntAi-Script wurde auf die Version 3.41.2 von sqlite3.exe und sqlite.dll ausgerichtet und getestet.

KNOWLEDGE_PATH=.\KNOWLEDGE_DB\AntAiKNOWLEDGE.db3

Die Variable KNOWLEDGE_PATH definiert den Pfad zur zentralen SQLite-Datenbank des AntAi-Skripts, in der alle Datenquellen in einer Tabelle aggregiert werden. Diese Datenbank ist die Hauptquelle für das Skript und wird in der Übersicht des AntAi-Skripts als (k) bezeichnet.

Abschnitt: MANDATORY_HOTKEYS

Es werden die gleichen Abkürzungen verwendet wie in Autohotkey (AHK) v1. Eine ausführliche Dokumentation hierzu findet sich auf der offiziellen AHK-Website www.autohotkey.com oder speziell für das oben genannte Problem unter www.autohotkey.com/docs/v1/Hotkeys.htm.

Wir erinnern hier nur an die wichtigsten "Hotkey Modifier Symbols":

  • # Windows-Key
  • ^ Ctrl-Key
  • + Shift-Key

Es ist zu beachten, dass einer Aktion mehrere Hotkeys zugewiesen werden können, die dann mit ";" getrennt werden. Zum Beispiel: HK_HELP=#F1;#F11.

Es ist ratsam, die Hotkeys so zu definieren, dass sie sich nicht mit bereits vorhandenen Hotkeys auf dem Betriebssystem oder anderen Programmen überschneiden, um Konflikte zu vermeiden.

HK_RUN_DEFAULT=!y Dieser Hotkey bewirkt, dass die Standardsuche gestartet wird, wobei die Zeichenkette verwendet wird, die sich entweder im Clipboard oder in der aktuellen Auswahl befindet.

HK_ADD_DEFAULT=!a Hierbei handelt es sich um die Möglichkeit, eine weitere Suchbedingung hinzuzufügen, nachdem bereits eine Suche durchgeführt wurde. Dabei wird die im Clipboard oder der aktuellen Auswahl befindliche Zeichenkette als zusätzliche Suchbedingung verwendet.

HK_CHANGE_DEFAULTMODE=!Tab Dieser Befehl ermöglicht das Wechseln des Standard-Suchmodus in AntAi. Es stehen drei Optionen zur Auswahl:

  • Header-Suche: Es wird nur in den Überschriften der Datenquelle gesucht.
  • Tag-Suche: Es wird nur in den Spalten "search_in" und "fit_to" gesucht.
  • Voll-Suche: Es wird in allen Spalten der Datenquelle gesucht, einschließlich "info_html", "output" und "output_2".

Der gewählte Modus bestimmt also, in welchen Spalten das Suchergebnis gefunden werden kann.

HK_RUN_ALLCOLS=F1 Dieser Befehl startet sofort eine Volltextsuche in allen verfügbaren Spalten der Wissensdatenbank unter Verwendung des im Clipboard oder in der aktuellen Auswahl befindlichen Textes.

HK_RUN_ADD_ALLCOLS=!F1 Fügt eine weitere Suchbedingung auf das bereits gefundene Ergebnis unter Verwendung der im Clipboard oder der aktuellen Auswahl befindlichen Zeichenkette hinzu. Es wird eine Voll-Suche durchgeführt, d.h. es wird in allen Spalten gesucht.

HK_HELP=#F1;#F11 Öffnet ein kleines, textbasiertes Hilfefenster.

Abschnitt: OPTIONAL_HOTKEYS

Es ist in der Tat sinnvoll, eine möglichst kleine Anzahl von Hotkeys zu verwenden, um Verwechslungen zu vermeiden und eine intuitive Bedienung zu gewährleisten. Durch den Wechsel des Suchmodus (siehe HK_CHANGE_DEFAULTMODE) kann die Anzahl der benötigten Hotkeys reduziert werden, was die Benutzerfreundlichkeit erhöht.

HK_RUN_HEADER=X Startet direkt eine Suche in allen Überschrift-Spalten (H1, H2, H3) unter Verwendung des Textes, der sich im Clipboard oder der aktuellen Auswahl befindet.

HK_RUN_ADD_HEADER=X Fügt direkt eine Suchbedingung (Übersicht-Suche, d.h. in allen Überschrift-Spalten) dem aktuellen Suchergebnis hinzu.

HK_RUN_TAG=X Startet direkt eine Suche in allen Tag-Spalten ("search_in" und "fit_to") unter Verwendung des Textes, der sich im Clipboard oder der aktuellen Auswahl befindet.

HK_RUN_ADD_TAG=X Fügt dem aktuellen Suchergebnis direkt eine Suchbedingung (in den Spalten "search_in" und "fit_to") unter Verwendung des im Zwischenspeicher oder der aktuellen Auswahl befindlichen Zeichenfolge hinzu.

HK_REBUILD_DB=#F3 Mit diesem Hotkey wird die Zentrale AntAi-Wissensdatenbank neu aufgebaut. Dabei werden die Daten aus den Dateien, die in den Abschnitten SQLITE_INPUTS, XLS_INPUTS und CSV_INPUTS aufgelistet sind, gesammelt und in die zentrale Datenbank übertragen.

HK_OPEN_DB=#F2 Öffnet die zentrale (AntAi-) Datenbank mit dem auf den Rechner standardmäßig verknüpften Programm für db3-Dateien.

HK_EXECUTE_CLIPBOARD=!x;^XButton1 Versucht, den Text, der sich im Clipboard befindet, mit Hilfe der "Run"-Funktion auszuführen. Diese Funktion kann dabei helfen, Einträge, die in der AntAi-Datenbank gefunden wurden, schnell aufzurufen, nachdem sie in das Clipboard kopiert wurden. Diese Funktionalität kann natürlich auch überall sonst verwendet werden.

HK_TOY_TRANSPARENCY=^RButton Diese Funktion ermöglicht es, die Transparenz eines Fensters zu ändern und es immer im Vordergrund zu halten. Durch mehrmaliges Drücken kann zwischen verschiedenen Modi gewechselt werden. Es handelt sich hierbei um ein kleines Extra-Feature, das dem Benutzer ein höheres Maß an Kontrolle über das Fenster ermöglicht.

Abschnitt: XLS_INPUTS

XLS_1=.\LOCAL_SOURCES\SRC_EX1.xlsx

XLS_2=.\LOCAL_SOURCES\SRC_EX2.xlsx

In diesem Abschnitt können nur gültige Excel-Dateien angegeben werden. Es ist möglich, sowohl relative als auch absolute Pfadangaben zur Datenquelle zu verwenden.

Die Basis für relative Pfadangaben ist das Ausführungsverzeichnis des Skripts. Die Excel-Dateien müssen einer bestimmten Struktur folgen, die im Abschnitt "Import von Excel " genauer erklärt wird.

Wenn man mehrere Excel-Dateien als Input definieren möchte, kann man dies über eine fortlaufende Nummer im Parameternamen tun: XLS_1, XLS_2, XLS_3, ...

Abschnitt: CSV_INPUTS

In diesem Abschnitt dürfen nur gültige CSV-Dateien angegeben werden. Es ist möglich, relative und absolute Pfadangaben zur Datenquelle zu verwenden. Als Basis für relative Pfadangaben dient das Ausführungsverzeichnis des Skriptes. Details zum Import-Format sind im Abschnitt Import von CSV zu finden.

CSV_1=.\LOCAL_SOURCES\SRC_OUTAGE_2021.csv

CSV_2=.\LOCAL_SOURCES\SRC_OUTAGE_2022.csv

CSV_3=.\LOCAL_SOURCES\TEST_STD1.csv

CSV_4=.\LOCAL_SOURCES\TEST_SHORT2.csv

Wenn mehrere CSV-Dateien als Input definiert werden sollen, müssen sie durch eine fortlaufende Nummer im Parameternamen unterschieden werden, zum Beispiel: CSV_1, CSV_2, CSV_3, ...

Abschnitt: SQLITE_INPUTS

In diesem Abschnitt können nur gültige SQLite-Dateien als Datenquelle angegeben werden. Dabei können sowohl relative als auch absolute Pfadangaben verwendet werden, wobei die Basis für relative Pfadangaben das Ausführungsverzeichnis des Skripts ist. Details zum Import-Format können im Abschnitt Import von SQLite nachgelesen werden. Wenn mehrere SQLite-Dateien als Input definiert werden sollen, können diese über eine fortlaufende Nummer im Parameternamen gekennzeichnet werden: SQLITE_1, SQLITE_2, SQLITE_3, ...

SQLITE_1=.\LOCAL_SOURCES\DBSRC_PSP.db3

Abschnitt ETC

DISPLAY_ROW_LIMIT=500

Nachdem eine Suche durchgeführt wurde, werden die gefundenen Ergebnisse in Form von Zeilen ausgegeben. Die Variable "MAX_RESULTS_DISPLAYED" bestimmt die maximale Anzahl an Ergebnissen, die in der Ausgabetabelle angezeigt werden sollen. Es ist zu beachten, dass das Limit nur auf die angezeigten Zeilen beschränkt ist und eine inkrementelle Suche dadurch nicht beeinträchtigt wird.

QRY_ROW_LIMIT=1000

Nach einer Suche werden die Ergebnisse in Zeilen ausgegeben. Diese Einstellung definiert das maximale Ergebnislimit für Abfragen, das für eine bessere Leistung bei großen Datenbanken und eingeschränkter Rechenleistung oder Speicherkapazität sorgt. Es ist zu beachten, dass dieses Limit nicht nur die Anzahl der angezeigten Zeilen beschränkt, sondern auch die inkrementelle Suche beeinflusst.

SHOW_TAG_SELECTOR=1

Die Variable "SHOW_TAG_SELECTOR" ist für die Anzeige von Dropdown-Listen in den Überschriften der Ergebnistabelle zuständig. Wenn ihr der Wert "1" zugewiesen ist, werden diese Dropdown-Listen angezeigt, um eine bessere Übersicht zu gewährleisten. Wenn der Wert hingegen "0" ist, werden keine Dropdown-Listen angezeigt, was die Laufzeit der Suche und Anzeige verbessern kann.

SHOW_ALLTAGS_SELECTOR=1 Wenn der Wert dieser Variable "1" ist, werden alle in der AntAi-Wissensdatenbank vorhandenen Überschriften in Dropdown-Listen angezeigt. Dadurch erhält der Benutzer einen Überblick über den gesamten Datenbestand. Wenn der Wert auf "0" gesetzt ist, werden keine Dropdown-Listen angezeigt, was zu einer schnelleren Startzeit des Skripts führt.

HTML_BUFFER_FILE=.\TEMP_FILES\AntAi_out.html

In diesem Abschnitt kann der Dateiname und Pfad angegeben werden, unter dem das Skript den HTML-Output ablegen soll. Es ist sowohl eine Angabe des absoluten als auch des relativen Pfades zum Ausführungsverzeichnis möglich.

POPUP_DELAY_MS=700

Nachdem der Suchmodus über einen Hotkey geändert wurde, wird dem Benutzer ein Info-Popup angezeigt, welches nach einer bestimmten Zeit automatisch verschwindet. In dieser Variablen kann die Zeit in Millisekunden definiert werden, nach der das Info-Popup automatisch verschwindet.

USE_INMEM_DB=1

Wenn USE_INMEM_DB auf den Wert "1" gesetzt ist, wird die AntAi-Wissensdatenbank (definiert in KNOWLEDGE_PATH) während der Laufzeit des Skripts im Arbeitsspeicher gehalten. Wenn der Wert "0" ist, liest das Skript die Datenbank vom Dateisystem ein. Die Verwendung der In-Memory-Funktionalität kann bei großen Datenbanken die Suche beschleunigen, erfordert jedoch mehr Arbeitsspeicher.

Abschnitt: RUN_CONFIG_STD

RUN_CONFIG_STDOUT_BROWSER = chrome.exe

Diese Variable definiert den Standard-Browser, der für die Ausgabe der Suchergebnisse, d.h. die Anzeige der HTML-Seite, verwendet wird. Wenn kein Browser spezifiziert ist, verwendet das Skript den vom System voreingestellten Standardbrowser für HTML-Dateien.

Abschnitt: RUN_CONFIG

Über den Hotkey, der in HK_EXECUTE_CLIPBOARD definiert ist, lassen sich Befehle ausführen, die sich im Clipboard befinden. Im Folgenden kann man verschiedene Befehlsmuster mit einem Programm verknüpfen. Innerhalb der doppelten geschweiften Klammern {{...}} steht ein regulärer Ausdruck, der mit Autohotkey (AHK) kompatibel ist. Passt der Befehl im Clipboard zum regulären Ausdruck, wird der Befehlsstring im Clipboard anstelle des regulären Ausdrucks {{...}} eingefügt. Das heißt, {{...}} wird durch den Clipboard-Text ersetzt und dann ausgeführt.

Ein Beispiel zu RUN_CONFIG_1=msedge.exe {{(html|htm|svg|pdf)$}}:

  • Steht im Clipboard der String "C:\temp.pdf", so passt dies auf den Regulären Ausdruck (html|htm|svg|pdf)$
  • Nun wird ersetzt und es ergibt sich msedge.exe C:\temp.pdf
  • Das Skript für letztlich nun den Befehl msedge.exe C:\temp.pdf aus.

Es können Befehlsmuster mit beliebigen Programmen definiert werden. Die Muster werden der Reihe nach abgearbeitet und die Ausführung findet beim ersten Match statt. Dabei können verschiedene Programme wie Excel, Notepad oder Chrome genutzt werden. Die entsprechenden Konfigurationen werden durch RUN_CONFIG_1, RUN_CONFIG_2, RUN_CONFIG_3, ... definiert. z.B.:

RUN_CONFIG_1=msedge.exe {{(html|htm|svg|pdf)$}}

RUN_CONFIG_2=chrome.exe {{(html#.*)$}} --new-window

Abschnitt: DEV

Alles in diesem Abschnitt ist noch nicht final implementiert und ist noch in entwicklung, d.h. es kann ignoriert werden.

HTML_TEMPLATE_FILE=X

HTML_BUFFER_ADD_TIME=0