Learning XPages: available resources

I often hear people new to XPages ask: what resources are available if you want to learn XPages?

The following lists (some of the) available resources if you want to learn XPages.

IBM provided resources

Books

Free community provided resources

  • XPages.info: lots of links to useful resources
  • XPageswiki.com
  • XPages.TV:  Notes In 9 videos, 2 hours of XPages jumpstart, and a introduction to Java for XPages develovers series
  • XPagescheatsheet.com: home of the original XPages cheatsheet and the new Social Tools cheatsheet

Free courses

Paid courses

Community provided support

Blogs
  • There are lots of blogs that cover XPages. Keep an eye on the XPages.info/news section that is updated daily with links to blog entries, wiki articles, OpenNTF projects and more.
Twitter
Happy XPages learning!

Creating your first managed bean for XPages

With Java and managed beans you can make your XPages applications even more powerful. In this blog post I will go through the steps to create and use a managed bean in XPages.

I am using Lotus Notes and Domino Designer 8.5.3 and will therefore use the new Java design element for the Java code located in the Code section.

In short: use “New Java Class” to create a Java class. Give your new class a package name (e.g. com.company) and a class name (e.g. HelloWorld). Add a local variable and let Eclipse generate getter and setter for it by using Source – Generate Getters and Setters. Also, let Eclipse generate a public no-parameter constructor by using Source – Generate Constructor using Fields and deselect your newly created field and omit call to super().

You will then have the following basic skeleton for a Java class:

package com.company;

public class helloworld {

	public helloworld() {
	}

	private String someVariable;

	public String getSomeVariable() {
		return someVariable;
	}

	public void setSomeVariable(String someVariable) {
		someVariable = someVariable;
	}

}

In order to support the XPages server page persistence option “Keep pages on disk”, the Java class needs to be serializable. The Java class therefore needs to implement Serializable. Therefore, add “implements Serializable” after your class name (and Eclipse will automatically add the required import). Then use the Eclipse Quick Fix to “Add generated serial version ID”. You now have a basic skeleton for a Java class that can be used as a managed bean:

package com.company;

import java.io.Serializable;

public class helloworld implements Serializable {

	private static final long serialVersionUID = 6469339826789980362L;

	public helloworld() {
	}

	private String someVariable;

	public String getSomeVariable() {
		return someVariable;
	}

	public void setSomeVariable(String someVariable) {
		someVariable = someVariable;
	}

}

Now we need to tell XPages that we would like to use this Java class as a managed bean. First, Add the Package Explorer view to your Eclipse perspective using Window – Show Eclipse Views – Other and select Package Explorer. Now go to the Package Explorer and navigate to the WebContent/WEB-INF folder where you will find a faces-config.xml file. Open the faces-config.xml file and add the following managed bean section in the <faces-config> section:

<?xml version="1.0" encoding="UTF-8"?>
<faces-config>
	<managed-bean>
		<managed-bean-name>helloWorld</managed-bean-name>
		<managed-bean-class>com.company.helloworld</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
</faces-config>

You now have a basic faces-config for your HelloWorld Java class. Scope for a bean can be the usual scopes (application, session, view, request).

With the Java class and the faces-config in place the managed bean can now be used in an XPage. The bean value (both the getter and setter) can be accessed from an XPage using #{helloWorld.someVariable}.

This very basic example of a bean does not do anything. The Java class would of course have to add values to the someVariable property before that value would be useful in an XPage. I will create a 2nd blog post that shows how to use a bean in a repeat control to display values from the managed bean.

For more information on XPages and managed beans have a look at:

Thoughts from Lotusphere 2012: Lotus Notes Social Edition

One of the highlights from Lotusphere 2012 was the accouncement of the next feature release of Lotus Notes called Lotus Notes Social Edition.

Lotus Notes Social Edition features a new homepage with activity streams and embedded apps (embedded experiences) using open standards such as OpenSocial. From the Lotus Notes homepage a user can interact with an external application without leaving the home page (collaboratio in-context). Lotus iNotes (the web mail component for Lotus Notes) will also support activity streams and embedded apps. The new homepage looks similar to the activity streams in the upcoming IBM Connections 4.0 release.

XPages and the Extension Library Social Enabler toolkit can be used to implemenet applications that support activity streams and OpenSocial gadgets in order to create embedded apps. The Social Enabler Toolkit is currently only part of the OpenNTF release and will be part of Upgrade Pack 2.

Social Edition also features a brand-new and more simple UI for mail (for both the Lotus Notes client and for iNotes webmail):

In between now (8.5.3) and Social Edition we will see a 8.5.4 release with features required to be able to deploy the Social Edition upgrade on top of Lotus Notes and Domino 8.5.4. In 2012 we will also see the release of Upgrade Pack 2 (IBM supported Extension Library with new features currently only available in the experimental part of the OpenNTF Extension Library).

Lotus Domino 8.5.4 is planned to support SAML and oAUTH for authentication. With Domino supporting oAUTH it will be possible to bring XPages applications into the context of other applications.

Finally, the Lotus Notes app browser plugin for Firefox/Windows was presented at Lotusphere. This plugin is a lightweight Lotus Notes client in the browser that can run Notes client applications. This enables organizations to focus on implementing new XPages web applications and have their existing/old Notes client applications use the plugin.

Ed Brill from IBM has blogged about Lotus Notes and Domino Social Edition and also posted his “Messaging and Collaboration Strategy” session from Lotusphere on Slideshare.

Chris Reckling from IBM has blogged about the Notes and iNotes announcements from the Lotusphere 2012 OGS.

Thoughts from Lotusphere 2012: IBM Connections 4 (“Next”)

At the Lotusphere 2012 Opening General Session (OGS) and throughout the conference IBM showed the next version of IBM Connections (to be called IBM Connections 4.0?). My first impression of the next release of IBM Connections is that it looks really, really great! Among many things it features exciting new elements such as activity streams, social mail and embedded apps (using open standards such as Activity Streams and OpenSocial gadgets).

Embedded apps for activity streams can be created using e.g. XPages. An embedded app makes it possible for the user to take action directly from the invidual post in the activity stream (without leaving IBM Connections).

The integrated mail and calendar of IBM Connections (social mail) will support Lotus Domino and Microsoft Exchange as backend mail servers. This is an interesting move  that makes the underlying mail server in use irrelevant to the IBM Connections deployment.

IBM Connections 4 also includes community metrics (to track e.g. adoption rates), optional realtime group video chat using a plugin from Polycom, ECM library integration and realtime co-editing of documents, presentations and spreadsheets using IBM Docs (IBM Docs is currently in beta on IBM Greenhouse).

My plans for Lotusphere 2012

This is how I look 🙂

I am going to Lotusphere 2012 in Orlando – and I look forward to it!

Here are some of the things I plan to do and attend:

  • B.A.L.D. (Bloggers and friends Annual Lotusphere Dinner) on Saturday
  • Business Development Day general session on Sunday
  • Welcome Reception on Sunday evening
  • Opening General Session on Monday morning
  • UK Night on Monday (if I can fake a proper English accent – and get the necessary UKLUG sticker on my conference badge)
  • IBM Nordic dinner on Tuesday evening
  • OpenNTF booth duty on Tuesday and Wednesday at booth 516
  • The Lotusphere party at Sea World on Wednesday evening
  • This Week in Lotus LIVE on Thursday morning
  • Ask the Developers on Thursday
  • The (someday famous) Lotusphere basketball game with teams of Lotusphere attendees, speakers and IBMers – arranged by Jon Mell. Time and place to be determined.

Look for me and let’s see who says hi first 🙂 See you there!

XPages Extension Library on OpenNTF updated to match Upgrade Pack 1

The XPages Extension Library project on OpenNTF was updated yesterday to version 853-20111215. This version matches the newly released Domino 8.5.3 Upgrade Pack 1.

If you want to use the OpenNTF version (and not Upgrade Pack 1) you can update your servers and clients using the update site method.

You can find the installation instructions for the OpenNTF version and for Upgrade Pack 1 on the Lotus Notes and Domino Application Development wiki.

Notes/Domino 8.5.3 Upgrade Pack 1: Great news for XPages

Great news for XPages today: Notes/Domino 8.5.3 Upgrade Pack 1 has just been released.

In short, Upgrade Pack 1 is an IBM supported version of the XPages Extension Library. This should help remove the fear of the Extension Library being open source that some customers have had, and thereby improve the adoption of XPages out there.

Upgrade Pack 1 is available on Passport Advantage as part number CI5HUEN.

The 46th DanNotes conference is a wrap

Last week we held the 46th DanNotes conference. We had 80 participants and 7 speakers. Some of the presentations are available now as links on the agenda. Others will be added to the agenda later. We will also publish videos from the event once they have been edited.

On the agenda you can find links to the presentations by Chris Connor on XPages, Java, and Mobile – and links to the presentations by Ulrich Krause on compact, compress, DAOS and more. The presentation by Ulrich is also available on Slideshare.

The following presentations held by Stuart McIntyre and Niklas Heidloff have not yet been added to the agenda:

Niklas has blogged about the event – his blog entry contains links to the projects and controls that he showed in his sessions.

Stuart has blogged about his impression of the event. He even calls DanNotes for “the daddy of all user groups“.

I look forward to the 47th conference which takes place in May, 2012. Let me know if you are interested in speaking at the event.

IBM Certified Application Developer – Lotus Notes and Domino 8.5

Last week at the DanNotes conference IBM offered certification tests at half the price. I took the LOT-951 test in record time between lunch and the developer BOF and passed with a score of 87.5%.

The test focuses on Domino Designer in Eclipse features, some @Formula and Lotusscript programming enhancements, and a lot of XPages. If you plan on taking the test, then rememember to have a look at the test objectives while preparing for the test.

Next up for me is the LOT-922 test which is required to upgrade my certification to the advanced level.

 

I’m a guest on This Week in Lotus episode 79

A quick blog post to let you know that last week I was invited to be part of This Week in Lotus episode 79 together with Stuart McIntyre, Darren Duke – and Gab Davis as the 2nd guest. We discussed Sametime, OpenNTF, XPages and very naturally the 46th DanNotes conference which took place the day after the recording.

It was great fun and I look forward to being a guest again sometime in the future. By the way, this was my 2nd appearance on the show as I was a guest on episode 24 too.