Will you develop client components using XPages?

In Lotus Notes 8.5.1 you can now create first class components using XPages as the primary user interface technology.  This means you can now create full blown XPages applications or components (for composite applications and the sidebar).  So the question is, are you looking to create XPage based components for the Notes client?

Eclipse, extensions, composites and XPages!

The attention this post by Anthony Holmes and the awesome 3D viewer Hiro wrote are getting is great!  I do think the Notes community is starting to see the benefit of Eclipse and more and more extensions are being done every day for the Notes 8.x clients.  That is a

I just completed the first draft of labs I will be directing at the Deutsche Notes User Group (DNUG) hosted by SIT GmbH.  I wrote about it last month in this entry.  I will start with a couple of introductory presentations about Composite Applications, Containers, and Eclipse and then follow up with the AD202 presentation Mike Cooper and I gave at Lotusphere 2010.  Interestingly with the talk of Vulcan, web and web 2.0 technologies the composite in this lab is a good combination of client side Java, Web applications, and local XPage components.  The composite links them all together for an interesting use case.

The labs turned out to be pretty in-depth and are designed to be 100% self paced – so I am not sure if I am even needed!  I would like to open this series of labs up for some re-use in other Notes user group meetings or Lotusphere Comes To You events so let me know if you run or host any of these events and we can get you the materials.

At this time I don’t think the material will be made publicly available so your best bet is getting with the nearest user group in your area.

To give you an idea of the breadth of things covered in this workshop I have included the full outline of the main labs:

Introduction …………………………………………………………… 3
What will you learn in this workshop? …………………………….. 4
What skills are needed in this workshop? …………………………. 4
What software is needed for this workshop? ……………………… 4
Configuring the Lotus Expeditor Toolkit ………………………….. 4
Lab 1 – Creating our custom action …………………………… 5
Step 1 – Creating the Eclipse project ………………………………….. 5
Step 2 – Creating the Eclipse Feature project …………………………………. 7
Step 3 – Creating the Eclipse Update Site ……………………………………….. 9
Step 4 – Setting up the custom action extension ………………………………….. 11
Step 5 – Programming our custom action …………………………………………… 15
Step 6 – Creating the custom UI for our action preference …………………….. 17
Step 7 – Compiling our projects ………………………………………………… 17
Step 8 – Installing the code into the Lotus Notes client ………………………. 18
Summary …………………………………………………………………………….. 23
Lab 2 – Creating our Calendar Helper XPage component ………….. 24
Step 1 – Creating the NSF and our new XPage ……………………………. 24
Step 2 – Creating our XPage ……………………………………………….. 25
Step 3 – Creating the Component Definition …………………………………….. 26
Step 4 – Coding the component event ………………………………. 28
Step 5 – Adding the ADD TO CALENDAR button ……………………….. 29
Step 6 – Conditionally enabling the button …………………………………… 30
Step 7 – Finishing the ProcessICal event ……………………………………………. 31
Step 8 – Creating the XPage labels ………………………………………………….. 33
Step 9 – Coding the ADD TO CALENDAR button …………………………………. 34
Summary ……………………………………………………………………………… 36
Lab 3 – Assembling the Composite Application ………………… 37
Step 1 – Creating the composite xml ……………………………………. 37
Step 2 – Making your composite application launch by default …………….. 38
Step 3 – Launching the composite into the CAE ………………….. 40
Step 4 – Changing the title of the page and application …………….. 41
Step 4 – Adding our XPage component to the palette ……………………. 43
Step 5 – Adding our Calendar Helper to the Right Sidebar ……………….. 46
Step 6 – Add a Managed Browser component to the main page area ……. 47
Step 7 – Configuring the browser component …………………………. 48
Step 8 – Wiring the two components together ……………………………. 51
Summary ……………………………………………………………. 52
Lab 4 – Embedding the Eclipse update site into our NSF ………….. 53
Step 1 – Changing the design of the database to inherit NSF Update Site ………… 53
Step 2 – Recompiling and importing the Eclipse update site ……………….. 56
Step 3 – Importing the update site into our NSF …………………… 57
Step 4 – Modify the database to open the composite …………………… 58
Step 5 – Linking the features to a component for installation …….. 60
Step 6 – Un-installing and testing your composite application ……………… 61
Summary ………………………………………………………………………. 63

Integrating Eclipse static perspectives into composite applications

One feature in Eclipse is the ability to “code” windows, or in Eclipse terminology, perspectives.  This means you write Java code to layout the view and editor parts.  Composite Applications use dynamic perspectives – perspectives that are declared in XML and generated on the fly.  While that is a great feature and allows assemblers and developers somewhat of a WYSIWYG editor for perspectives, sometimes you just need to code it!

Well, composite applications allow you to integrate these “static perspectives” into your composite.  As outlined in the InfoCenter you simply put a tag (com.ibm.rcp.staticPerspective) on one of your CA pages and identify the perspective Id you want to open.  When the page is opened, the static perspective is opened versus the one defined in the CA.  The beauty here is the side bar defined for the composite is displayed – both right and left bars.  So you can open fixed perspectives in the context of the composite.

Creating dynamic Launcher menu items for composite applications

For all of you hardcore Java/Eclipse programmers out there in the composite space, there is a new advanced article that Gill Woodcock just published. It shows how you can dynamically add contributions to the “Open” tab in Lotus Notes and Lotus Expeditor.

Referenced article.