DataTables LDAP Service usage Guide



Ähnliche Dokumente
Datenbanken Kapitel 2

Online Kataloge. Wie binde ich einen SGVSB-Online-Katalog in eine Webseite ein. Versionsnummer: 1.0 Änderungsdatum:

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar CAP-News 40

Zur drittletzten Zeile scrollen

AutoCAD Dienstprogramm zur Lizenzübertragung

Java Webentwicklung (mit JSP)

Einführung in die Scriptsprache PHP

Professionelle Seminare im Bereich MS-Office

<script type="text/javascript"> <! <%= page(page.searchsuggestionsscript) %> // > </script>

Import und Export von Übergängern

Objektorientierte Programmierung

Kurzanleitung RACE APP

Dokumentation für Popup (lightbox)

Word 2010 Schnellbausteine

1 Vom Problem zum Programm

Graphic Coding. Klausur. 9. Februar Kurs A

Templates für CMSMadeSimple

Einführung in die Programmierung

Handbuch zu SoSci Survey an der OVGU

Informatik I: Einführung in die Programmierung

Da die Bedienung des Editors viele Möglichkeiten aufweist, aber auch etwas Übung voraussetzt, haben wir ihm ein eigenes Unterkapitel gewidmet.

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Es gibt zahlreiche Web-Programmiersprachen: HTML, CSS, JavaScript, PHP, Perl, Python, HTTP, XML und viele weitere.

Einrichten einer mehrsprachigen Webseite mit Joomla (3.3.6)

Vorabversion. Schulung am Homepage Administration und Pflege

Datenexport aus JS - Software

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

Der neue persönliche Bereich/die CommSy-Leiste

Erstellen von x-y-diagrammen in OpenOffice.calc

Datenübernahme aus Fremdprogrammen

1. EINLEITUNG 2. GLOBALE GRUPPEN Globale Gruppen anlegen

Barcodedatei importieren

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen

Erstellen eines HTML-Templates mit externer CSS-Datei

Präventionsforum+ Erfahrungsaustausch. HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch. Stand: Änderungen vorbehalten

Individuelle Formulare

Webalizer HOWTO. Stand:

Nützliche Tipps für Einsteiger

Anzeige von eingescannten Rechnungen

Anleitung: Ändern von Seiteninhalten und anlegen eines News Beitrags auf der Homepage des DAV Zorneding

Hilfedatei der Oden$-Börse Stand Juni 2014

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Artikel Schnittstelle über CSV

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

affilinet_ Flash-Spezifikationen

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Handbuch zum Statistiktool Pentaho Stand: Dezember 2013

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

Klicken Sie auf Weiter und es erscheint folgender Dialog

Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken. Upload- / Download-Arbeitsbereich

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Übergabe nach Outlook

Medea3 Print-Client (m3_print)

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

E-Finance Java de PF

Software- Handbuch

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

Zahlen auf einen Blick

Anleitung über den Umgang mit Schildern

Whitepaper. Produkt: combit factura manager. Mehrwertsteuererhöhung durchführen. combit GmbH Untere Laube Konstanz

Um unsere Gemeindewebseite für Ihre Zwecke zu nutzen, haben Sie folgende Möglichkeiten:

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Installations Guide für YAJSW und DTLDAP

Erstellen eigener HTML Seiten auf ewon

Stammdatenanlage über den Einrichtungsassistenten

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Internationales Altkatholisches Laienforum

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Personen. Anlegen einer neuen Person

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

WPF Steuerelemente Listbox, ComboBox, ListView,

Dokumentenverwaltung im Internet

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Viele Bilder auf der FA-Homepage

Anleitung, WebRecherche

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

4.1 Wie bediene ich das Webportal?

LSF - Lehre Studium Forschung Einführung in LSF

Warten auf Ereignisse

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

ASDI Benchmarking Projekt. Anleitung zum Datenexport

Bedienung des Web-Portales der Sportbergbetriebe

Auto-Provisionierung tiptel 31x0 mit Yeastar MyPBX

Stand: Adressnummern ändern Modulbeschreibung

1. Schritt: Export Datei im Fidelio erstellen

Customer and Project Services. Teilnehmerunterlagen Aktivitäten

1. Allgemein Speichern und Zwischenspeichern des Designs Auswahl der zu bearbeitenden Seite Text ergänzen Textgrösse ändern 3

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Extending tl_member. Andreas Fieger

Anleitung zum Hochladen von Bilddateien in die Bilderverwaltung des CVJM Mössingen

Erweiterungen Webportal

Software- und Druckerzuweisung Selbstlernmaterialien

Transkript:

DataTables LDAP Service usage Guide DTLDAP Usage Guide thomasktn@me.com / www.ktn.ch

Benutzung des DTLDAP Service DataTables Der Service stellt einen JSON Feed für DataTables (http://www.datatables.net) zur Verfügung. Es wurde so fern möglich der Standard von DataTables übernommen. An einigen Stellen musste Zusatzparameter definiert werden, um die benötigten Funktionen abzudecken. An anderen Stellen wurde nicht alles im Service implementiert, was DataTables bietet. Funktionsübersicht Der Service stellt den Clients den JSON Feed, welcher von DataTables erwartet wird zur Verfügung. Dieser Feed wird dynamisch Aufgrund des GET Request s des Client zusammen gestellt. Die Parameter, die vom Service beachtet / benutzt werden Sind folgende: Parameter Beschreibung Beispiel Optional sldapquery Gibts an, welche Query abgerufen aodata.push( { "name": "sldapquery", Nein werden soll "value": "roles_de" ); secho Muss Feld, eine Zahl. Sollte bei jedem Wird von DataTables automatisch Nein Aufruf erhöht werden. Der Service gibt immer die selbe Nummer als Anwort zurück idisplaystart Gibt an, ab welchem Record die Daten Wird von DataTables automatisch zurückgegeben werden sollen. Wenn nicht angegeben, wird 0 angenommen idisplaylength Gibt an wieviele Rows zurückgegeben Wird von DataTables automatisch werden sollen. Defaults to 1 ildapcartesian Gibt an, ob und welche Row als aodata.push( { "name": Cartesian Produkt zurück gegeben werden soll. -1 = alle, 0 = Row 0, 1= Row 1, etc "sldapcartesian", "value": "1" ); ssearch Alle Felder die suchbar sind (bsearchable_<colnr>) nach diesem String durchsuchen. (Contains) Wird von DataTables automatisch. (Filter / Search Field ) DTLDAP Usage Guide 1

Parameter Beschreibung Beispiel Optional ssearch_<colnr> Definiert nach was in dieser Spalte "aosearchcols": [null,null,{ "ssearch": gesucht werden soll. Beispiel suche in spalte 3 nach AA "AA",null,null,null ], bsearchable_<colnr> Definiert ob der Globale Search "bsearchable": false ssearch in dieser Spalte suchen soll. Default ist setzten in aocolumns isortcol_0 Sortierung. Wert entspricht der Spalte, Wird von DataTables automatisch die sortiert werden soll ssortdir_0 Richtung in der Sortiert werden soll Wird von DataTables automatisch bdownloadcsv Soll anstatt eines JSON Feeds ein CSV oparams.push({ "name": Feed geschickt werden?. Default false "bdownloadcsv", "value": "true"); bexport_<colnr> Definiert ob diese Zeile Exportiert oparams.push({ "name": "bexport_0", werden soll. Zum Beispiel bei CSV Download. Default true "value": "false"); bhighlight Soll gesuchtes in der DataTable als aodata.push( { "name": "bhighlight", Markiert dargestellt werden? Default false "value": "true" ); bhighlight_<colnr> Soll diese Spalte Markiert werden nach Suchresultaten? default false aodata.push( { "name": "bhighlight_2", "value": "true" ); Aufrufmöglichkeiten Der Service kann mit folgenden URI Aufgerufen werden: URI Beschreibung Optional http://serverip:portnr/daten Backend / JSON Stream, wenn Parameter mitgegeben werden Backend kann in config disabled werden enable_backend http://serverip:portnr/ http://serverip:portnr/generate Index des Services Enthält Links zu automatisch genererierten DataTables sowie Links zum Backend und zur Doku Dieser Link für die einzelnen Queries, die in der Konfig definiert sind dynamisch eine HTML Seite mit einer DataTable, welche als Quickstart benutzt werden kann Kann im Backend disabled werden enable_index Das generieren kann in der Konfiguration des Services abgeschaltet werden enable_generate http://serverip:portnr/* Alle anderen möglichen Aufrufe werden versucht aus dem extdata Verzeichniss bedient zu werden (Web Server) Das verhalten als Webserver kann in der Konfig ausgeschaltet werden enable_fileserver DTLDAP Usage Guide 2

Einfache Beispiele Einfache Möglichkeit (Plain) Konfig queries: example001: filter: '(objectclass=person)' basedn: 'ou=users,o=demo' attrs: - cn - dn - fullname The HTML File <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>demo Datatable for Query: example001</title> <style type="text/css" title="currentstyle"> @import "demo.css"; </style> <script type="text/javascript" language="javascript" src="jquery.min.js"></script> <script type="text/javascript" language="javascript" src="jquery.tools.min.js"></script> <script type="text/javascript" language="javascript" src="jquery.datatables.min.js"></script> <script type="text/javascript" charset="utf-8"> $(document).ready(function() { var otable = $('#example001').datatable( { "bserverside": true, "sajaxsource": "daten", "idisplaylength": 25, "aasorting": [[1,'asc']], "fnserverparams": function ( aodata ) { aodata.push( { "name": "sldapquery", "value": "example001" ); ); ); </script> </head> <body> <h1>demo Datatable for Query: example001</h1> </body> </html> <table id="example001"> <thead><tr> <th>cn</th> <th>dn</th> <th>fullname</th> </tr></thead> <tbody><tr><td colspan="3" class="datatables_empty">loading data from server</td></tr></tbody> </table> Ausgabe Sieht nicht besonders aus, aber funktioniert. Diese DataTable besitzt bereit ein Paging, sowie eine Suche und Sortieren nach den entsprechenden Spalten DTLDAP Usage Guide 3

Ausgabe mit entsprechendem CSS Hier wurde im HTML bei der Definition der Datatable die sdom gesetzt "sdom" : '<"demo-header"<"demo"flr>>t<"demo-footer"<"demo"ip>><"clear">t' und daraus wurde via CSS dann diese Tabelle erstellt. Es handelt sich dabei immer noch um genau die selber wie bei der Ausbau von vorhin. CSV Export Tabelle Um die Tabelle für einen CSV Export zu erweitern, benötigen wird TableTools. Diese wird im Header mit eingebunden. <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>demo Datatable for Query: example001</title> <style type="text/css" title="currentstyle"> @import "demo.css"; </style> <script type="text/javascript" language="javascript" src="jquery.min.js"></script> <script type="text/javascript" language="javascript" src="jquery.tools.min.js"></script> <script type="text/javascript" language="javascript" src="jquery.datatables.min.js"></script> <script type="text/javascript" language="javascript" src="tabletools.min.js"></script>... Danach definieren wir einen TableTool Button, und platzieren diesen im sdom. TableTools.BUTTONS.download = { "saction": "text", "sfieldboundary": "", "sfieldseperator": "\t", "snewline": "<br>", "stooltip": "Download the Data as csv File", "sbuttonclass": "DTTT_button_text", "sbuttonclasshover": "DTTT_button_text_hover", "sbuttontext": "Download", "mcolumns": "all", "bheader": true, "bfooter": true, "sdiv": "", "fnmouseover": null, "fnmouseout": null, "fnclick": function( nbutton, oconfig ) { var oparams = this.s.dt.oapi._fnajaxparameters( this.s.dt ); oparams.push({ "name": "sldapquery", "value": "query03"); DTLDAP Usage Guide 4

; oparams.push({ "name": "bdownloadcsv", "value": "true"); oparams.push({ "name": "bexport_0", "value": "false"); var iframe = document.createelement('iframe'); iframe.style.height = "0px"; iframe.style.width = "0px"; iframe.src = oconfig.surl+"?"+$.param(oparams); document.body.appendchild( iframe );, "fnselect": null, "fncomplete": null, "fninit": null In der sdom muss wie oben beschrieben T enthalten sein, dort wird TableTools plaziert. Nun müssen wir in der DT noch die Tools initialisieren "otabletools": { "abuttons": [ { "sextends": "download", "sbuttontext": "Download CSV", "surl": "/dt/daten" ], Schon sollten wir in der lagen sein, die gewünschten Daten via CSV zu exportieren. DTLDAP Usage Guide 5

Select from one Table, Copy to another Die ausgewählten Einträge sind in der Variable selected gespeichert (Alle DN s die in der Selected Tabelle sind) Der Code dazu: <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>demo Datatable for Query: example001</title> <style type="text/css" title="currentstyle"> @import "demo.css";.demo tr.even.row_selected td { background-color: yellow;.demo tr.odd.row_selected td { background-color: yellow; </style> <script type="text/javascript" language="javascript" src="jquery.min.js"></script> <script type="text/javascript" language="javascript" src="jquery.tools.min.js"></script> <script type="text/javascript" language="javascript" src="jquery.datatables.min.js"></script> <script type="text/javascript" charset="utf-8"> var selected = new Array(); $(document).ready(function() { var otable = $('#example001').datatable( { "sdom" : '<"demo-header"<"demo"flr>>t<"demo-footer"<"demo"ip>><"clear">', "bserverside": true, "sajaxsource": "daten", "idisplaylength": 10, "fnrowcallback": function( nrow, adata, idisplayindex, idisplayindexfull ) { if ($.inarray(adata[1], selected) >= 0) $(nrow).addclass("row_selected"); // Mark all from selected Array return nrow;, "fnserverparams": function ( aodata ) { aodata.push( { "name": "sldapquery", "value": "example001" ); ); var seltable = $('#selectedtable').datatable( { "sdom" : '<"demo-header"<"demo"r>>t<"demo-footer"<"demo"ip>><"clear">', "bserverside": false, "idisplaylength": 10, "aadata" : [], ); $('#example001 tbody tr').live('click', function (event) { var adata = otable.fngetdata(this); // get datarow if (null!= adata) { // null if we clicked on title row if (!$(event.target.parentnode).hasclass("row_selected")) { $(event.target.parentnode).addclass("row_selected"); selected[selected.length] = adata[1]; DTLDAP Usage Guide 6

); seltable.fnadddata(adata); $('#selectedtable tbody tr').live('click', function (event) { var adata = seltable.fngetdata(this); // get datarow if (null!= adata) { // null if we clicked on title row selected.splice(selected.indexof(adata[1]), 1); if (seltable.fngetdata().length < 2) { seltable.fncleartable(); selected = new Array(); else { $(event.target.parentnode).addclass("row_selected"); seltable.fndeleterow($('#selectedtable tr.row_selected')[0]); otable.fndraw(); ); ); </script> </head> <body> <h1>demo Datatable for Query: example001</h1> <h2>select some items</h2> <table class="demo" id="example001"> <thead><tr> <th>cn</th> <th>dn</th> <th>fullname</th></tr></thead> <tbody><tr><td colspan="3" class="datatables_empty">loading data from server</td></tr></tbody> </table> <h2>selected Items</h2> <table class="demo" id="selectedtable"> <thead><tr> <th>cn</th> <th>dn</th> <th>fullname</th> </tr></thead> <tbody><tr><td colspan="3" class="datatables_empty">no Rows Selected</td></tr></tbody> </table> </body> </html> DTLDAP Usage Guide 7