Dnug35 ak-dev.071111-beyond

1,528 views

Published on

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-Entwicklung
Kenntnisse: Grundlagenkenntnisse in der XPages-Entwicklung

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,528
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • So for now they work just against elements (components) on XPages - but its what they do that's cool. Imagine if you could say that anywhere you place a "Button" in your application you want to make sure that an html class type is set to "styleButton". A couple of lines in your theme, and now all the buttons on your XPage have a class set that will let you identify them in your CSS. It isn't just CSS properties or even just html properties. STYLES can change, replace, or append to the default settings of all kinds o properties on lots of elements (components).
  • Dnug35 ak-dev.071111-beyond

    1. 1. 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:
    2. 2. <ul><li>Lotus Notes / Domino Administrator & Entwickler seit 1993 </li></ul><ul><li>Business Application Developer bei [email_address] , Niederlassung Ratingen </li></ul><ul><li>OpenNTF http://openntf.org </li></ul><ul><ul><li>!!HELP!!, Cebulon, Trigger Happy </li></ul></ul><ul><ul><li>diverse XPages Custom Controls </li></ul></ul><ul><li>IBM Champion 2011 </li></ul><ul><ul><li>https://www-304.ibm.com/connections/blogs/socialbusiness/entry/announcing_the_2011_ibm_champions_for_collaboration_solutions4?lang=de </li></ul></ul><ul><li>Blog http://www.eknori.de </li></ul><ul><li>Notes Forum (http://www.atnotes.de) </li></ul>About: Ulrich Krause
    3. 3. <ul><li>Themes </li></ul><ul><li>XPages Extension Library </li></ul><ul><li>XPages Relational Database Support </li></ul><ul><li>OpenNTF Custom Controls </li></ul><ul><li>Verschiedenes </li></ul>Agenda
    4. 4. <ul><li>Designelement (Resources Themes) seit Domino 8.5 </li></ul><ul><li>XML file ;root element “theme” </li></ul><ul><li>Global (Server), Lokal (.nsf) </li></ul><ul><li>Server default themes </li></ul><ul><li>Runtime Modifications </li></ul><ul><li>JavaScript / CSS </li></ul><ul><li>Attribute einer Komponente können beeinflußt werden </li></ul><ul><li>WebStandard, Notes, OneUI </li></ul><ul><ul><ul><li>[domino root]/xsp/nsf/themes/ </li></ul></ul></ul>Themes
    5. 5. <ul><li>Themes sind „Server Side CSS“ </li></ul><ul><li>Werden während der JSF render phase eingefügt </li></ul><ul><li>Beinahe jede Eigenschaft kann gesetzt werden, solange sie nicht readonly ist </li></ul><ul><li>Themes werden gecached </li></ul>Themes view.setStyleClass(view.getStyleClass() + “ xspView tundra”);
    6. 6. <ul><li>Beispiel: pageTitle und PageIcon ( favicon ) </li></ul>Themes
    7. 7. <ul><li>Beispiel: pageTitle und PageIcon ( favicon ) mit Themes </li></ul>Themes
    8. 8. Demo
    9. 9. <ul><li>Von IBM und Mitgliedern aus der Community entwickelte Erweiterungen für Xpages </li></ul><ul><li>OpenNTF </li></ul><ul><ul><li>Unterschiedliche Versionen für 8.5.2 / 8.5.3 </li></ul></ul><ul><ul><li>http://extlib.openntf.org </li></ul></ul><ul><ul><li>Dort auch einige Videos </li></ul></ul><ul><li>Installation auf Client und Server </li></ul><ul><li>Drag & Drop </li></ul><ul><li>Umfangreiche Demo Datenbank </li></ul>Extension Library
    10. 10. <ul><li>Dokumentation lesen! </li></ul><ul><li>Preview in WebBrowser </li></ul><ul><ul><li>workspace nach dominoworkspace kopieren </li></ul></ul>Extension Library Installation
    11. 11. <ul><li>Dokumentation lesen! </li></ul><ul><li>updateSite.zip entpacken </li></ul><ul><li>features, plugins auf Server kopieren </li></ul><ul><li>http task neu starten ( stop / start ) </li></ul>Extension Library Installation (Server)
    12. 12. <ul><li>Download entpacken </li></ul><ul><li>&quot;updateSiteOpenNTF-designer.zip„ entpacken </li></ul><ul><li>Eine neue Datenbank UpdateSite.nsf auf dem Server erstellen (Eclipse Update Site Template) </li></ul><ul><li>ACL anpassen, Anonymous benötigt Lesezugriff. </li></ul><ul><li>Datenbank öffnen </li></ul><ul><li>&quot;Import Local Update Site„ klicken </li></ul><ul><li>OSGI_HTTP_DYNAMIC_BUNDLES=dbname.nsf </li></ul><ul><li>HTTP Task stoppen / starten </li></ul>Extension Library Installation – ab 8.5.3
    13. 13. <ul><li>Erscheint 04 / 2012 </li></ul><ul><ul><li>Declan Scolia-Lynch </li></ul></ul><ul><ul><li>Paul Hannan </li></ul></ul><ul><ul><li>Jeremy Hodges </li></ul></ul><ul><ul><li>Paul Withers </li></ul></ul><ul><ul><li>Tim Tripcony </li></ul></ul>Verbraucherinformation <ul><ul><ul><li>http://www.amazon.de/Xpages-Extension-Library-Step---Step/dp/0132901811/ref=sr_1_2?ie=UTF8 &qid=1317625666&sr=8-2 </li></ul></ul></ul>
    14. 14. Extension Library Demo Application
    15. 15. Demo
    16. 16. XPages Relational Database Support
    17. 17. Demo
    18. 18. <ul><li>Geht auch ohne extension Library … </li></ul><ul><li>Was brauchen wir ?? </li></ul><ul><li>Datenbank </li></ul><ul><li>JDBC – Treiber </li></ul><ul><ul><li>z.B. MySQL http://dev.mysql.com/downloads/connector/j/ </li></ul></ul><ul><ul><li>Gibt es für alle gängigen Datenbanksysteme </li></ul></ul><ul><li>Funktionscode, der über den Treiber auf die Daten in der Datenbank zugreift (Query / Insert / Update / Delete ) </li></ul>XPages Relational Database Support
    19. 19. XPages Relational Database Support <ul><li>MySQL Workbench </li></ul><ul><ul><li>http://www.mysql.de/products/workbench/ </li></ul></ul>
    20. 20. <ul><li>Package Explorer </li></ul><ul><li>Neues Design Element in 8.5.3 – ‚Code  Java‘ </li></ul>Exkurs: Java in XPages
    21. 21. <ul><li>Treiber einbinden (Client) </li></ul><ul><ul><li>Package Explorer öffnen </li></ul></ul><ul><ul><li>Ordner erstellen </li></ul></ul><ul><ul><ul><li>WebContent  WEB-INF  lib </li></ul></ul></ul><ul><ul><li>Treiber per DragDrop in Ordner ziehen </li></ul></ul><ul><ul><li>Buildpath </li></ul></ul><ul><ul><ul><li>Rechtsklick  Build Path  Use as Source Folder </li></ul></ul></ul>XPages Relational Database Support
    22. 22. <ul><li>Treiber einbinden (Server) </li></ul><ul><ul><li>datadominoworkspaceapplicationseclipseplugins </li></ul></ul><ul><ul><li>HTTP Task neu starten </li></ul></ul>XPages Relational Database Support
    23. 23. <ul><li>de.eknori.jdbc.MySQL </li></ul><ul><ul><li>executeQuery() </li></ul></ul><ul><ul><li>executeUpdate() </li></ul></ul>XPages Relational Database Support
    24. 24. <ul><li>JavaScript Library </li></ul>XPages Relational Database Support
    25. 25. Demo
    26. 26. <ul><li>2011: Erster Development Contest auf OpenNTF </li></ul><ul><li>54 neue Custom Controls und 10 Library Controls </li></ul><ul><li>Übersicht über alle eingereichten Controls + Videos </li></ul><ul><ul><li>http://xpages.info/XPagesHome.nsf/Contest.xsp </li></ul></ul>Custom Controls
    27. 27. <ul><li>notes.ini variable </li></ul><ul><ul><li>Server und Client </li></ul></ul><ul><ul><li>XPagesPreload=1 </li></ul></ul><ul><ul><ul><li>Lädt die XPages runtime Komponenten beim Serverstart </li></ul></ul></ul><ul><ul><li>XPagesPreloadDB =Server!!Db.nsf/XPage.xsp,myLocalDb.nsf </li></ul></ul><ul><ul><ul><li>XPages runtime Java classes </li></ul></ul></ul>XPages preload (8.5.3)
    28. 28. <ul><li>Fasst automatisch mehre DoJo Module oder CSS Files in einer einzigen Datei zusammen. </li></ul><ul><ul><li>Weniger Anfragen vom Browser an den Server </li></ul></ul><ul><ul><li>Verbesserung der Performance im Netzwerk </li></ul></ul><ul><ul><li>JS/CSS kann vom Browser schneller verarbeitet werden. </li></ul></ul><ul><ul><li>Weniger Server Verbindungen. </li></ul></ul>Javascript / CSS Aggregation (8.5.3) Serverweit in xsp.properties: xsp.resources.aggregate=true
    29. 29. Javascript / CSS Aggregation
    30. 30. <ul><li>Ermitteln der installierten Version der eXtension Library </li></ul><ul><ul><ul><li>var v = com.ibm.xsp.extlib.util.ExtLibUtil.getExtLibVersion(); </li></ul></ul></ul><ul><ul><ul><li>return &quot;XPages ExtLib version: &quot;+ v </li></ul></ul></ul>Installierte Version
    31. 31. <ul><li>Mail: [email_address] </li></ul><ul><li>Blog: http://www.eknori.de </li></ul><ul><li>Sametime: bleedyellow.com </li></ul><ul><li>Twitter: eknori </li></ul>Q + A
    32. 32. Ihre Bewertung der Präsentation Bitte nehmen Sie sich die Zeit, um diesen Vortrag zu bewerten (A6-Block in Ihren Konferenzunterlagen) Rückgabe Geben Sie das ausgefüllte Bewertungsblatt bei dem Moderator/Betreuer Ihres Vortrages bzw. am Tagungscounter der DNUG ab. .
    33. 33. <ul><li>http://www.electricplum.com/dlsim.html </li></ul>

    ×