Beiträge

yalst 10.07 veröffentlicht

Wir möchten Ihnen heute die Änderungen in der Version 10.07 vorstellen, in der wir uns hauptsächlich mit unserem FAQ-Modul und mit der Administration beschäftigt haben.

Die FAQs werden jetzt in alle Ausprägungen des Chats (Popup, Mobilgeräte, in Seite eingebettet) angezeigt und können nun im Markdown-Format geschrieben werden. Damit gibt es nun keine funktionalen Unterschiede mehr zwischen den verschiedenen Chat-Oberflächen.

Die Administration hat jetzt eine Suche und die Unterseite „Einstellungen“ in der Administration ist ab sofort deutlich übersichtlicher gestaltet.

Zusätzlich haben wir wie immer eine Vielzahl von Bugs zertreten und im Quellcode aufgeräumt.

FAQ-Integration im mobilen und im eingebetteten Chat

Bis zur dieser Version gab es die FAQs nur im Popup-Chat. Das haben wir korrigiert und die FAQs sind nun systemweit verfügbar, 

im Popup-Chat:

FAQs im PopUp-Chat

im eingebetteten Chat:

FAQs im inPage-Chat

und im mobilen Chat:

FAQs im mobilen Chatclient


FAQs im Markdown-Format

Um die Formatierung der FAQs zu erleichtern, haben wir auf das Markdown-Format umgestellt. Dieses ist für Auszeichnungen in einfachem Text sehr verbreitet und ersetzt unser proprietäres  Format aus den Vorversionen. Ihre bisherigen FAQ-Artikel werden, auch wenn sie noch im alten Format vorliegen, richtig dargestellt. Ändern Sie aber einen Artikel, so müssen die Textauszeichnungen in Markdown erfolgen, um korrekt ausgegeben zu werden. Das gilt natürlich auch für neue Artikel.

Aus einem in der Administration im Markdown-Format geschriebenen FAQ-Artikel:

FAQs im Markdown-Format

 
wird dann z.B. im mobilen Chat:
FAQs im mobilen Chatcclient
 

Änderung in der Administration

Da yalst eine Vielzahl verschiedenster Einstellungen hat und mit jedem Update einige mehr dazu kommen, haben wir in dieser Version eine Suche integriert:

Einstellungssuche

und die Einstellungsseite neu gruppiert und mit einem übersichtlicheren Design versehen:

Einstellungsseite in der Konfiguration

Weitere Änderungen in yalst 10.07

Hier haben wir die anderen Änderungen zusammengestellt:

  • Verbesserung der Datenbankperformance
  • Entfernung von Download- und Link-Monitoring
  • Konfiguration individueller FAQ-URLs (ermöglicht die Einbindung eigener FAQ-Seiten)
  • neue API zur Abfrage des Online-Status mehrerer Abteilungen und/oder Instanzen in einem Request
  • Entfernung aller HTTP-Weiterleitungen
  • Beseitigung der verschiedenen SSL-Wrapper
  • Unterstützung der Du-Form im eingebetteten und mobilen Chat
  • Systemnachrichten im Markdown-Format (betrifft nur Hauptadministratoren von Kauflösungen)

 

Update bei Kauf- und Mietlösung

Alle Mietlösungen wurden von uns bereits auf yalst 10.07 aktualisiert. Besitzer von Kauflösungen empfehlen wir über unseren Kundenbereich ein Update beziehen (kostenfrei für Kunden mit Wartungsvertrag und für Kunden mit Lizenz für yalst 10.0x, ansonsten kostenpflichtig).

yalst 10.06 veröffentlicht

Kurz nach der  Version 10.05 mit integrierter Übersetzungsfunktion möchten wir Ihnen heute die Änderungen in der Version 10.06 vorstellen. Wie fast bei jeder Aktualisierung enthält unsere neue Version zusätzlich natürlich auch Bugfixes.

Zwei Funktionen sind dabei dazugekommen.

Durchschnittliche Nachbearbeitungszeit

Wir haben in den Arbeitszeitstatistiken im Modus „Nutzung/Chats/Effizienz“ den Punkt „Durchschnittliche Nachbearbeitungszeit“ hinzugefügt:

Durchschnittliche Nachbearbeitungszeit

Durchschnittliche Nachbearbeitungszeit

Durchschnittliche Nachbearbeitungszeit

Damit können die Administratoren jetzt in der Statistik als auch den Exports sehr genau sehen, welche Agenten sich an die Vorgaben bezüglich der Länge der Nachbearbeitung nach dem Ende des Chats halten. 

Dazu muss diese Funktion der Nachbearbeitung natürlich in den Einstellungen aktiviert sein:

Nachbearbeitungszeit

Grundsätzliche Informationen über die Nachbearbeitung und andere Funktionen speziell für große Callcenter gibt es hier.

 

Zentraler DeepL-API-Key

Weiterhin besteht nun die Möglichkeit bei einer Kauflösung für alle Instanzen der Software (Kunden) zentral einen DeepL-API-Key einzustellen. Damit laufen dann alle Übersetzungen in den Chats aller Instanzen über einen Account. 
 
Diese Funktion nutzen wir selbst, damit wir in unseren Installationen für unsere Mietkunden, die die Business-Edition benutzen, die Übersetzungsfunktion kostenfrei zusätzlich anbieten können. Unsere Kunden brauchen jetzt keinen eigenen Key für die kommerzielle DeepL-API. Die Funktion muss jetzt nur noch aktiviert werden und schon werden die Chats automatisch übersetzt.
 
DeepL Übersetzungsfunktion
 
Details zur Übersetzung haben wir bereits beim Release der 10.05 beschrieben.

 

Weitere Änderungen in yalst 10.06

Hier haben wir die anderen Änderungen zusammengestellt:

Statistiken (Administration)

  • Entfernung der Plugin-Statistik
  • Entfernung des whois-Tools

Sonstiges

  •  Umstellung einiger spezieller Tabellen in der Datenbank auf innoDB

 

Update bei Kauf- und Mietlösung

Alle Mietlösungen wurden von uns bereits auf yalst 10.06 aktualisiert. Besitzer von Kauflösungen empfehlen wir über unseren Kundenbereich ein Update beziehen (kostenfrei für Kunden mit Wartungsvertrag und für Kunden mit Lizenz für yalst 10.0x, ansonsten kostenpflichtig).

Configure RequireJS to load the yalst live chat JavaScript Api

TL;DR

For loading outdated versions of the Visitor Chat JavaScript Api ensure the release version of RequireJS does finish loading it’s data-main script before fetching the Visitor Api.

Update – this post’s solution is now obsolete (1. Aug. 2014)

The co-existence problems of the two RequireJS libraries have been resolved with the version 2.1 of the VisitorAPI. The VisitorAPI library is distributed from now on as a single JavaScript file too. That source file is AMD loader compatible. Thus the VisitorAPI v. 2.1 no longer introduces global variables in the JavaScript context.

The whole loading code condenses down to:

The details are discussed in this tutorial.

The Original Problem

The RequireJS library adds support for Javascript modules which is missing in the current webbrowser implementations.
The yalst Visitor Api uses a renamed RequireJS (version 2.1.9 at the time of writing) for code organisation and loading, and so may the client pages themselves.
However since RequireJS does not provide a noConflict() method both versions can interfere on the page resulting in Javascript errors.

RequireJS in the Visitor Api

The Visitor Chat JavaScript Api provides the namespace LiveSupport which

  • under the namespace LiveSupport.VisitorAPI contains the documented public methods and
  • under the root contains it’s own version of RequireJS.

Thus in addition to the documented use these methods are available in the Api too:

The api is put in this namespace by the RequireJS optimiser r.js using a build.js file like this:

The Solution

The client page can use it’s own (non-namespaced) version of RequireJS, given it completes loading the data-main script before the Visitor Api’s namespaced version.

An Example

The example page index-sync.html uses RequireJS in require.min.js with the data-main script main.js to load jQuery, underscore and Lo-Dash.
In this example the <script> tag for the Visitor Api is created „by hand“ [1] in a function called from the data-main script main.js. This tag loads the Visitor Api’s own namespaced RequireJS in LiveSupport.js with the data-main script LiveSupportMain.js which in turn loads the actual api source files.
Among the api files is yet an own version of underscore which by using _.noConflict() is guaranteed to be free of side effects for the client page.

The directory structure and the network activity log of a web page containing both the vanilla version of RequireJS and the namespaced version of the Visitor Api is shown here:
RequireJS NoConflict Loading NetworkLog
Here is the code to accomplish sequential loading of the libraries:

[1] To define the order in which the libraries are fetched by the browser loadScript.js could be used for dynamic injection of <script> tags into the DOM and handling of the load and readystatechange events.

New JavaScript Visitor Api for Chat Events and Actions

The JavaScript Visitor Api for Chat provides a flexible way of integrating pre-chat actions and events; as well as visitor tracking on web pages. E.g. examining the support availability, tracking chat progress and painting click-to-chat buttons are highly customisable.

Registrierte Benutzer per API via PHP hinzufügen

Registrierte Benutzer sind Besucher Ihrer Website, an die Sie spezielle Zugangsdaten (Benutzername und Kennwort) für den Live-Support vergeben haben. Sobald ein solcher Benutzer angelegt wurde, erscheint im Startfenster des Live-Supports die Schaltfläche [Chat für registrierte Benutzer], über die der jeweilige Besucher zu einem entsprechenden Anmeldefenster gelangt, in das diese Zugangsdaten eingegeben werden müssen. Support-Anfragen registrierter Besucher werden in der Operator-Konsole besonders gekennzeichnet. Somit wissen Sie genau, welche Person „am anderen Ende des Chats“ zugegen ist, was bei „normalen“ Anfragen ja nicht eindeutig bekannt ist. Registrierte Benutzer können mit einem Zeitguthaben versehen werden. Falls die eingestellte Zeit „abgechattet“ ist, kann dieser Benutzer keine neuen Chats mehr initiieren.

Registrierte Benutzer werden standardmäßig über den yalst-Kundenbereich über ein entsprechendes Formular hinzugefügt. Dieser Vorgang kann jedoch über die integrierte Programmierschnittstelle (API) automatisiert werden, so daß z.B. aus einem Besucher, der sich auf Ihrer Website anmeldet, automatisch ein registrierter yalst-Benutzer werden kann. Das PHP-Script, um einen Benutzer hinzuzufügen, könnte etwa so aussehen:

<IHRE YALST-DOMAIN> Domain Ihres LiveSupport-Servers
<IHRE YALST-SITE> Site Ihres LiveSupport-Zugangs (z.B. 1-1)
<IHR API-KENNWORT> Kennwort für API-Zugriffe (wird in Ihrem Kundenbereich festgelegt)

<?php
include("xmlrpc.inc.php");
$passwd = md5("<IHR API-KENNWORT"); // wird im yalst-Kundenbereich festgelegt
$site = ("IHRE YALST-SITE"); // z.B. "27000-1"
// Daten des neuen Benutzers
$benutzer = "test";
$kennwort = "Yalst5";
$beschreibung = "Testbenutzer, per API hinzugefügt";
// API-Funktion aufrufen
$result = XMLRPC_request('<IHRE YALST-DOMAIN>','/yalst/api.php','reguser.add ',array(XMLRPC_prepare($site),XMLRPC_prepare($passwd),XMLRPC_prepare($ benutzer),XMLRPC_prepare($kennwort),XMLRPC_prepare($beschreibung),XMLR PC_prepare("-1")));
?>

Die Include-Datei „xmlrpc.inc.php“ erhalten Sie unter
http://keithdevens.com/software/xmlrpc

LiveSupport-Status (online/offline) über PHP-Script ermitteln

Sie können direkt von Ihren Webapplikationen – z.B. PHP-Skripten – aus feststellen, ob Ihr Live-Support online oder offline ist. Dies kann z.B. sinnvoll sein, wenn Sie einzelne Inhalte Ihrer Seite danach ausrichten möchten, ob Online-Beratung zur Verfügung steht oder nicht.

Dazu stehen Ihnen zwei Möglichkeiten zur Verfügung, der Aufruf eines PHP-Skripts (online.php), welches den Online-Status als Zahl zurückgibt, oder die Nutzung einer API-Funktion.

Bitte ersetzen Sie in den folgenden Beispielen (für PHP, selbstverständlich lassen sich vergleichbare Abfragen auch in anderen Sprachen formulieren) diese Platzhalter durch Ihre entsprechenden Daten:

<IHRE YALST-DOMAIN> Domain Ihres LiveSupport-Servers
<IHRE YALST-SITE> Site Ihres LiveSupport-Zugangs (z.B. 1-1)
<IHR API-KENNWORT> Kennwort für API-Zugriffe (wird in Ihrem Kundenbereich festgelegt)

1. online.php

http://<IHRE YALST-DOMAIN>/yalst/online.php?site=<IHRE YALST-SITE>

Als Ergebnis wird eine einzige Ziffer zurückgegeben, die dann ausgewertet
werden kann:
1 – es wird zur Zeit kein Live-Support angeboten
2 – Live-Support wird angeboten
0 – es ist ein Fehler aufgetreten (z.B. unzulässiger Aufruf dieser Seite)

In PHP könnte man das so formulieren:
function yalst()
{ $fd=@fopen("http://<IHRE YALST-DOMAIN>/yalst/online.php?site=<IHRE YALST-SITE>","r");
if ($fd)
{
$buffer=trim(fgets($fd,4096));
@fclose($fd);
if ($buffer==2)
{return true;}
else
{return false;}
}
else
{return false;}
}

Durch Aufruf der Funktion yalst() können Sie dann ermitteln, ob Ihr LiveSupport online ist.

2. yalst-API

Die eingebaute Programmierschnittstelle, welche in Ihrem yalst-Kundenbereich dokumentiert ist, bietet selbstverständlich auch eine Funktion, um an diese Information zu gelangen, und zwar

„system.isOnline“

In PHP könnte man das in etwa so formulieren:

include("xmlrpc.inc.php");
$passwd = md5("<IHR API-KENNWORT");
$result =
XMLRPC_request('<IHRE YALST-DOMAIN','/yalst/api.php','system.isOnline',ar ray(XMLRPC_prepare("<IHRE YALST-SITE>"),XMLRPC_prepare($passwd)));
if ($result[1])
{echo "online<br>";}
else
{echo "offline<br>";}

Die Include-Datei „xmlrpc.inc.php“ erhalten Sie unter
http://keithdevens.com/software/xmlrpc

FAQs per API direkt in den Internetauftritt integrieren

Neue API-Funktionen in yalst 3.05 und höher (faq.category und faq.article) machen es möglich, den FAQ-Bereich jetzt direkt in den Internetauftritt zu integrieren (ohne Popup-Fenster). Das hat neben der nahtlosen Integration in die Seite den Vorteil, daß die FAQs dann auch von Suchmaschinen indiziert werden.

Das Auslesen der FAQs kann zum Beispiel mit Hilfe der beliebten Skriptsprache PHP erfolgen. Ein minimalistisches Musterskript, welches unsere eigenen FAQs ausgibt, haben wir auf folgender Seite für Sie als Beispiel mit Quellcode und vielen Kommentaren publiziert:
http://www.visisoft.de/faq.php

Bei Fragen zur API-Programmierung können Sie sich selbstverständlich gerne an unseren Support wenden!