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

Introduction to the Host on Demand container

We recently published an article “Introduction to the HOD container in composite applications” to the composite application wiki.  Believe it or not many businesses are still using HOST based applications and now with composite application technology in Lotus Expeditor and Lotus Notes you can easily integrate those applications with other technologies with little development expertise.  This also means the container can communicate with other Eclipse based view parts and even be integrated with the side-shelf.

You can get the latest HOD Container for Lotus Notes 8.5.1 and Lotus Expeditor 6.2.1 from the HACP product web siteHACP v7 now includes the HOD Container for Lotus Notes/Expeditor.  You can also get more information on the HOD site for additional help.

Adding a component configuration toolbar to your container

There is a new tutorial on the CA wiki that shows how you can add a toolbar to your container.  The article assumes you are writing SWT/Eclipse Java code.  This toolbar shows up conditionally in the Composite Application Editor (and does not show in the applications run time).  The toolbar allows you to provide an intuitive user interface to configure your component.  You can pretty much do anything in the toolbar – from defining values for preferences to launching full dialogs right from the main CAE UI. The idea is to have most of your component editing done “on the glass” versus going into the components preferences or advanced settings.

Reference article is here.

Extending Notes with new view context menus and text selection context menus

Over the last few weeks I have received several Eclipse questions for how business partners and customers can extend Notes 8 in new ways.  The following two posts should answer some of those questions.  The first post shows how you can extend the right click menu for a text selection in a Notes document while the second post explains how you can extend the right click menu in a Notes view entry.

How to extend the right click text selection menu in a Notes Document

Adding right click options to your Notes 8 mail box entries with Eclipse

Best Practice: Using named ranges when programming Symphony spreadsheets

As described in the wiki article for using the Symphony Spreadsheet container you can reference cells and cell ranges many different ways.  I would argue that you should use named ranges all of the time.  This will create a virtual reference to the spreadsheet so if the cell or ranges get moved or the editor inserts rows or columns before the range the reference in the CA container will not be broken.

You can create named ranges under the Create menu item:

ss-namedranges1

You then use the dialog to define/edit the named ranges:

ss-namedranges2

Once you create the named range it will then be available in the Composite Application Editor tooling as an entry in the drop down menu from the component toolbar:

ss-namedranges3

As you can see from the wiki article you can use various methods to reference cells but I would stick to named ranges:

Fields are essentially absolute or named cell ranges. The container supports the following formats:

  • $<Column>$<Row> – E.g. $A$1
  • $<Column>$<Row>:$<Column>$<Row> – E.g. $A$1:$B$10
  • !<Sheet name>$<Column>$<Row> – E.g. !MySheet$A$1
  • !<Sheet name>$<Column>$<Row>:$<Column>$<Row> – E.g. !MySheet$A$1:$B$10
  • #<Named range> – E.g. #MyRange

More structured Tutorials page on Wiki for new users.

I went ahead and changed the Tutorials page on the Composite Application Wiki.  The page now has a couple of sections at the top to get people started.  With 25 tutorials I can see it be pretty difficult to “get started” in this area so hopefully this helps.  Any other suggestions on things like this are great so keep them coming.

Referenced page is here.

What's new in Composite Applications in Notes 8.5.1/Expeditor 6.2.1!!!

I just published this all around “What’s New” document hitting the various areas with some basic screen shots and a short description.  What is probably more valuable is the Wiki Articles index at the end of the document.  It outlines based on area the different articles that were posted for 8.5.1 education.  The 18 articles/tutorials are designed to walk you through a particular feature – most are in tutorial format with a step by step process and should be able to be completed under 20 minutes.

There will be many more articles coming as we already have several in the pipeline.  If you want documentation or a tutorial on a specific area let me know or post it on the Wiki as a suggestion.

Linked article:

What’s new in Composite Applications in Notes 8.5.1/Expeditor 6.2.1

Adding configuration panels to your custom component

If you are one of the low level Eclipse/Java people out there and you want to create Eclipse components for Lotus Notes 8.5 you might want to check out the new article on the CA Wiki.  There is an extension in the CAE that allows you to contribute your own configuration tab (user interface) to the Advanced Properties dialog for your component.  This would make configuring your component as custom as you would like.

_1_12538877869535-2576

If you use the OpenSpan container for native applications you can see the extent to which they customized this dialog.  You can check out their demo which shows how to integrate a native application into Lotus Notes.

Referenced article is here.