Posts Tagged extension library

Distribution of the extension library

I have written a document on the distribution of the extension library. I have compared Upgrade Pack installation option with using an Update Site. You may guess who has become the winner. If there is anything incorrect stated in the document please let me know.

PDF: Distribution Extension Library

Contents

  • Introduction. 2
    • Description. 2
    • Upgrade Pack. 2
    • Update Site database. 2
  • Discussion. 3
    • Physical installation versus runtime installation. 3
    • Administration overhead. 3
    • IBM support. 3
    • Speed in delivery of new functionality. 4
    • Proven technology versus Experimental phase. 4
  • Comparison. 4
    • Winner. 4
  • References. 5
    • XPages Extensibility API Developers Guide. 5
    • Installing and administering the XPages Extension Library. 5
    • XPages Extension Library Deployment in Domino 8.5.3. 5

Introduction

This document discusses the (recommended) way the extension library is distributed within Organization X.

Description

Based on the XPages Extensibility API, the Extension Library provides a set of new artifacts, including controls, which introduces extended capabilities to supplement XPages.

At the moment we see the library distributed in 2 ways:

  • Upgrade Pack.
  • Update Site database.

Upgrade Pack

The Upgrade Pack is an installation package that contains new features and improvements in Domino Designer.

The main functionality highlights of this upgrade pack include the following:

  • XPages Extension Library.
  • Domino Designer tooling plug-in.
  • Domino Data Services.
  • Updated TeamRoom and Discussion templates.

The XPages Extension Library provides additional controls that are ready to use.

The Upgrade Pack is restricted to a specific release of Domino. Currently there is 1 version released which is dedicated to Domino 8.5.3.

The Upgrade Pack 1 is supported by IBM.

Update Site database

An Eclipse update site is a repository for features and plug-ins and it follows a standard format. In IBM Notes the update site is an NSF application where OSGi bundles are dynamically contributed to the OSGi runtime of the Domino server.

The Extension Library will be uploaded to the Update Site application from where it is made available.

A great advantage of this approach is that plugins are not physically installed on the server but started up on HTTP startup of the Domino server.

The Domino OSGi launcher will automatically detect which version of a plugin it should use. Multiple versions of the Extension Library can be hosted by an update site. This increases the delivery of new functionality.

The Extension Library for an Update Site is distributed via OpenNTF at
http://extlib.openntf.org/
.

Discussion

There should be a discussion what the preferred way to distribute the extension library is. Each method has its advantages and disadvantages:

  • Physical installation versus runtime installation.
  • Administration overhead.
  • IBM support.
  • Speed in delivery of new functionality.
  • Proven technology vs. Experimental phase.

Physical installation versus runtime installation

The installation (and de-installation) via an Upgrade Pack is a physical installation and demands that a server must be shut down. The installation via an Update Site is not a physical installation and the server does not have to be shut down, only the HTTP task has to be restarted on the server.

The Update Site can be installed on multiple servers via replication and hereby the installation of the Extension Library on multiple servers can be accelerated.

There is a downside to the runtime installation. A Notes server has to have defined in the Notes.INI settings that dynamic bundles can be installed in OSGI via HTTP reset:


http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPages_Extension_Library_Deployment#Set+the+Notes.INI+variable+-+OSGI_HTTP_DYNAMIC_BUNDLES

In order to have this Notes.INI setting in place the server has to be restarted once.

Administration overhead

The Extension Library provided via OpenNTF has continuous new releases. Most of these releases are bug fixes and the others provide new functionality.

It is likely that developers demand after the installation of latest release via an Update Site, in order to have access to the new functionality. This will create extra requests and administration overhead.

On the other side the physical downtime of a server has a very high impact also on the administration side (announcements, change requests, fall back servers, incident reports sent by ignorant users).

IBM support

Upgrade Pack is “supported” by IBM. You can discuss what that means. For certain you can make a PMR (problem management record) but it is not known if IBM is providing hotfixes for bug fixes for the Upgrade Pack.

Experiences in other PMR’s on Notes software (NTF templates for Notes) have not been positive always.

On the other hand one cannot really say that distribution of the Extension Library from OpenNTF via an Update Site is “not supported” by IBM. Since the release of the Extension Library there have been multiple releases (over 30) of the Extension Library. Most of these releases are bug fixes assumed.

There is a lively discussion on the Extension Library on OpenNTF
http://www.openntf.org/internal/home.nsf/discussions.xsp?action=openDocument&name=XPages%20Extension%20Library&documentId=523C4281B0889F12862577910060E232
which makes the necessity of support from IBM less.

Speed in delivery of new functionality

In Today’s world software suppliers provide more often software updates silently on the background to boost security or to provide new functionality. In the browser world this seems almost to have become a standard.

Being able to deliver new functionality more quickly can bring extra value to the business.

An Upgrade Pack has only been released once until now. The announced Upgrade Pack 2 seems only to be focused on Notes Traveller. In the meantime more than 30 releases are available for the Extension Library on OpenNTF.

Proven technology versus Experimental phase

Upgrade Pack 1 contains only a stable version of the Extension Library.  The Extension Library on OpenNTF contains also experimental features (e.g. Social, RDBMS support). These features will someday reside in the ‘ordinary’ Extension Library.

The features are collected in an Extended Components library. This Extended Components library must be installed via an Update Site. From discussions on the internet it seems to be possible to install this library on top of an Upgrade Pack via and Update Site. But why use 2 methods to distribute functionality when you can combine them via one (via Update Site)?

Comparison

Based upon the previous discussion we will compare the two methods.

Upgrade Pack Update Site
Installation Physical Runtime
Administration 1 version Multiple versions
Support IBM (PMR) OpenNTF (defect, discussion)
New functionality New Upgrade (once 2 years?) New Release (each 2 months)
Proven vs Experimental Proven Proven + Experimental

Winner

The overall ‘winner’ in this comparison is the distribution via an Update Site. A runtime installation offers a lot of benefits above a physical installation:

  • Quick installation.
  • Availability server.
  • Replication option installation software.
  • New functionality.

There are some drawbacks:

  • A server needs to have the OSGI_HTTP_DYNAMIC_BUNDLES Notes.INI property which requires a restart of the server.
  • Installed versions of the Upgrade Pack should be removed first.

References

XPages Extensibility API Developers Guide


http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Master_Table_of_Contents_for_XPages_Extensibility_APIs_Developer_Guide

Installing and administering the XPages Extension Library

http://www-10.lotus.com/ldd/ddwiki.nsf/xpDocViewer.xsp?lookupName=Domino+Designer+XPages+Extension+Library#action=openDocument&res_title=Installing_and_administering_the_XPages_Extension_Library_ddxl853&content=pdcontent

XPages Extension Library Deployment in Domino 8.5.3

http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPages_Extension_Library_Deployment

Leave a Comment

??? Can even be customized by providing an inherited renderer

Slide 49 from  Show110 - Using the XPages Extension Library for the Real World (Lotusphere 2012) says:

Application Layout Control

- Can even be customized by providing an inherited renderer

Has anyone an idea what is meant here?

Comments (3)

New release of Bildr released =)

Today I released a new version of my xpages playground aka Bildr (4.01 so never mind the bugs) on OpenNTF (link).

Beside the following ‘small media campaign’:

 

and this blog-post we’ll see how people pick up this new release.

What’s new?

Extension Library

Personally I have been working quite a while now with the extension library, and now I have implemented this more in the application:

  • Application Layout control
  • Data view control
  • Widget control
  • Outline control
  • Mobile controls

 

Mobile interface

This is not the first Notes application I have mobilized. Maybe the ‘modular’ approach makes the mobile interface of interest for other developers.

The applications contains a subset of reusable custom controls to setup quickly a mobile interface for ANY Notes database.

I assume that mostly you want to display View information in a mobile app, so custom controls for a flat and a categorized view enable you to quickly mobile multiple Notes views.

Also the mobile interface contains custom controls to define splashscreen, bookmark icon and more stuff like that to build a more complete mobile Notes app.

Less design elements

Less is more we assume. Especially if you have an application that was built over more than one version of Notes (8.0x, 8.51, 8.53) and where more one developer has contributed, your design tend to become a bit inefficient. Introducing the Extension Library also made it possible to reduce the number of design elements by using ‘out of the box’ controls e.g. tag cloud control and  layout control.

OneUI v2.1

OneUI is dead, long live the new oneUI! (probably we will shout this out loud soon again).

 

Upgrade or start from scratch?

If you are a current user of Bildr I would not dare to simple upgrade the application design. You can try, I haven’t (due to lack of time).

Start with a new DB from scratch will work fine =)

Which enhancements to expect?

In the next release I would like to add some missing functionality e.g. rating, geolocation with Google maps v3. If possible I would like to further eliminate the number of design elements, remove old code.

Ideas can be posted here:

http://openntf.org/ideajam/ideajam.nsf/ProductByAreaMostRecent?openview&restricttocategory=Bildr

For now I will relax the next couple of evenings and work on my real-world social life =)

Leave a Comment

Bildr on Extension Library (work in progress)

In the last week before vacation I have some time left for some experiment. So I decided after reading the extension library guide to start rewriting the Bildr project on OpenNTF. Untill now I have come pretty far and the first results look promising. Not sure if I can manage to finalize the project before the end of the week, but let’s think positive!

Below some screenshots so far…

Comments (1)

Presentations from EntwicklerCamp 2012 available

I have experienced that IBM has some problems linking to their material that lies out in the open, but I hope this post does not cause the same kind of trouble. I also know the solution in case needed: contact the content publisher to remove the files…

Nevertheless Entwicklercamp sounds like a excellent technical conference and for those of you who have no problems with reading a bit of German (not all presentations are in German, by the way) here are some interesting presentations:

Track 0 – Session 1 - Eröffnungssession - Rudi Knegt (link)

Track 0 – Session 2 - Opening Session – Phil Riand (link)

Track 0 – Session 3 - Speeddemoing – Diverse (link)

Track 0 – Session 5 - Closing Session: Ein (grausamer Selbstversuch) – 5 Monate ohne Lotus Notes – Werner Motzet

“Ein (Arbeits-)Leben ohne Lotus Notes” / “Ein (grausamer Selbstversuch) – 4 Monate ohne Lotus Notes” (link)


Track 1 – Session 1 - XPages – 1 – Grundlagen – Ulrich Krause (link)

Track 1 – Session 2 - XPages: Practical Ideas for Converting Existing Notes Applications – Matthew Fyleman (link)

Track 1 – Session 3 - XPages – 3 – eXtension Library – Viagra für die XPages – Ulrich Krause (link)

Track 1 – Session 4 - XPages – 4 – IBM oneUI + MyTheme = myUI – Manfred Meise (link)

Track 1 – Session 5 - XPages – 5 – Wie mache ich meine XPages Applikationen ‘social’? – Niklas Heidloff (link)

Track 1 – Session 6 - XPages – 6 – XPages Extensibility API – going deep – René Winkelmeyer (link)

Track 1 – Session 7 - Zähme den Tiger – Java-Entwicklung in Notes und Domino – Bernd Hort (link)

Track 1 – Session 8 - XPages – 8 – Nutzung des Dojo Toolkits zur Optimierung bestehender Notes-Web-Anwendungen – Matthias Bierl (link)


Track 2 – Session 1 – Extending Lotus Notes – Widgets, Livetext, Plugins – Detlev Poettgen (link)

Track 2 – Session 3 - Agile Softwareentwicklung mit LotusNotes – Werner Motzet (link)

Track 2 – Session 4 - Ich weiß was du diesen Sommer tun wirst – Gregory Engels (link)

Track 2 – Session 5 - Erfolgreiches Projektmanagement mit agilen Methoden – Christian Habermueller (link)

Track 2 – Session 6 - Make the impossible possible with XPages – Frank van der Linden (link)

Track 2 – Session 7 - Connect your Lotus Notes app to the Activity Stream with XPages – Frank van der Linden (link)

Track 2 – Session 8 - Keine Angst vor großen Tieren – Peter Klett (link)


Track 3 – Session 1 - Rediscover the Power of LotusScript in Notes/Domino 8.5 – Rocky Oliver (link)

Track 3 – Session 2 - Die besten Open Source Projekte von OpenNTF – Niklas Heidloff (link)

Track 3 – Session 3 - Richtig(er) Kommunizieren! – Wie bringe ich meine Botschaft rüber? – Jürgen Kunert (link)

Track 3 – Session 4 - XPages und Domino App Dev Erweiterungen – Phil Riand und Niklas Heidloff (link)

Track 3 – Session 5 - Turbocharge Development in Notes/Domino 8.5 – with @Formulas! – Rocky Oliver (link)

Track 3 – Session 6 - Mobiler Zugriff auf Notes Daten – Matthias Schneider (link)

Track 3 – Session 7 - Es gibt keine Ausreden mehr – eGit im DDE : Versionskontrolle leicht gemacht – Holger Chudek (link)

Track 3 – Session 8 - Using the XPages Mobile Controls… and looking at alternatives – Rich Sharpe (link)


Track 4 – Session 1 - Security in Notes – Manfred Meise (link)

Track 4 – Session 2 - Workflow – Richtig analysieren, dokumentieren und schlüssig hinterfragen – Christian Habermueller (link)

Track 4 – Session 3 - Lotus Protector programmieren – Matthias Schneider (link)

Track 4 – Session 4 - WebServices unter Notes/Domino – Tim Pistor (link)

Track 4 – Session 5 - Hilfe, ich habe geerbt! – Bernhard Köhler (link)

Track 4 – Session 6 - NoSQL-Datenbanken – ein Überblick – Karsten Lehmann (link)

Track 4 – Session 7 - Notes und die Zeit – Bernhard Köhler (link)

Track 4 – Session 8 - Schnittstellendesign mit dem Tivoli Directory Integrator – Am Beispiel SAP – Andreas Artner (link)


In case you are a bit lazy or dont care about bandwidth: <here> you can find the presentations archived together by track…

There are also some hands-on sessions available:

Hands-On 1 - Javascript – die ersten Schritten – Manuel Nientit (link)

Hands-On 3 - XPages – the first Steps 1 – Howard Greenberg (link)

Hands-On 4 - XPages – the second steps 2 – Howard Greenberg (link)

Hands-On 5 - Signierung und Verteilung von Plugins für den Notes Client – Detlev Poettgen (link)

Hands-On 6 - LotusScript – so einfach geht es los – Peter Klett (link)

Hands-On 7 - Mobiler Zugriff auf Notes Daten – Matthias Schneider (link)

Hands-On 8 - XPages Extensibility API – first steps – René Winkelmeyer (link)

Btw, all links were collected from this source.

Comments (4)

New version of CardScanR released on OpenNTF

The previous version of my project on OpenNTF never made it to the catalog due to some issues with used code (I never bothered to mention it in any notice file).

I thought it would be easier in future updates to be more independent from used examples so I rebuild the application with help of the extension library and especially the application layout control.

I also applied the 8.5.3 themes.

Here you can find the new release:


http://www.openntf.org/internal/home.nsf/releases.xsp?action=openDocument&name=CardScanR&documentId=480044936833E659862578ED004CDF80

Screenshots are available here:


http://www.openntf.org/internal/home.nsf/screenshots.xsp?action=openDocument&name=CardScanR&documentId=480044936833E659862578ED004CDF80

I included paypal donation links since I want to buy a motorbike again, someday. Thanks for contributing  =)

Comments (1)

New release of Viewr on OpenNTF

Awrighty, just before the weekend I managed to squeeze out some work that had landed on the shelf. It’s a new version of the Viewr application I have submitted to OpenNTF.

Main changes for this app is the implementation of Oneui v2.11 and the extension library (as part of the upgrade pack 1).

The app needs some more work (I started with a mobile interface which is not finished yet, maybe in a 2.1 version). Ofcourse you are free to submit your contributions to the project ;-)

Nevertheless enjoy. At least I did while learning OneUI v2.11 and the Extension library!

Comments (3)

Superfluous Space – Mobile Controls

Today I discovered the cause to a problem I was having with the dataview in a mobile control, and hopefully it will help others.

The dataview control was not rendered properly for a mobile device so the specified target page could not be reached and an error throwed up:

It turned out that the line xsp.theme.mobile.pagePrefix=m_ located the xsp.properties file in the Web Content\WEB-INF folder contained one superfluous space at the end.

Probably sooner or later more people will be facing same errors…

Leave a Comment

Crash course application layout control

I am working on a small project that should deliver a web application to support online marketing campaigns. The application will provide different types of content (e.g. pages, video, images, forum, agenda). For most of these items I have found custom controls on OpenNTF or in the Extension Library.

For the layout I have choosen the Application Layout control from the Extension Library. Thomas Adrian showed a wizard function in version 8.5.3 but unfortunately our environment is still on 8.5.2.

There is a video available from OpenNTF how to use the Application Layout control. However if that goes too fast for you (I guess most people) on Michelle’s Universe (2,3)I found a couple of posts that give you some more to read.

Finally I found the wiki article: AD116 XPages Extension Library: Making Application Development Even Easier which contains the code for setting up a layout design definition.

In case you know a better resource that describes the Application Layout control then you are welcome to drop a link here… =)

Comments (2)

New Extension Library (8.5.3) and mixed environments

More an more people are embracing the Extension Library for 8.5.3. I have posted a question on the project page on OpenNTF.

I am wondering how much an upgrade will affect all clients? (server, designer, normal user)

Do I have to upgrade all environments or can they happily live with each other as long as I do not use the new controls?

Our upgrade path looks normally as followed:

  • upgrade Development environment
  • upgrade Designer clients
  • upgrade Test environment
  • upgrade Production environment
  • upgrade Normal clients
We are now at 8.5.2 and wonder if we break something when upgrading Development already to 8.5.3 and start rolling out the first applications to Test and Production… ?

Comments (2)

Older Posts »
Follow

Get every new post delivered to your Inbox.

Join 143 other followers