Domino 8.5
Sunday 7th, February 2010
Free Domino Designer 8.5 Courseware02/07/2010 09:03 AM Domino 8.5
The folks over at TLCC are providing a "free" introductory level Domino Designer 8.5 course. If you have some newbie Domino developers in your group, Domino developers that want to start learning XPages, or administrators that want to get up to speed on development, you should check out this course.
From my past experience, TLCC provides high quality courses with a focus on details. It is delivered within the Notes 8.5 client, which you can also download for free from IBM. Using the Notes client allows you to learn at your own pace and perform the corresponding exercises in the Designer. I had the opportunity to review their full blown XPages course last year and would recommend it to anyone wanting to learn XPages. Click here to read that review.
Here's an overview of the course modules:
- What is Notes and Domino software?
- The role of the Notes client and Domino server
- Domino Application Architecture
- Using Domino Designer software
- Creating a Domino Application
- Creating Forms and adding fields
- Designing Views
- Creating XPages for your application
- Programming options in Domino Designer applications
- Deploying a Domino application
For more details visit the TLCC site. Nowadays, everyone could appreciate free courseware.... Technorati: Domino 8.5 XPages (1) Monday 1st, February 2010
Monday 19th, October 2009
XPages Running in the Notes Client, Composite Applications, Mashups, and Websphere Portal!10/19/2009 05:56 AM Domino 8.5
With the 8.5.1 release you can now run your XPages applications in the Notes client, composite applications, Mashup Center, and Websphere Portal.
Imagine taking some of your key Notes applications and adding an XPage front end to some core corporate functionality. Then componentizing those XPages and publishing them as components to your catalogs for consumption. Notes users can then add them to composite applications and take them offline, a Mashup Center user can add them to a mashup along with their sales projection spreadsheet, Portal users can wire them to their dashboards for drill down capabilities. All of this with one development tool, the Domino Designer!
The great thing here is this is not just surfacing your Notes data in these other platforms. This is providing the same Web 2.0 applications and functionality that Xpages delivers in a web browser to these platforms.
There are 2 new design elements/features in 8.5.1 that make all this possible:
- The ability to run your XPages applications in the Lotus Notes client, both on the server or locally.
- The new Component design element that allows you to split up your XPages applications into components for wiring in composite applications. Once you have defined your components, they are immediatley available to run in Notes Composite applications, the Mashup center or Websphere Portal as iWidgets....without any code changes!
All this with minimal design effort required on your part....point and click, drag and drop and you now created a component that has properties and events for wiring.
I have a new article published on The View that goes in depth step by step on how to utilize all these new features. It shows you how to create components and run your XPages applications in the Notes Client, composite applications, Mashup Center, and Portal. You can access the article here: Domino Designer 8.5.1— XPages in the Notes Client, Composite Applications, Mashups, and Portal! (*requires login)
Here's a preview:
Web Client and Notes Client
This is an image of the sample XPages application running in a browser and also running in the Notes client. In this example I am using the same theme. Note the use of the @ClientType() formula in a computed field displaying what client the application is running in. You can use the @ClientType() formula in any JavaScript computable property to tailor the page to the client or the browser.
Notes Client as Components in a Composite Applications
In this screen shot I took the XPages application and created two components from it. It is very easy to add actions for the wiring since there are new client side simple action available. When the customer link is clicked it fires off the events sending the customer name and the customer address. The viewOrders component receives the customer name and filters the orders view to show only the orders for this customer. The Google map receives the address and opens up a street map showing the location.
Mashup Center
This picture shows the same components running in a mashup in the Mashup Center without any changes from the Notes client version! The Domino server projects the components as iWidgets for us so there is nothing we need to do to use them in the Mashup Center....just drag and drop and add the wiring.
Websphere Portal
Here is a screen shot of the XPage component running in Websphere Portal in the iWidget portlet along side two Portlet Factory generated portlets.
This is really an amazing release! It is packed with hundreds of fixes and new features. These new features really open the door to developing applications for platforms that might have been previously out of reach for Domino developers.
A special thanks to Stephan Wissel and Henry Christiaan who helped me troubleshoot issues I was having with the iWidget portlet in Portal. I was having problems getting the portlet to work in my test environment across my VMware servers. The resolution was to adjust the Ajax security settings in the portlet proxy-config.xml
to allow across servers and port access. These guys recently demoed similar functionality at the IBM Portal Excellence Conference 2009 in Macau China. Thanks for your help!
-John Technorati: composite applications Domino 8.5 Websphere Portal XPages (5) Sunday 13th, September 2009
XPages: The View article(s) - How to Compute a Custom Control at Runtime09/13/2009 10:40 AM Domino 8.5
I recently had 2 articles published in
The View that demonstrate how to compute which custom control to display at runtime based on a formula. This is similar to using a computed subform in traditional Notes/Domino development.
The first article provides the technical overview on how to accomplish this using a built-in XPages feature. The second article expands on the first by enhancing the custom control to allow the use of parameters so that it can be re-used in any of your applications.
Here's a synopsis of the articles. (the full articles require a subscription login)
| XPages — How to Compute a Custom Control at Runtime
|
| When Domino developers first start exploring XPages, they naturally tend to compare the new XPages controls and functionality with traditional IBM Lotus Notes and Domino development: “I know what I want to do and how I would have accomplished it with Domino Designer. Now how do I do it in XPages?”
Take the concept of a Notes computed subform. I have heard many developers asking how this is handled in XPages. While many Notes concepts are handled the same way in XPages as in traditional Notes development, the computed-subforms concept is not one of them.
The XPages design component that most closely corresponds with subforms is the custom control. You use a custom control where you have a group of fields or functionality that you want to reuse on other XPages within your application. Once created, a custom control shows up in the Controls palette. Then you can drag and drop the control onto any XPage in your application.
In Notes, you can compute which subform to include on a form based on a formula. Computing which subform to include at runtime is an easy way to tailor the form and functionality without having to maintain numerous hide/when formulas. This is a very valuable feature for rapid application development. With XPages, however, there is no computed custom control. I’ll show you a technique to help you get functionality in XPages that is similar to computed subforms.
|
|
|
|
| XPages — A Reusable Solution for Computing a Custom Control at Runtime
|
|
| In XPages development, you use a custom control when you have a group of fields or functionality that you want to reuse on other XPages within your application. In an earlier article (THE VIEW, 2009) I showed you how to use a custom control that computes which custom control to display on an XPage at runtime, similar to using computed subforms in Domino Designer.
Now I’ll show you how to enhance that custom control so you can reuse it in any XPages application to compute any custom control at runtime. Plus, I’ll show you how to create custom control properties for parameters that can be accessed with serverside JavaScript. Learning how to parameterize your custom controls will enable you to build your own library of reusable controls for rapid application development. |
-John
Technorati: Domino 8.5 XPages (2) Thursday 6th, August 2009
XPages - My Review of the New Course from TLCC08/06/2009 10:21 AM Domino 8.5
I recently had the opportunity to review the Developing XPages using Domino Designer 8.5 distance learning course being offered from TLCC,, The Learning Continuum Company. I have to tell you I could not get through it......I didn't have enough time! This course is packed with information, examples, samples, and tips. The course is equivalent to a 4 day classroom course, so about 32 hours worth of material.
The author is Paul T. Calhoun who is also an author on the infamous XPagesBlog.com. Paul does an excellent job of guiding the student from beginner topics all the way through to advanced topics. Like all TLCC distance learning courses, the course is delivered via Lotus Notes. This makes it easy to switch from concept to hands on development activities in the Domino Designer.
The course is broken up into 8 modules covering topics such as: introduction, creating XPages, Controls, client side and server side JavaScript, advanced techniques (my favorite), custom controls, among others.
I could not help comparing the depth of the information with the DDE 8.5 help. The course by far covers more details on functionality and the various control properties than the help file. It's worth the price just for reference purposes.
One of the great benefits of the TLCC course is that you have access to ask the instructor, Paul, for assistance via a discussion database for 4 months from the purchase date. That is really helpful.
The course costs $800, but is on sale right now for $600 (ends tomorrow...sorry for the late post). I give this course two thumbs up!
-John Technorati: Domino 8.5 XPages (2) Monday 6th, July 2009
XPages - Native support for RDB access, on IdeaJam07/06/2009 10:24 AM Domino 8.5
I posted an idea on IdeaJam to promote
native support for RDB access in XPages. Though it's been mentioned as a future enhancement for XPages, I feel it needs some grassroots support to make it happen.
Here's a link to the idea: http://www.ideajam.net/IdeaJam/P/ij.nsf/0/D7C052F187CC0656862575EB0054BBE6?OpenDocument
-John Technorati: Domino 8.5 XPages (0) Thursday 7th, May 2009
XPages - Undocumented Feature that will help you build Plug-n-Play Custom Controls05/07/2009 07:06 AM Domino 8.5
When building Custom Controls for XPages, the ultimate goal is to make the Custom Control plug-n-play. You want to be able to drop the custom control on any XPage and have it interact with the XPage seamlessly.
Being a Design Partner, I have been working with XPages since the pre-beta versions. Prior to that I was Design Partner for the Lotus Component Designer. So to come across a new feature is exciting....
I recently wanted to make a custom control completely independent of the XPage it was on (see this custom control). Yet I still needed to grab some values from the datasource for the XPage the control is placed on. The issue is that the XPage datasource name is set by the developer and I could not see a way to determine the datasource name without requiring the end developer to place additional code on their XPage to support my custom control.
Looking through the Request Scope variables on the page at runtime, I found that there is a variable present on every XPage called currentDocument. Sure enough, it was of NotesXSPDocument type and was set to the current document for the XPage. So I could now have access to any data on the document I needed without knowing the datasource name.
For example, if I wanted to find out what the Form name for the document opened in the XPage that my custom control was on, I could use the following code:
theForm=currentDocument.getForm();
or to get the backend NotesDocument and determine the Document unique ID:
doc=currentDocument.getDocument();
docUNID=doc.getUniversalID();
I checked with the XPages Chief Architect, Phil Riand, and this object will be supported in future releases and will be documented. So it is safe to use this feature in your applications.
Enjoy....
-John
Technorati: Domino 8.5 XPages (7) Wednesday 6th, May 2009
Tuesday 28th, April 2009
Monday 6th, April 2009
XPages/Domino 8.5 - Extending the Dojo Rich Text Editor Toolbar04/06/2009 07:04 AM Domino 8.5
A number of folks, including myself, have been looking to extend the XPages/Domino 8.5 Dojo Rich Text Editor toolbar. The Dojo Editor toolbar usually has other features available such as the create link or insert image. The issue in adding the additional plugins is that Domino 8.5 has it's own flavor of the Dojo Editor.
Steve Leland has just published a Wiki article describing how to extend the "ibm.domino.widget.layout.DominoRichText class" to add in some additional features to the toolbar.
He points out that the plugins for the following are shipped with Designer and Domino Server but are not implemented:
- formatBlock - assigns css defined formats
- createLink - constructs an anchor tag with a user supplied URL
- insertImage - constructs an image tag with a user supplied URL
In this article Steve show's how to extend the Editor for both XPages and the Domino classic web server.
Here's a snippet from the article describing how to extend the toolbar for XPages:
XPages
Let's create a JavaScript class in data\domino\js\dojo-1.1.1\test\widget\layout\TestRichText.js to encapsulate the LinkDialog dependency - using the dojo.require() statement. Here's the file contents:
/* ******************************************************************/
/* */
/* Sample Rich Text Toolbar extension */
/* &a mp;am p;nbs p; */
/* ******************************************************************/
dojo.provide("test.widget.layout.TestRichText");
dojo.require("ibm.domino.widget.layout.DominoRichText");
dojo.require("dijit._editor.plugins.LinkDialog");
dojo.declare("test.widget.layout.TestRichText", ibm.domino.widget.layout.DominoRichText, {
constructor: function() {
if(dojo.isArray(this.extraPlugins)) {
this.extraPlugins.push("|", "formatBlock", "createLink","insertImage", "|");
} else {
this.extraPlugins = [ "formatBlock", "createLink", "insertImage","|" ];
}
}//,
}
);
Save that to the TestRichText.js file.
Now we need to have the XPage which uses our rich text control instruct Dojo runtime to load our class into the browser - with a dojo.requires('test.widget.layout.TestRichText') statement. This is done using our XPage's Properties tab, and selecting 'All Properties'. We are interested in the 'resources' property - clicking on the plus image lets us identify our resource as a Dojo Module, and we give it our class as a value:

Then we need to put a rich text control on our XPage, exactly as if it were an ordinary rich text control, and on its Properties tab, select 'All Properties' and set the dojoType with a value of our class:

Here is the link to the full article: http://www-10.lotus.com/ldd/ddwiki.nsf/dx/04022009010354PMWEBMZZ.htm
Nice work Steve!
-John Technorati: Domino 8.5 XPages (3) Monday 16th, March 2009
Two New Notes and Domino 8.5 Courses for Developers and Administrators 03/16/2009 08:10 AM Domino 8.5
The folks over at TLCC, The Learning Continuum Company, have just released two new distance learning courses. They are:
- Notes and Domino 8.5 Application Development Update
- Notes Domino 8.5 System Administration Update
In addition, there will be a full XPages course available in April.
I have had the opportunity to review the 8.5 application development update course. It's packed with content, demonstrations, and hands on examples covering all the new features of Domino Designer on Eclipse. This includes XPages, DOJO rich text editor, and the use of CSS and Themes, the new Java and LotusScript programming interfaces, as well as what's new in Composite Applications.
The 8.5 system administration update course covers the Domino Configuration Tuner, Domino Attachment and Object Services (DAOS), Dynamic Policies, and the new ID Vault....to name a few of the topics.
If you want to update your skills, or are looking to take your certification update exams, #951 or #956, then take a look at the the TLCC site for more details and cost info: http://www.tlcc.com/admin/tlccsite.nsf/pages/dom85courses
-John
Technorati: Domino 8.5 (1) Monday 2nd, March 2009
Using XPages to Integrate Between Notes Applications with Relational Databases - Wiki article03/02/2009 03:15 PM Domino 8.5
Jo Grant and Craig Wolpert from the IBM ISV Development Enablement team, have published a new Wiki article titled
Using XPages to Integrate Between Notes Applications with Relational Databases. These guys are on a roll over there and have produced 10 great Wiki examples over the last 2 weeks. (I believe they have secretively developed an XPage vitamin they are taking that allows them to work around the clock....but I can't prove it...)
In this example they show how you can use connectivity to a MySQL database to:
1 - Create a Repeat based view of our data
2 - Create a form to view a single record
3 - Use that form to update the data
Here's a snippet from the article:
You can easily direct XPage elements to surface data from different Notes applications. It turns out not to be much harder to surface data from different back end data sources with XPages.
The key to integrating different data technologies is by binding them together with Javascript. Almost any XPage control that surfaces data has the option to surface that data from a Javascript source. So any data repository you can get to from Javascript can be used by XPages.
Relational databases (RDB) are a very widely used technology for storing data. Many relational databases are accessible through Java Database Connectivity (JDBC). And this Java interface can be called from Javascript. This is our key to surfacing RDB data in an XPage. For our example here we will show connectivity to the MySQL relational database.
Here's a link to the article: http://www-10.lotus.com/ldd/ddwiki.nsf/dx/xpage_integration_rdb.htm
Great article and nice work guys!
John Technorati: Domino 8.5 XPages (0) Monday 23rd, February 2009
Friday 20th, February 2009
Great series of articles published - Using existing business logic in an XPage: Java, LS, and Web Services02/20/2009 01:29 PM Domino 8.5
There is a really interesting series of articles posted today over in the Lotus Designer Wiki. The 4 articles were published today by Jo Grant and Craig Wolpert from IBM.
The series is titled: Using existing business logic in an Xpage.
It discusses how you can use your existing business logic that is in Lotusscript, Java, or Web Services from within your new XPage applications. I've heard many people ask questions and voice concerns around this topic, so I think this series will be a great help to those folks who want to go forward with XPages without having to rewrite lots of code for their applications.
The 1st article is an overview containing links to the other 3 articles. Here's the direct link:
- http://www-10.lotus.com/ldd/ddwiki.nsf/dx/reuse_business_logic_xpage.htm
Thanks Jo and Craig for your hard work....I look forward to reading the series and working with the techniques this weekend!
John Technorati: Domino 8.5 XPages (0) Thursday 5th, February 2009
New Wiki Post - SHOW106 Building A Cool Web 2.0 Application With XPages02/05/2009 11:31 AM Domino 8.5
Paul Hannan's and Azadeh Salehi's Lotsuphere
SHOW106 presentation and example downloads were posted to the Lotus Designer Wiki today. Here's the description:
Using Lotus Domino Designer 8.5, we will create a Lotus Domino XPage web application that utilizes advanced Web 2.0 technology, and explain what we are doing it along the way. This step by step demonstration will highlight many of the application development improvements for Lotus Domino 8.5. See how you can develop with Domino Designer and XPages. We will explore AJAX, Script Libraries, DoJo and custom controls.
Download SHOW106_Updated20090203.pdf (or for a faster download that this zip file) to get started. This is a 172 page presentation that is a step-by-step guide on how to build this cool application with XPages. It demonstrates in three parts how you can rapidly put this application together. The application (see screenshot) itself is a profiles type application similar in many ways to a contacts list. It'll allow the user to create a new profile document, search for existing profiles aided by Ajax type ahead and view filtering, add 'friends' to their own profile, as well as many other features.
Looks like a great XPage tutorial. The url to the article is: http://www-10.lotus.com/ldd/ddwiki.nsf/dx/LS09_SHOW106.htm
John Technorati: Domino 8.5 XPages (0) Sunday 1st, February 2009
Tuesday 16th, December 2008
My Lotusphere 2009 session date and time - and free code give away12/16/2008 04:23 AM Domino 8.5
The details for the Lotusphere sessions have been posted. My session 'AD207 - Building an "XPages-Powered" IBM Lotus Domino Application' will be on Tuesday (1/20) @ 10:00 in the Dolphin Hemisphere I. Here's the full updated abstract:
Building an "XPages-Powered" IBM Lotus Domino Application
An unlimited number of editable documents on the same page? Generating the type of controls for fields on page load? Dynamic applications have always been a challenge for Lotus Domino development. Not anymore! In this session, you'll learn how to utilize the power of XPages to build a survey tool that can have an unlimited number of questions. We’ll show you how to dynamically allow for the selection of controls on the page load, such as checkboxes, radio buttons, and combo boxes, etc. Go under the hood and see how we use multiple data sources per page and some powerful XPage controls to build this application with a minimum amount of coding.
I will also be providing the attendees with the code for the Survey Tool application. The goal of mine was to keep the code simple to follow, yet powerful.
I think it's going to be a great session.....and I'm not just saying that because it's my session.
I hope to see you there! Technorati: Domino 8.5 Lotusphere 2009 XPages (3) Tuesday 11th, November 2008
I'll be speaking at Lotusphere 09 on....XPages of course11/11/2008 03:11 AM Domino 8.5
Here's my abstract:
Deep Dive Into Building An IBM Lotus Domino Application Powered By XPages
An unlimited number of editable documents on the same page? Generating the type of controls for fields on page load? Dynamic applications have always been a challenge for Lotus Domino development. Not anymore! In this session learn how to utilize the power of XPages to build a survey tool that can have an unlimited number of questions. I’ll show you how to dynamically allow for the selection of controls on the page load, such as checkboxes, radio buttons, and combo boxes, etc.,. Go under the hood and see how to use multiple data sources per page and some powerful XPage controls to build this application with a minimum amount of coding.
Technorati: Domino 8.5 xPages Lotusphere 2009 (1) Sunday 31st, August 2008
Friday 29th, August 2008
Lotus Notes 8.5 beta 2 - new Design Preview for XPages08/29/2008 12:23 PM Domino 8.5
Lotus Notes 8.5 beta 2 was released today. Here's a link to the beta 2 download info:
http://www-10.lotus.com/ldd/nd85forum.nsf/DateAllThreadedWeb/2af77f70817fab8d852574b40061d30f?OpenDocument
For those of you who have been wanting to try out XPages, but did not want to setup a Domino server...Good news! Beta 2 provides design preview functionality for XPages.
Here's a screen shot:
Technorati: Domino 8.5 Domino 8.5 - XPages (2) Sunday 1st, June 2008
Lotus Domino Designer 8.5 Beta 1 release06/01/2008 07:54 AM Domino 8.5
As a Lotus Domino 8.5 design partner, I have been working with the 8.5 pre-beta releases for several months. The public beta version 1 was released last Friday. There are many enhancements, the largest being within the Designer and the move to eclipse and the inclusion of xPages. With a background in Lotus Notes and Websphere Portal I am particularly interested in xPages since the technology is derived from the Lotus Component Designer.
Here is a good description of the new xPages technology taken from the IBM Lotus Domino Wiki:
XPages and custom controls
An XPage is a new design element based on JavaServer Faces (JSF) technology that lets developers create Web 2.0 enabled pages for use in Web browser applications running on Domino 8.5. XPages remove the barrier of Web programming in Domino by providing advanced page design capabilities and complete control of the generated markup. They also allow access to any kind of data and provide an easy method for localizing applications. XPages includes the following features:
- AJAX enabled (for example, partial page refresh, type ahead capability, and so on)
- Advanced Web control library (tabbed panel, and so on)
- Full support for styling by using CSS
- Fully extensible by using custom controls (composite controls or Java-based controls) or JSF extensions
- Support for multiple clients (Web, rich client, and so on)
- JavaScript scripting language support for client-side and server-side action
- Pre-built simple actions provided for most common cases
- Direct access to Java libraries on the server
A custom control is a collection of controls that are stored as a single object. Similar to subforms in Domino Designer, custom controls are design elements that you can create once and add to multiple XPages. When you update a custom control, every XPage that uses that custom control gets updated with the changes, saving developer time and effort.
I am working on a number of examples and samples that I will be posting demonstrating xPages. This will present some compelling reasons why Domino developers will want to use this technology. I'll be posting these over the next couple of weeks on this site....
Technorati: Domino 8.5 xPages (0)