Dnug35 ak-dev.071111-beyond

33
DNUG Konferenz: Wie werden wir morgen arbeiten? Social Business becomes real. Wie werden wir morgen arbeiten? XPages – Beyond the Basics 7. bis 9. November 2011 Welcome Kongresshotel Bamberg Ulrich Krause, is@web, industrial services AG 35. DNUG Konferenz Mit freundlicher Unterstützung von:

description

Wer sich mit XPages-Entwicklung beschäftigt, wird über Kurz oder Lang auch auf OpenNTF und die eXtension Library stoßen.Was ist die eXtension Library und wie kann ich die Erweiterungen in meiner Entwicklungsumgebung nutzen?Wie können mir die zahlreichen Custom Controls auf OpenNTF helfen, den Entwicklungsaufwand zu reduzieren?Seit Juli 2011 gibt es die Möglichkeit, aus XPages heraus auf relationale Datenbanken zuzugreifen. Was wird dazu benötigt und wie sieht der Zugriff in der Praxis aus?Zielgruppe: Teilnehmer mit Grundlagenkenntnissen in der XPages-EntwicklungKenntnisse: Grundlagenkenntnisse in der XPages-Entwicklung

Transcript of Dnug35 ak-dev.071111-beyond

Page 1: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten? Social Business becomes real.

Wie werden wir morgen arbeiten? XPages – Beyond the Basics

7. bis 9. November 2011 Welcome Kongresshotel Bamberg

Ulrich Krause, is@web, industrial services AG

35. DNUG Konferenz 35. DNUG Konferenz

Mit freundlicher Unterstützung von:

Page 2: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Lotus Notes / Domino Administrator & Entwickler seit 1993 Business Application Developer

bei is@web, Niederlassung Ratingen OpenNTF http://openntf.org

• !!HELP!!, Cebulon, Trigger Happy• diverse XPages Custom Controls

IBM Champion 2011• https://www-304.ibm.com/connections/blogs/socialbusiness/entry/

announcing_the_2011_ibm_champions_for_collaboration_solutions4?lang=de

Blog http://www.eknori.de Notes Forum (http://www.atnotes.de)

About: Ulrich Krause

Page 3: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Themes XPages Extension Library XPages Relational Database Support OpenNTF Custom Controls Verschiedenes

Agenda

Page 4: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Designelement (Resources \ Themes) seit Domino 8.5

XML file ;root element “theme” Global (Server), Lokal (.nsf) Server default themes Runtime Modifications JavaScript / CSS Attribute einer Komponente

können beeinflußt werden WebStandard, Notes, OneUI

• [domino root]/xsp/nsf/themes/

Themes

Page 5: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Themes sind „Server Side CSS“ Werden während der JSF render phase eingefügt Beinahe jede Eigenschaft kann gesetzt werden, solange sie

nicht readonly ist Themes werden gecached

Themes

view.setStyleClass(view.getStyleClass() + “ xspView tundra”);

Page 6: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Beispiel: pageTitle und PageIcon ( favicon )

Themes

Page 7: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Beispiel: pageTitle und PageIcon ( favicon ) mit Themes

Themes

Page 8: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Demo

Page 9: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Von IBM und Mitgliedern aus der Community entwickelte Erweiterungen für Xpages

OpenNTF• Unterschiedliche Versionen für 8.5.2 / 8.5.3• http://extlib.openntf.org• Dort auch einige Videos

Installation auf Client und Server Drag & Drop Umfangreiche Demo Datenbank

Extension Library

Page 10: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Dokumentation lesen!

Preview in WebBrowser• workspace nach domino\workspace kopieren

Extension Library Installation

Page 11: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Dokumentation lesen! updateSite.zip entpacken features, plugins auf Server kopieren http task neu starten ( stop / start )

Extension Library Installation (Server)

Page 12: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Download entpacken "updateSiteOpenNTF-designer.zip„ entpacken Eine neue Datenbank UpdateSite.nsf auf dem Server

erstellen (Eclipse Update Site Template) ACL anpassen, Anonymous benötigt Lesezugriff. Datenbank öffnen "Import Local Update Site„ klicken OSGI_HTTP_DYNAMIC_BUNDLES=dbname.nsf

HTTP Task stoppen / starten

Extension Library Installation – ab 8.5.3

Page 13: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Erscheint 04 / 2012• Declan Scolia-Lynch• Paul Hannan• Jeremy Hodges• Paul Withers• Tim Tripcony

Verbraucherinformation

http://www.amazon.de/Xpages-Extension-Library-Step---Step/dp/0132901811/ref=sr_1_2?ie=UTF8&qid=1317625666&sr=8-2

Page 14: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Extension Library Demo Application

Page 15: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Demo

Page 16: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

XPages Relational Database Support

Page 17: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Demo

Page 18: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Geht auch ohne extension Library …

Was brauchen wir ?? Datenbank JDBC – Treiber

• z.B. MySQL http://dev.mysql.com/downloads/connector/j/• Gibt es für alle gängigen Datenbanksysteme

Funktionscode, der über den Treiber auf die Daten in der Datenbank zugreift (Query / Insert / Update / Delete )

XPages Relational Database Support

Page 19: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

XPages Relational Database Support

MySQL Workbench

http://www.mysql.de/products/workbench/

Page 20: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Package Explorer

Neues Design Element in 8.5.3 – ‚Code Java‘

Exkurs: Java in XPages

Page 21: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Treiber einbinden (Client)• Package Explorer öffnen

• Ordner erstellen • WebContent WEB-INF lib

• Treiber per DragDrop in Ordner ziehen

• Buildpath• Rechtsklick Build Path Use as Source Folder

XPages Relational Database Support

Page 22: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Treiber einbinden (Server)• data\domino\workspace\applications\eclipse\plugins• HTTP Task neu starten

XPages Relational Database Support

Page 23: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

de.eknori.jdbc.MySQL• executeQuery()• executeUpdate()

XPages Relational Database Support

Page 24: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

JavaScript Library

XPages Relational Database Support

Page 25: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Demo

Page 26: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

2011: Erster Development Contest auf OpenNTF

54 neue Custom Controls und 10 Library Controls Übersicht über alle eingereichten Controls + Videos

• http://xpages.info/XPagesHome.nsf/Contest.xsp

Custom Controls

Page 27: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

notes.ini variable• Server und Client

• XPagesPreload=1• Lädt die XPages runtime Komponenten beim Serverstart

• XPagesPreloadDB=Server!!Db.nsf/XPage.xsp,myLocalDb.nsf• XPages runtime Java classes

XPages preload (8.5.3)

Page 28: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Fasst automatisch mehre DoJo Module oder CSS Files in einer einzigen Datei zusammen. • Weniger Anfragen vom Browser an den Server• Verbesserung der Performance im Netzwerk• JS/CSS kann vom Browser schneller verarbeitet werden. • Weniger Server Verbindungen.

Javascript / CSS Aggregation (8.5.3)

Serverweit in xsp.properties:xsp.resources.aggregate=true

Page 29: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Javascript / CSS Aggregation

Page 30: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Ermitteln der installierten Version der eXtension Library

• var v = com.ibm.xsp.extlib.util.ExtLibUtil.getExtLibVersion();

• return "XPages ExtLib version: "+ v

Installierte Version

Page 31: Dnug35 ak-dev.071111-beyond

• Mail: [email protected]• Blog: http://www.eknori.de• Sametime: bleedyellow.com• Twitter: eknori

Q + A

Page 32: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

Ihre Bewertung der Präsentation

Bitte nehmen Sie sich die Zeit, um diesen Vortrag zu bewerten(A6-Block in Ihren Konferenzunterlagen)

RückgabeGeben Sie das ausgefüllte Bewertungsblatt bei dem Moderator/Betreuer Ihres Vortrages bzw. am Tagungscounter der DNUG ab.

.

Page 33: Dnug35 ak-dev.071111-beyond

DNUG Konferenz: Wie werden wir morgen arbeiten?

http://www.electricplum.com/dlsim.html