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!

Mindmap - How to become a QlikView Infrastructure Expert

Nach den Mindmaps zum Thema "How to become a QlikView Script Expert" und "How to become a QlikView Design Expert" letztes Jahr, poste ich heute das dritte Mindmap dieser Serie: "How to become a QlikView Infrastructure Expert".


Themastisch gliedert sich dieses Mindmap in folgende Themengebiete:

  • Deployments: Clustering, DMZ, Monitoring, Features
  • Architecture 
  • Security: Authentication, Authorization, QlikView Protrokolle
  • Hardware Sizing
  • Performance
  • Software: Betriebssysteme & Tools
  • Licensing
  • Where to get Information from
  • Clients: AJAX (Full Browser Version), IEPlugin
  • SDK APIs: Management API; Extensions
  • Network Components
Hat man nur einen einzelnen QlikView Server mit ActiveDirectory Authentifizierung, dann kommt mit der QlikView Server Installation alles Out of the Box. Falls Sie aber soetwas wie einen geclusterten QlikView Server mit LDAP Usern im Extranet auf IPAD-Clients inklusive Offline-Funktionalität  haben: dann viel Spaß  mit diesem Mindmap!

Das .pdf mit dem gesamten Mindmap finden Sie hier!

heldendaten GmbH,2017