Copy to Clipboard Document Extension for QlikView

Copy&Paste in die Zwischenablage wurde 1974 - also vor 40 Jahren - von Xerox erdacht und entwickelt. Seither sind wir es gewohnt Werte, Zeichen, ja ganze Dateien von Applikation A nach Applikation B zu kopieren (selbst  kreuz&quer über mehrere Server via Remote Desktop Sessions).

Mittlerweile schreibt es das Jahr 2014. Microsoft Office 365 läuft im Webbrower. 3D-Engines laufen ohne Plugin im Firefox.  Kann eine Webseite automatisch Werte in die lokale Zwischenablage kopieren? Nein (was aus Securitygründen vielleicht gar nicht schlecht ist). Gibt es einen Webstandard für das Clipboard? Jein. "Clipboard API and events" ist momentan ein Workingdraft der W3C. Gibt es Workarounds für aktuelle Browser: eine Menge :)

Vielleicht haben Sie im QlikView Full Browser (AJAX) Client auch schon einmal die Funktion
Rechtsklick>In die Zwischenablage kopieren>Wert der Zelle gesucht um zB einen Kundennamen oder eine Bestellnummer in die Zwischenablage zu kopieren?  Was im QlikView Developer/IEPlugin selbstverständlich ist, geht in einer modernen Webapplikation nicht ohne weiteres.

Was im installierten Plugin selbstverständlich ist,  ist in Webapplikationen gar nicht einfach

Dass eine Webseite nicht einfach über Javascript Werte in die Zwischenablage kopieren kann, ist bei näherer Betrachtung sogar sinnvoll. Nur weil ich irgendeine Seite im Internet ansurfe, soll diese nicht ohne jegliche Userinteraktion die lokale Zwischenablage programmatisch befüllen dürfen.

Für Applikationen wie dem QlikView Fullbrowser Client ist das aber schade. Oft will man einen einzelnen Zellwert in die Zwischenablage kopieren um zB im Vorsystem eine Bestellnummer oder eine Kundennummer zu suchen. Da der Rechtsklick in QlikView mit einem eigenen Contextmenü überlagert ist, greift nichtmal das normale Contextmenü des Webbrowsers. Eine Anfrage beim QlikTech Support bestätigt unsere Vermutung: momentan gibt es keine Copy&Paste Funktionalität für diesen Client. Daten müssen zuerst nach Excel exportiert werden um sie weiterverarbeiten zu können. In den aktuellsten QlikView-Versionen werden Tabellenzellen sogar explizit mittels unselectable="on" markiert.

unselectable="on" im QlikView Code

HD Copy Cell Document Extension

Herausforderung angenommen! Der  QlikView Webclient lässt sich seit Version 11 mittels Document Extensions erweitern. Kann man also mittels solch einer Erweiterung die Zwischenablage nicht doch befüllen?

Ein paar Stunden später, und nach dem Durchwühlen zahlreicher Internetforen gibt es folgende Workarounds:

1) Internet Explorer unterstützt ein Javascript Objekt um programmatisch das Clipboard zu schreiben.
2) Andere Browser können mittels (aktiviertem) Flash & Userklick die Zwischenablage befüllen
3) Wenn kein Internet Explorer und kein Flash (zB am IPAD), dann hilft nur ein "Promptdialog".

Internet Explorer mit aktiver Document Extension

Chrome mit deaktiviertem Flash > Copy Mode mit Prompt

Die Document Extension aktiviert sich mittels gedrückter "CTRL" Taste im linken unterem Eck des Browser Fensters. Benutzen Sie Internet Explorer, so reicht ein Rechtsklick auf die gewünschte Zelle und der Wert landet in der Zwischenablage. Mittels Flash müssen Sie zusätzlich den Button "Copy to Clipboard" drücken. Wenn kein Flash aktiv ist, bekommen Sie das Popup vom Screenshot überhalb und müssen dann nochmals CTRL+C klicken.

Folgendes Video zeigt nochmal Optionen 1+2:


  

Dokumentation&Allerlei

- Die Document Extension finden Sie als .zip unter: content.heldendaten.eu. Bitte in .qar umbenennen.

- Um die Document Extension in der .qvw zu aktivieren, die .qar im Developer durch Doppelklick registrieren und in den Dokumenteneinstellungen hinzufügen



- Um die Document Extension am QlikView Server zu aktivieren müssen Sie die Datei Server unter C:\ProgramData\QlikTech\QlikViewServer\Extensions\Document\ entpacken




- Um Flash am QlikView Webserver zu aktivieren habe ich den MIME-Typ eingetragen



- Getestet mit QVS 11.20SR5. Kein Support & keine Garantie das diese Extension in zukünftigen QVS-Versionen funktioniert.

- Danke an Daniel Rozental der in der QlikCommunity eine Object-Extension zu dem Thema gepostet hat http://community.qlik.com/docs/DOC-5045 welche ich als Ausgangspunkt heranziehen konnte

- Manchmal aktiviert die CTRL-Taste die Document Extension nicht. Stellen Sie sicher, dass das Browserfenster den Fokus hat, und Sie nicht über einer Pivot-Tabelle etc. stehen!

4 Response to "Copy to Clipboard Document Extension for QlikView"

  1. Thanks Roland.

    I'm able to get this to work on my server, but outside my server, when I access the document from the access point the extension does not work. Would there be some additional setup for that?

    Thanks,

    Beau Brenno

    What do you mean with "on my server" and "outside my server"? Which Version of QlikView Server are you running?

    I would expect it to fail on QlikView 12, as they have changed some internal html/css. For later QlikView 11.20 service releases I have to test if I need to provide a fix...

    Unknown says:

    Hi

    I am having a bit of a difficulty getting this extension to work on the version 11.20. I would greatly appreciate your help. I have done all that was in the instructions above:

    I have windows server 2012 R2

    I have unzip the content of the file to C:\Users\[User]\AppData\Local\QlikTech\QlikView\Extensions\Objects\COPYCELLVALUE

    On the Qlikview server I have opened the qvw file and [Extension] added the CopyCellValue extension to the list of active extension

    Nothing is showing up on the report when openning it from the browser, I have tried both IE and Chrome.

    Your help is very much appreciated.

    Kind regards
    Andy

    Hi!
    I haven't tested for a while. Could be that it is broken in later releases of QV11.20 + QV12.10. Which version are you using?

Kommentar veröffentlichen

heldendaten GmbH,2017