Zur Kommunikation zwischen verschiedenen 1stAnswer Systemen und/oder Mandanten bietet 1stAnswer eine System Schnittstelle an.
Dies ermöglicht es direkt aus dem akutellen System/Mandanten heraus einen neuen Incident im entfernten System/Mandanten zu erstellen.
Zusätzlich können noch dem Incident zugehörige Kommentare, Lösungen, Dateianhänge an den Incident im entfernten System/Mandanten übertragen werden.
Die Übertragung von Kommentaren, Lösungen, Dateianhängen und Aktualisierungen der Verknüpfung erfolgt im Hintergrund,
durch den FirstAnswer.Scheduler Dienst “1stAnswer Transaction Queue Service”. Dieser sendet die Elemente an einen Webservice im Ziel-System.
<note tip> Diese Funktion steht Ihnen ab Version 4.2 zur Verfügung. </note>
<note tip> Die Version des Quell- und Zielsystems muss übereinstimmen! </note>
Die Konfiguration der System Schnittstelle erfolgt in der Datenbank, siehe: Konfiguration Remote-System
Es müssen jeweils beide Seiten konfiguriert werden, das Quellsystem/Mandant und das Zielsystem/Mandant.
Die URL des jeweils entfernten Systems muß vom lokalen System erreichbar sein, damit die Übertragung an den jeweiligen Webservice erfolgen kann.
<note>
Achtung: 1stAnswer hält diese Einstellungen 15 Minuten lang im Zwischenspeicher.
Nachdem die Einstellungen in der Tabelle tbRemoteSystemConnection geändert wurde muss 15 Minuten gewartet werden - erst dann werden die neuen Einstellungen in 1stAnswer übernommen.
</note>
Beispiel für die Tabelle tbRemoteSystemConntection:
Quellsystem:
tbRemoteSystemConntection_ID | connectionName | connectionType | connectionAccessKey | remoteSystemPrefix | remoteSystemAddress | remoteSystemConnectionName | remoteSystemDisplayName | tbMandator_ID | tbRole_ID | tbSupportTeam_ID | tbUser_ID | isEnabled | enableOnlyOnceActivation |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | SAGzuDEMO | 2 | 951 | DEMOSAG | http://support.samhammer.de/1stAnswer | SAGnachDEMO | Support Samhammer > Demo 1stAnswer | 1 | NULL | NULL | 101112 | 1 | 0 |
Zielsystem:
tbRemoteSystemConntection_ID | connectionName | connectionType | connectionAccessKey | remoteSystemPrefix | remoteSystemAddress | remoteSystemConnectionName | remoteSystemDisplayName | tbMandator_ID | tbRole_ID | tbSupportTeam_ID | tbUser_ID | isEnabled | enableOnlyOnceActivation |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | SAGnachDEMO | 1 | 951 | SAGDEMO | http://demo.1stAnswer.de/1stAnswer | SAGzuDEMO | Support Samhammer > Demo 1stAnswer | 1 | 50 | 23 | 9876 | 1 | 0 |
Sollen beide Systeme sowohl Quelle als Zielsystem sein, muss für beide Systeme die Schritte: “Zielsystem vorbereiten” und “Eintrag in die tbRemoteSystemConnection Tabell des Zielsystems” ausgeführt werden. Der ConnectionType ist muss auf beiden Systemen 3 sein.
Soll eine Verbindung zwischen zwei Mandanten des selben Systems hergestellt werden, gibt es spezielle Voraussetzungen.
Ein Benutzer kann sich innerhalb eines Browsers nicht mehrfach in das selbe 1stAnswer System einloggen.
Dies läßt sich umgehen, indem man über eine andere Domain auf das selbe 1stAnswer System zugreift, dann kann man sich parallel einloggen.
Für die System-Schnittstelle sollten also außer der Standard-Domain (z.b. http://support.samhammer.de/1stAnswer),
für die Verbindung auf beiden Seiten eine zusätzliche Domain/Subdomain angelegt werden
und als remoteSystemAddress in der tbRemoteSystemConnection hinterlegt werden.
(z.b. Quellsystem http://sagremote.samhammer.de/1stAnswer und Zielsystem http://bizremote.samhammer.de/1stAnswer)
Beispiel für die Tabelle tbRemoteSystemConntection:
Quellsystem:
tbRemoteSystemConntection_ID | connectionName | connectionType | connectionAccessKey | remoteSystemPrefix | remoteSystemAddress | remoteSystemConnectionName | remoteSystemDisplayName | tbMandator_ID | tbRole_ID | tbSupportTeam_ID | tbUser_ID | isEnabled | enableOnlyOnceActivation |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | SAGzuSAG2 | 3 | 321 | SAGSAG2 | http://support.samhammer.de/1stAnswer | SAG2zuSAG | Support Samhammer > Support Samhammer 2 | 1 | 49 | 22 | 101112 | 1 | 0 |
Zielsystem:
tbRemoteSystemConntection_ID | connectionName | connectionType | connectionAccessKey | remoteSystemPrefix | remoteSystemAddress | remoteSystemConnectionName | remoteSystemDisplayName | tbMandator_ID | tbRole_ID | tbSupportTeam_ID | tbUser_ID | isEnabled | enableOnlyOnceActivation |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | SAG2zuSAG | 3 | 321 | SAG2SAG | http://193.158.235.134/1stAnswer (= Ergebnis von ping auf support.samhammer.de) | SAGzuSAG2 | Support Samhammer 2 > Support Samhammer | 1 | 50 | 23 | 9876 | 1 | 0 |
Soll eine Verbindung zwischen zwei 1stAnswer-Systemen - die aber auf der gleichen Domain erreichbar sind (z.B. das erste System ist unter “http://1stAnswer.de/Eins” und das zweite System unter “http://1stAnswer.de/Zwei” erreichbar) - hergestellt werden, muss beachtet werden, dass beide Systeme einen unterschiedlichen Cookie-Namen benutzen.
Dies wird erreicht, dass in der web.config folgender Eintrag verändert wird:
<forms name=".ASPXAUTH" loginUrl="Login.aspx" timeout="480" />
In diesem Fall ist der Cookie-Name “.ASPXAUTH”, welcher auf beiden Systemen abgeändert werden sollte.
Hinweis: wurde der Cookie-Name nicht geändert, stößt man auf folgendes Problem: wenn man sich an System “A” anmeldet, dann an System “B” anmeldet ist man auf System “A” nicht mehr angemeldet (man muss sich erneut anmelden).
Bei der Remote System Schnittstelle hat man das Problem, wenn man einen Incident von System “A” nach System “B” schickt, ist man nach dem Vorgang auf System “A” nicht mehr angemeldet.
Für die Übertragungen zwischen den System-Schnittstellen muß der Dienst “1stAnswer Transaction Queue Service” vom 1stAnswer Scheduler eingerichtet sein.
Folgende Optionen können im Block <transactionQueueService> konfiguriert werden:
Feld | Erläuterung | Beispiel |
---|---|---|
intervalMilliseconds | Wie oft in Millisekunden sollen neue Übertragungen gestartet werden | |
numberConcurrentTransactions | Anzahl parallel laufender Übertragungen | |
numberMaxTries | Anzahl Übertragungsversuche, bis ein zu übertragendes Element auf Status Abgebrochen gesetzt wird (wird dann nicht mehr übertragen) |
Begriffe:
Das System, an dem der User ursprünglich angemeldet ist, wird im Folgenden lokales System genannt, der Begriff Fremdsystem bezeichnet das Remote-System, auf dem über die Schnittstelle Remote-Incidents erstellt und verwaltet werden.
Um die Remote-Schnittstelle für einen User zu aktivieren, müssen der Rolle dieses Users im lokalen System folgende Rechte zugeordnet sein:
Recht | Beschreibung |
---|---|
Case.Remote.Create | Der Benutzer kann einen Incident auf einem entfernten System erstellen. |
Case.Remote.Display | Der Benutzer kann einen Incident auf einem entfernten Systen lesend öffnen. |
Case.Remote.Edit | Der Benutzer kann einen Incident auf einem entfernten System bearbeiten. |
Case.Remote.SendContent | Der Benutzer kann Kommentare, Dateianhänge, Lösungen an einen Incident auf einem entfernten System senden. |
Case.ShowRelations | Anzeige der Incident Beziehungen (auch der entfernten Anfragen) in der Incident Detailmaske |
tbRemoteSystemConnection
des Fremdsystems konfiguriert ist.Rechte |
---|
Case.CustomerData.Display |
Case.Display.All.Readonly |
Case.Display.MyIncidents |
Case.Open.AllInMyCategories |
Case.Open.ReadOnly |
tbRemoteSystemConnection
des Fremdsystems konfiguriert sind. Recht |
---|
Case.Attachment.Display |
Case.Category.Change |
Case.CI.Display |
Case.CustomerData.Display |
Case.Display.All.Readonly |
Case.Display.MyIncidents |
Case.Open.AllInMyCategories |
Case.Open.ReadOnly |
Case.Remote.Display |
Case.Edit |