Document Extension - Kommentare mit Link hinterlegen

QlikView bietet zu jedem Objekt in der Titelleiste ein Kommentar-Feld an. Dieses Feld ist sehr praktisch um kurze Erklärungen zu jedem Objekt zu verfassen. Wer aber komplexere Informationen hinterlegen will, würde vielleicht gerne auf eine Wiki-Seite mit detaillierter Dokumentation verweisen.

Leider interpretiert QlikView im Kommentarpopup keine Hyperlinks. Ein Klick auf das Kommentar-Popup schließt dieses, und man kehrt zu QlikView zurück. QlikView bietet uns im Full Browser/AJAX-Client ab Version 11 eine schöne Möglichkeit dieses Verhalten zu ändern: Document Extensions.

Document Extensions sind GUI-lose Modifizierungen, mit denen man das Verhalten des AJAX-Clients abändern kann. In der folgenden Document Extension wollen wir also anstatt das Popup zu schließen, lieber dem Hyperlink zu unserer Detaildokumentation folgen!

Für den Anwender

Für den Anwender kann das also wie folgt aussehen (eine Livedemo finden sie unter demo.heldendaten.net):

1) Normales QlikView Verhalten: Das Kommentar wird bei MouseOver als Tooltip angezeigt


 2)  Klickt man das Icon erscheint wie gewohnt das Popup!


3)  Ohne Document Extension würde sich beim Klick das Popup wieder schließen. Mit Document Extension öffnet sich der Link der im Kommentar unter spitzen Klammern steht: http://en.wikipedia.org/wiki/Bar_chart


Document Extension

Was ist passiert? Technisch läuft beim Öffnen der Applikation ein kleiner Javascript Code der sich zum Klick-Event des Kommentar-Popups hängt.

Qva.AddDocumentExtension('HD_ClickCommentExtension', function() {
       
    //Add Pointer-Cursor to class QvMessagePopup table 
    $("").appendTo("head");
    
    $("body").on("click", ".QvMessagePopup table", function(event){
        var comment = $(this).text();
        var URL = "";
        //extract URL from Comment 
        //Text between < >  is interpreted as URL
        URL = comment.substring(comment.indexOf('<') + 1,comment.indexOf('>'));
        //Check if it's a valid URL
        if(/^(http|https|ftp):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/i.test(URL)){
          //Open new tab
          window.open(URL);
        }
        else
        { if (URL.length > 0)
            alert("Sorry, no URL");
        }
    });
  
});
Findet die Dokument-Extension im KommentarText eine URL in spitzen Klammern (<URL>), dann öffnet es beim Klick mit window.open() die Seite.

Wie bekommt man die Document Extension in die .qvw?

Eine Document Extension ist genauso ein .qar-Packet wie herkömmlichen Extensions. Ein Doppelklick auf die Extension führt die Installation im QVDeveloper durch.
Um die Document Extension in die .qvw hinzuzufügen, muß man den Menüpunkt "Eigenschaften des Dokuments|Tab Erweiterungen" aufrufen. Dort kann man die installierte Document Extension als "Aktive Erweiterung" definieren.


Damit funktioniert die Extension im WebView-Modus des QlikView Developers. Um die Extension für alle Benutzer am Server verfügbar zu machen, muss man sie am Server unter den Defaultpfad entpacken: C:\ProgramData\QlikTech\QlikViewServer\Extensions\Document\HD_ClickCommentExtension







0 Response to "Document Extension - Kommentare mit Link hinterlegen"

Kommentar veröffentlichen

heldendaten GmbH,2017