Domino Designer on Eclipse
Now in 8.5 the Domino Designer client is based on Eclipse, as the Notes client was in 8.x. Eclipse is an award-winning, open source platform for the construction of powerful software development tools and rich desktop applications. This architectural change allows the new designer client to become an open source pluggable environment. By allowing the use of plugins, objects can be built, re-used, and shared.
Some of the differences in the new 8.5 Designer client can be seen when examining the processes associated with Domino Designer. It is useful to know how they relate to one another and what component each controls. Prior to release 8.5 designer clients, when you launched designer.exe, nlnotes.exe would be spawned. This is the process in which pre-8.5 Domino Designer ran.
Now in the 8.5 Designer client, designer.exe loads and spawns nlnotes.exe.
On faster machines, designer.exe shows up briefly, and may not be seen at all.
Then the notes2.exe process spawns and designer.exe quits.
notes2.exe is the Java process that corresponds to the Eclipse shell.
Finally, nlnotes.exe spawns ntaskldr.exe after DDE opens.
Some other things you may notice are that launch and exit take longer than in previous versions. This is due to the Eclipse startup and shutdown sequences. This can lead to problems on exit or launch. If you experience a problem with launch or exit, it may be due to one of the following issues. Due to the longer exit time, the user may have initiated launch before all prior processes had been killed, or the user may have initiated the launch sequence multiple times. It is also possible that, on prior exit, the client did not shut down all processes.
With a few exceptions, the launch process will be able to compensate for these errors. However, if you still can't launch or exit the 8.5 designer client, you can try the following, manually. Kill the nlnotes.exe and notes2.exe processes with the task manager, or if the client still will not launch or exit, log off the system to completely kill all process threads.
The new Eclipse-based GUI
Now that the 8.5 Designer client is Eclipse based, there is a new UI. The default perspective in 8.5 is the Domino Designer perspective. There are other perspectives available in Domino Designer 8.5, each suited to a particular task. You can select a different perspective from the menu, select Window | Open Perspective | Other, as seen in the following screenshot:
Not all perspectives have a corresponding layout in the UI.
Perspectives can be customized to suit individual preferences. One way is by resizing the views and editors.
You can resize views and editors in one of two ways. Click the Maximize/Restore button located in the title bar of the view or editor. Or, click and drag the border of a view or editor.
Views and editors can also be hidden by clicking the view Close button.
Use the menu pick Window | Show Eclipse Views to reopen closed views. You can use this menu pick to open any Eclipse view, including those from other perspectives.
To return to the current perspective's default layout use the menu pick Window | Reset Perspective....
For a while now it has been difficult to create elegant web applications for Notes/Domino. XPages are a new type of design element being introduced in the 8.5 release, that will allow application developers to quickly and easily create rich Domino web applications with a Web 2.0 look and feel.
Applications built using XPages are supported for web use only, for the 8.5 release. To enhance the appearance and functionality for web use, existing applications can be extended to utilize XPages. The standard design elements must be included in the database for use in the Notes client and the application. If a new application is targeted for both Notes client and web users, then you can also include XPages for use on the Web.
XPages are built on top of JSF, or Java Server Faces, technology. XPages also have built-in Ajax support, which allows application developers to take advantage of Ajax features such as type-ahead and partial page refresh. They are created in pure XML markup. When the application developer adds controls to XPages using drag and drop, the XML is generated automatically.
XPages does not require any additional steps to install on a Domino server. When you create a new XPage in an application, you start with a blank page similar to what you see when a new form or page is created. You then build the XPage by dragging and dropping controls onto the XPage to add functionality. A wide array of controls is available out of the box, which enables application developers to quickly and easily get a web application up and running. Some examples of the controls available are a pager, rich text editor, date picker, tabbed panel, and many more. Controls can also be combined into a single object, called a custom control. Custom controls are similar to sub-forms, as they can be used in other XPages in the current application or copied into other applications for reuse. Just like with sub-forms, if a change is made to a custom control in an application, that change is propagated out to all other instances of that custom control in that application.
There is a default system template in the 8.5 release that uses XPages. The discussion template has been enhanced to include XPages in 8.5.
Improvements to CSS Support
Now in Domino Designer 8.5 you can edit and create CSS. Previously, you would have to use an external editor to do this. Not only can you create custom stylesheets, but you can import existing ones. You can also group your favorite stylesheets and script resources into a theme to provide a common look and feel in your application and map style classes to UI controls. This will save developer time and effort when adding CSS to applications. To create a new stylesheet:
Click File | New | Style Sheet Resource from the main Eclipse menu. In the New Style Sheet dialog box, do the following:
In the Name field, type the name of the stylesheet.
By default, Domino Designer adds a CSS file extension to this name
In the Application field, select an application for the stylesheet. Click OK
Another method of creating a stylesheet, is by double-clicking Resources | Style Sheets in the Applications navigator and then clicking New Style Sheet in the editor.
Enhancements to HTML Generation
With the 8.5 Domino Designer the new enhanced HTML-generation option can be used to leverage a CSS, via a theme, to enhance the look and feel of a traditional Notes application. There is limited support of this functionality in XPage themes. One function that is supported is that HTML pages will include references to the text/css resources defined in the theme. Another functionality that is supported is that the body control style property (as defined in the theme) is included in the body tag class attribute. What is not supported is the ability to search for theme design notes beyond the current database or theme inheritance.
To enable this functionality, select the database and choose Design | Design properties. Go to the Web access section of the Database properties box and select Enable enhanced HTML generation.
Here is an example of the Rich Text editor with this option selected.
New method related to ID Vault: ResetUserPassword
There is a new feature in ND 8.5 that allows Domino administrators to manage users' ID files with less effort, called the ID Vault. In Lotus Notes Domino 8.5 a new method was added, called ResetUserPassword. This new method allows you to leverage the ID Vault feature in custom applications. It can be used to reset the password and download count on an ID file stored in the ID Vault and to set both the password and download count. Using this method, a developer could design an application for your help desk to perform password resets, or a self-serve application that end users could access to reset their passwords. Lotus Notes Domino 8.5 comes with a sample self-service application, called PwdResetSample.nsf, which uses the new method in a LotusScript agent that you can customize for your needs. In order to run this method from a LotusScript agent or Java agent, you must give password reset authority with the "Self-service password reset authority" flag to a user identity that has signed the agent. It is recommended that one is registered specifically for this purpose. The server on which you deploy the agent must also have this authority and must give the agent signer "Run restricted LotusScript/Java agents" access. You must give password reset authority with the "Self-service password reset authority" flag to the user or server identity under which the application is authorized to run, when the ResetUserPassword method is used in a non-agent application. To set the access, do the following: Switch to the Configuration tab in the Administrator client and select your ID Vault under Security | ID Vault. Then click on Tools | ID Vaults | Authority to Reset Passwords.
Set both the Vault Administrator (your Server Administrator) and your Domino Server as self-service password reset authorities.
Make sure that both your Vault administrator and your Domino server have been configured as self-service password reset authorities. If they are not, you will receive this error on the server console: HTTP Server: Agent 'User Password Reset' Missing or invalid Password Reset Trust certificate.
Changes to Web Services
Prior to Domino 8.5, Web Services were treated as a single entity. Now in Domino 8.5 Web Services are differentiated between two entities, Web Service Providers and Web Service Consumers. While the categorization and handling has changed a bit, the underlying data is backward compatible. Any Web Services you may have created in a previous version will be displayed as Web Service Provider in Domino 8.5. In Domino Designer 8.5, a fundamental shift in object creation has occurred. To create an object, a name for the object is now required. The object is then saved in the application as soon as it is created and displayed back to the user.
In previous versions of Domino Designer, Web Services looked something like this example from Domino Designer 8.0.1. The following screenshot shows where Web Services in the Shared Code folder of a Database can be located:
In Domino Designer 8.5, Web Service Providers and Web Service Consumers are now found under the Code folder. Selecting the Web Service Providers item in the Navigator brings up the Web Service Providers list as seen in the following screenshot:
As you know, Domino Designer is used to create Notes/Domino applications. You have seen how it can be used to take a Notes application and build components from the various Notes/Domino design elements using the Property Broker Editor and the Composite Application Editor, and new integration points with actions and view columns.
Future plans for Domino Designer may include merging it with Lotus Component Designer within an Eclipse framework, bringing the two designer tools together into an integrated development framework for Lotus applications. All development will be performed within the Eclipse environment with new script editors and shared design element bookmark navigation.
Bringing these multiple development tools under a single designer framework will make the developer's job easier by offering them a consolidated view of the development process.
In this article, we have seen the following:
- Domino Designer on Eclipse
- The new Eclipse-based GUI
- Improvements to CSS support
- Enhancements to HTML generation
- New method related to ID Vault: ResetUserPassword