Allgemein- FAQ

Was mache ich, wenn bei einer frischen Client-Installation auf einem neuen System das Setup beim registrieren der antonymapi.net.dll abbricht?

Bei einer neu installierten Windows(Server) fehlen in diesem Fall in der Regel Abhängigkeit. antony liefert diese mit und sie können wie folgt installiert werden:

  1. Die Fehlermeldung nicht weg klicken, so dass der Rollback nicht durchgeführt wird

  2. In den antony Installationsordner gehen und die scom.groupware.exe starten. Diese installiert dann auch die Abhängigkeiten

  3. Installationsordner wieder verlassen und die Fehlermeldung des Installations-Setups bestätigen. Das löst den Rollback aus

  4. Installation erneut starten. Mit vorhandenen Abhängigkeiten wird die .DLL nun erfolgreich registriert

Was mache ich, wenn sich bei einer frischen Client-Installation auf einem neuen System keine E-Mail öffnen lässt und in der Fehlermeldung etwas von “cefsharp.core.dll nicht gefunden” steht?

Das liegt an fehlenden Abhängigkeiten von CefSharp (das ist der Chromium Webbrowser). Die Abhängigkeiten können hier eingesehen und runter geladen werden:
CefSharp - Open Source web browser for WinForms and WPF Apps

Vor allem die C++ Runtime und .NET Framework fehlen auf Windows-Servern nach Neuinstallation

Wo finde ich die Log-Dateien von antony?

Die Log-Dateien von antony liegen im %LOCALAPPDATA% Verzeichnis des ausführenden Benutzers. Für das Lesen der Log-Dateien ist ein spezielles Programm notwendig. Eine Anleitung gibt es dafür hier Server Protokolle / Logs

Ich bekomme eine Fehlermeldung beim Start “Could not compile skeleton”

Diese Fehlermeldung tritt sporadisch auf und wird im Splash-Screen von antony angezeigt. Es gibt dafür folgende Lösungsansätze:

  • Für gewöhnlich kann dieses Problem durch Abmelden und erneutes Anmelden der Windows Sitzung behoben werden.

  • Dieses Problem reproduzierbar auf, wenn das System auf Englisch eingestellt ist. Das Problem ist, dass die lokalisierte Assembly ist und der generierte Skeleton-Code einen Syntax Fehler aufweist.

    • Workarround: Löschen der Datei “en/SCOM.Antony.EICP.resources.dll” im Programmverzeichnis

    • Das Problem ist dauerhaft gelöst ab antony >= 2.22.121

 

Der Benutzer sieht keine Dokumentenvorlagen im Kontakt, Tab Dokumente

Diese Fehlermeldung tritt auf wenn die rückwirkende Berechtigungen für das Modul Dokumente nicht ausgeführt wurde

  • Für gewöhnlich kann dieses Problem durch nachträgliche rückwirkende Berechtigung erledigt werden. Dazu im Administrator auf “Rückwirkende Berechtigungen”, Dokumente und als Zeitraum “Alle” auswählen

Rückwirkende Berechtigungen im Admin
Auswahl der Dokumente im Assistent

antony kann ein Update nur manuell installieren. Woran liegt das?

Es kann verschiedene Ursachen haben, wieso ein Update nicht automatisch installiert werden kann. Hier einige Punkte, welche geprüft werden können.

  • Ist das Setup zugreifbar?

    • antony prüft, ob an der im Administrator definierten Stelle ein Setup zu finden ist. Ist dies nicht der Fall, kann kein automatisches Update verfolgen. Die Einstellung ist zu finden im Administrator unter Grundeinstellungen und lautet Remote antony Updatepfad

    • Ist der Pfad nicht zugreifbar, ist das Problem gefunden und kann gelöst werden

  • Ist das automatische Update auf dem Client aktiviert?

    • Das automatische Update kann pro Client deaktiviert werden. Standardmäßig ist diese Funktion aktiviert. Um dies zu prüfen, kann der Registierungsschlüssel unter HKCU\Software\SCOM\antony\installationAutoUpdateEnabled verwendet werden. Steht dieser auf '1' ist das automatische Update aktiviert.

    • Ist dieser auf 0, kann wie folgt vorgangen werden. Dafür im Administrator unter Benutzerverwaltung > Arbeitsstationen. Dort muss nun die Arbeitsstation herausgesucht werden. Verwendet wird der Name des PCs Wird diese gesetzt, muss der Client neugestartet werden. Der Wert in der Registrierung ändert sich anschließend

Die Sitzungsnummer ist zu beachten, denn diese ist bei Terminalservern oder Remote-Verbindungen gesetzt . Diese Funktion kann bei Terminalservern nicht effektiv verwendet werden, da sich diese Nummer ständig ändert. Ist die Sitzungsnummer ‘-1’ ist dies der lokale Zugang

  • Gibt es mehrere antony Installationen im Netzwerk?

    • Wenn es mehrere, parallele antony Installtionen in ein und dem gleichen Netzwerk befinden, so verbinden diese sich untereinander. Typisches Szenario ist eine Testumgebung, welche direkt beim Kunden läuft (Beispielsweise ein Klon). Ist dies der Fall kann endweder eine Update-Endlosschleife auftreten oder das Update kann nicht manuell durchgeführt werden.

    • Um dies zu prüfen, kann das Tool MulticastSniffer eingesetzt werden. Dieser befindet sich hier Z:\projekte\a, antony - Die Groupware\releases\requirements\Multicastsniffer 2. Dort kann oben der ContainerType antony eingegeben werden. Die Liste unten unter liefert das Ergebnis. Wird hier mehr als ein Knoten gelistet, muss dies untersucht werden

       

Die weiteren Optionen wie “Go Multicast Storm” etc sind nicht zu empfehlen. Die Option “What NRN get” ist für diesen Anwendungfall ebenfalls zu deaktivieren.

Kann ich antony nicht einfach sagen, wo sich der Server befinden, damit er nicht via Multicast sucht?

Ja, antony kann auch eine statische Verbindung verwenden. Dafür sind allerdings zwei Einstellungen notwendig, denn antony redet sowohl HTTPs (neu), als auch TCP/EICP (alt).

  • TCP/EICP einstellen

    • Wenn die Verbindung noch nicht bekannt ist, so kann diese mit den Multicast Sniffer herausgefunden werden. (siehe oben) Alternativ fragen Sie den Administrator. Der Standardport für den EICP lautet 54333 Es wird dringend empfohlen diesen nicht zu ändern!

    • Die Einstellung kann in der Datei %LOCALAPPDATA%\antony Systemhaus GmbH\<containerType>.container.settings.user.xml vorgenommen werden.

      • Der containerType ist standardmäßig antony, kann aber grade in Testumgebungen variieren. Dieser kann im Dienstefenster beim MainService in den Parameter nachgeschaut werden.

    • In dieser Datei sind unter anderen die gespeicherten, verschlüsselten Login-Daten vorhanden. In dieser Datei ist folgendes XML-Element hinzuzufügen.

      <Item name="Starter:StaticConnect">172.20.5.11:54333</Item>

In manchen Installationen ist ein Namespace Prefix (meistens ls) vergeben, entsprechend gibt es ein xmlns:ls="..." Attribut. Die Eintragung des XML-Elements muss in den Namespace http://www.scom-software.de/antony/localSettings erfolgen.

  • HTTPs einstellen

    • Die HTTP(s) Schnittstelle ist einfacher einzustellen und wird für die direkte Kommunikation mit den neuen Dienste (z.B: AntonyHubService oder AntonyCalendarService) verwendet. In der Registrierung ist diese zu finden unter

      • HKCU\SOFTWARE\SCOM\antony\antonyHub\Entrypoint.<containerType> (1 / 2)

      • Der containerType ist wie oben zu setzen (siehe Screenshot)

    • Hier kann nun die vollständige URI zur Desktop-API eingegeben werden. Beispielsweise https://172.20.5.11:8083.

Wieso findet antony den Server nicht, wenn ich über ein VPN arbeite?

antony sucht die Server in zwei verschiendenen Phasen. Zunächst wird der (neue) Entrypoint für die Desktop-API gesucht. Dieser wird unter anderen mit einen DNS SRV Record gefunden. Ist dies passiert sucht antony die (alte) Verbindung zum Verbinden über das Protocol EICP.

Das Suchen der alten Verbindung funktioniert über einen Multicast. Dazu wird auf der Multicast IP Adresse 239.192.21.71 auf den Ports von 30000-30043 Anfragen geschickt. Sobald ein antony Server diese Anfrage bekommt, antwortet er entsprechend. Je nachdem wie die Infrastruktur eingestellt ist, kann es passieren, dass diese Auflösung über ein VPN nicht funktioniert. Hier muss entsprechend das VPN, Firewall(s), Server etc geprüft werden.

Alternative: Ist diese Prüfung nicht möglich, zu aufwändig oder kann auch technischen Gründen der Multicast nicht konfiguriert werden, so kann die IP des Server manuell eingetragen werden. Sobald antony bei den Punkt Server werden gesucht... angekommen ist, wird nach einer kurzen Zeit ein Zahnrad (1) angezeigt (siehe Abbildung).

Hier kann die IP des Server angegeben werden. Der Standardport des Servers lautet 54333. Die IP ist entsprechend zu vervollständigen. Wird noch der Harken bei “Speichern” gesetzt, dann kann antony anschließend auch über ein VPN durch den normalen Benutzer gestartet werden.

Der Suchindex ist kaputt. Wie kann ich ihn neu aufbauen?

Ist der Suchindex kaputt, so muss er neu aufgebaut werden. Das kann passieren, wenn beispielsweise der MainService wärend des Schreibens abstürzt. In diesen Fällen erhalten die Benutzer endweder eine Fehlermeldung oder ein unvollständiges Suchergebnis. In diesen Fällen kann man ihn neu aufbauen.

Dafür muss der Administrator gestartet werden. Anschließend kann in der Ribbonbar mit Konsole eine Konsole geöffnet werden, mit der man auf den Diensten direkte Befehle absetzen kann (1). In dem sich öffnenen Fenster kann anschließend auf Suche geklickt werden (2). Nach einer kurzen Wartezeit füllt sich die Seite der Konsole mit Reitern. Dort muss der Knoten [Service] AntonyMainService.exe ausgewählt werden (3)

 

Im Fenster hat man nun die Möglichkeit einen Befehl einzutippen. Für das Aufbauen des Suchindexes lautet dieser

  • base:RebuildSearchIndex. Dieser Befehl baut den Index für alle Module auf

  • base:RebuildSearchIndex -addin 1: Bau den Index für Kontakte auf

  • base:RebuildSearchIndex -addin 2: Bau den Index für Anrufe auf

  • base:RebuildSearchIndex -addin 3: Bau den Index für E-Mails auf

  • base:RebuildSearchIndex -addin 4: Bau den Index für Kalender auf

  • base:RebuildSearchIndex -addin 14: Bau den Index für Flexobjekte auf

  • base:RebuildSearchIndex -addin 80: Bau den Index für Kommunikationen auf

  • base:RebuildSearchIndex -addin 10: Bau den Index für Fax auf

  • base:RebuildSearchIndex -addin 8: Bau den Index für Aufgaben auf

Die Konsole quittiert den Befehl mit einem JobStarted (1). Anschließend kann der Fortschritt des Jobs unter Einstellungen > ServerJobs im Administrator eingesehen werden. (2+3)

Ein Benutzer kann nicht aktiviert werden. Was kann ich tun?

Wenn ein Benutzer nicht aktiviert werden kann, dann gibt es mehrere mögliche Ursachen. Ein bisschen Hintergrund: Die Benutzer werden in der Tabelle user gespeichert. Gleichzeitig wird auch der Eventstream für Benutzer (Tabelle eventstream_usermngt befüllt). In dieser Tabelle sind alle fachlichen Events zu finden, welche Benutzer betreffen. Ein Benutzer kann meistens nicht aktiviert werden, wenn das dazugehörige Event nicht vorhanden ist.

Um das abzufragen, benötitigen wir die UserId des problematischen Benutzers. Diese kann aus der Tabelle users (oder aus den Administrator) herausgefunden werden. Mit dieser BenutzerId kann nun folgende Abfrage ausgeführT werden

select * from eventstream_usermngt where event_type=2 and identifier="<user_id>" -- event_type = 2 = UserAddedEvent

Kommt hier kein Ergebnis, dann wurde das Event nicht erzeugt.

Das Hinzufügen des Benutzers kann über folgenden SQL Befehl erfolgen. Auch hier ist die BenutzerId auszufüllen.

INSERT INTO eventstream_usermngt (timestamp, identifier, action, app, event_type, payload, user_id, user_name) SELECT utc_timestamp() as timestamp, LOWER(id) as identifier, "Manually Added by Support" as action, "Navicat" as app, 2 as event_type, CONCAT_WS ("", "{", CHAR(13), CHAR(10), ' "UserId":', id, ",", CHAR(13), CHAR(10), ' "Division":', '"', division, '"', ",",CHAR(13), CHAR(10), ' "UserName":', '"', username, '"', ",",CHAR(13), CHAR(10), ' "FirstName":', '"', firstname, '"', ",",CHAR(13), CHAR(10), ' "LastName":', '"', lastname, '"', ",",CHAR(13), CHAR(10), ' "Acronym":', '"', shortcut, '"', ",",CHAR(13), CHAR(10), ' "Mail":', '"', email, '"', ",",CHAR(13), CHAR(10), ' "Telephone":', '"', phone, '"', ",",CHAR(13), CHAR(10), ' "Comment":', '"', comment, '"', ",",CHAR(13), CHAR(10), ' "IsInvisible":', IF(invisible=0,false, true), ",",CHAR(13), CHAR(10), ' "Location":', '"', location, '"', ",",CHAR(13), CHAR(10), ' "Position":', '"', position, '"', ",",CHAR(13), CHAR(10), ' "ExternalTelephone":', '"', external_phone, '"', ",",CHAR(13), CHAR(10), ' "Fax":', '"', fax, '"', ",",CHAR(13), CHAR(10), "}") as payload, 0 as user_id, "Support" as user_name FROM user where id = <userId>

Nachdem die Abfrage ausgeführt wurde, kann mit der ersten Abfrage das Ergebnis validiert werden. Anschließend muss noch dafür gesorgt werden, dass der Benutzer in die entsprechenden Benutzergruppen kommt. Dies sind ebenfalls separate Events mit der event_type = 5 (UserAddedToGroup). Über folgenden SQL Befehl können diese Events erzeugt werden

Ist hier nun der Eintrag vorhanden, dann kann der Benutzer im nächsten Schritt im Administrator aktiviert werden.

Was mache ich, wenn sich die Server nicht untereinander finden können?

Es kann vorkommen, dass sich die alten Legacy-Dienst (MainService, Pop3Service) untereinander nicht finden können, wenn diese z.B. auf unterschiedlichen Servern ausgeführt werden. Ein typisches Anwendungsbeispiel ist (bzw war) das Auslagern des Fax-Dienstes auf eine separate Hardware. Der Dienst versuchen sich über den EICP Multicast zu finden. Ist dies nicht erfolgreich, kann er nicht gestartet werden

Um das Problem zu lösen, kann ein (oder auch mehrere) feste Endpunkte konfiguriert werden, zu welchen sich der Dienst verbinden soll. Dieser muss in die “*.config.xml” Datei des Dienstes eingetragen werden. Diese befindet sich im Programm-Verzeichnis der Dienste im Unterordner “config”. Der übliche Pfad lautet:

  • Für den MainService: C:\Program Files (x86)\antony Systemhaus GmbH\antony - Die Services\configs\mainservice.settings.xml

  • Für alle anderen Dienste C:\Program Files (x86)\antony Systemhaus GmbH\antony - Die Services\configs\default.settings.xml

Um die feste Verbindung zu konfigurieren. muss folgender Eintrag vorgenommen werden.

Nach Neustart wird diese Verbindung statisch versucht aufzubauen.

Es wird weiterhin zusätzlich per Multicast gesucht. Dieses Verhalten ist bei einer festen EICP Verbindung vermutlich nicht notwendig. Um es zu deaktivieren kann zusätzlich folgender Eintrag vorgenommen werden

 

Die Eventverarbeitung funktioniert nicht. Woran kann das liegen?

Viele neue Funktionen von antony basieren auf einem sogenannten EventStream, welcher die Änderungen am System wiederspiegeln. Diese werden im Hintergrund verarbeitet und wieder zur Anzeige geführt. Wenn hier Probleme auftreten, werden Änderungen unter Umständen nicht direkt angewandt. Beispielsweise können gesetzte Konfigurationen nicht wieder angezeigt werden, es können Termineinaldungen nicht geöffnet werden oder eine neue E-Mail kann in der globalen Suche nicht gefunden werden.

Wenn Events nicht verarbeitet werden können, dann kann das im AntonyHub unter “Eventverarbeitung” eingesehen werden. Dort ist zu sehen, dass es offene Events gibt, welche auch nach Warten nicht verarbeitet werden. (Siehe Bild).

Hier im Bild sind es einige ReadModels, welche ein Problem aufweisen. Die Fehlermeldung dazu wird hier bisher nicht angezeigt. Dafür muss in die Tabelle read_model_config gewechselt werden. Diese enthält den Verarbeitungsstatus der einzelnen Events pro ReadModel und Bucket und sieht wie folgt aus.

In der Spalte “last_error” ist die Fehlermeldung zu sehen, welche Aufschluss über die Ursache geben kann.

Im konkreten Bild gibt es mehrere Einträge pro Bucket und ReadModel. Um diese zu entfernen kann folgender Befehl ausgeführt werden, um diese zu entfernen.

Wie stelle ich ein gelöschtes Objekt wieder her?

Das Vorgehen ist für alle Objekttypen gleich. Und zwar muss das “ist gelöscht-Flag” von true auf false zurück gesetzt werden. Das geht am besten über die Funktion “Objekt Bearbeiten” mit einem Administrativen AntBenutzer.

Man benötigt die AddinId und die ObjektId.

Addins:

  • Kontakte = 1

  • Anrufe = 2

  • E-Mails = 3

  • Kalender = 4

  • Flexobjekte = 14

  • Kommunikation = 80

  • Fax = 10

  • Aufgaben = 8

Nach Eingabe der Addin-Id und Objektnummer (z.B. “3(172711)”) mit einem <SHIFT>+Enter bestätigen. So gelangt man in den Objekt-Bearbeiten-Modus kann. Das Passwort ist hard-gecoded und lautet “antony!groupware”.

Anschließend doppelte auf den Punkt “Metadata” klicken und dann die Eigenschaft von “deleted” wie gewünscht ändern.

Der Kunde bekommt beim Öffnen einer E-Mail die Meldung “chatsession with id 'x' could not be found”

Diese Meldung besagt, dass die hinter der E-Mail hinterlegte ChatSession-Id nicht existiert. Anhand der numerischen Id sieht man auch bereits, dass es sich dabei um eine temporäre Id handelt. Hier ist beim Anlegen der Teilung ein Fehler passiert. Die E-Mail enthält eine Referenz zur Teilung. Umgekehrt hat aber auch eine Teilung die Referenz zur E-Mail. Da die Teilung beim Erzeugen der E-Mail noch nicht existiert, wird zunächst eine temporäre ID vergeben, welche anschließend explizit aktualisiert wird. Kommt es zu einem Abbruch, bleibt die temporäre Id stehen, was zu besagte Fehler führt.

Um das Problem zu lösen, muss die ID der E-Mail bekannt sein. Anschließend kann der Administrator geöffnet werden. Anschließend die Option “Objekt bearbeiten” (1) in der Ribbon-Bar auswählen und anschließend (2) den folgenden Text eingeben: “3 ( <id der mail> )”. Mit einem <SHIFT>+Enter gelangt man in den Modus, in den man das Objekt bearbeiten kann. Das Passwort lautet “antony!groupware”.

Nun öffnet sich ein Dialog, in dem die Eigenschaften der E-Mail beschrieben sind. Dort wechselt man auf “Metadata” (1) und trägt in der Property “ChatsessionID” (2) eine 0 ein. Anschließend kann die Änderung mit der “CrudUpdate” (3) Option aktualisiert werden. Die Teilung der E-Mail ist nun zurückgesetzt und die E-Mail kann wieder geöffnet werden.