Sunday, November 9, 2014

What's new in Domino Designer 8.5.3?



Information on new features and improvements in IBM® Lotus® Domino® Designer Release 8.5.3
This topic lists the new features and changes for IBM Lotus Domino Designer Release 8.5.3
Periodic updates to Lotus Domino Designer Help are available on the Web. To download the latest Designer Help file, go to the Documentation Library section of the Lotus developerWorks® at http://www.lotus.com/ldd/doc. Click "Technical Library," then "by product," then "Domino Designer," and then, finally, the release you would like to see.

Domino Designer
In the area of Domino Designer in general, the following additions or changes have been made:
  • Java design element -- This release offers a Java design element to make it easier to use Java in Domino applications, particularly in Domino XPage applications. This design element let you create a single Java class that is scoped to the actual NSF project itself. This Java file is then directly callable by code in XPages. Previous to this release, you had to put these files manually into the NSF. The introduction of this element makes the use of such files easier and more prescriptive. The idea behind this element is to let you use the normal Eclipse user interface for the Java element wherever possible.
    The Java design element can be found under Code in the Applications Navigator. A Java design element does not use an alias. The design list has four buttons on the top: New Java Class, New Java Interface, New Java Enum, and Sign.
  • Source control enablement -- Source control enablement lets Domino Designer users store NSF based design elements into a source control repository and perform common source control operations using Domino Designer (as opposed to just keeping an on-disk backup of what is in your application NSF). Another objective of this feature is to integrate an SVN source control client with Domino Designer as seamlessly as possible and to allow Domino Designer to stay as "source control system agnostic" as much as possible.
  • Control Javadoc -- Javadoc reference material is now provided Control APIs
  • Palette profiles -- By right clicking on the Control Palette you can customize what you want to appear on the palette when it is available. To access the palette profiles settings, go to File-Preferences-Domino Designer-Palette.
  • "XPages" and "Forms/Views Domino Designer" perspectives -- By selecting Window-Open Perspective.. from the menu, you now have the following additional choices to help you focus your development environment on the task at hand:
    • XPages perspective -- Shows only design elements necessary for XPage applications and displays Eclipse views as needed (outline, navigator, control palette, etc)
    • Forms/Views perspective -- Shows only design elements necessary for non-XPages development and displays Eclipse views as needed (remove control palette, etc.)
  • Ability to select and filter the Design Element Types to display in the Applications Navigator and perspectives based on preference -- You can now select and filter which Design Element Types to display in the Applications Navigator by making your selections in Preferences-Domino Designer-Applications Navigator. Choose the elements you prefer to work with and display by checking (display) or unchecking (hide) the elements on the Preferences panel. By selecting the desired perspective from a drop-down list on the panel, you also set the selections and filtering options separately for each of the three Designer-related perspectives: Domino Designer, XPages, and Forms/Views Domino Designer
  • Updated JavaScript editor -- The client JavaScript editor has been replaced with the newest WTP (Web Tools Platform) editor that is compatible with Designer's current version of Eclipse (3.4.2). Updates and improvements include the following:
    • Improved code validation
    • Code folding to selectively hide and display sections of a currently-edited file as a part of code editing
    • Ability to set formatting preferences
    • Ability to display Outline view support for classes, etc.
    • Code templates
  • Usability improvements -- The following Designer usability improvements are available in this release:
    • Sign button in all design list editors -- While the "Sign Design..." feature was implemented across Domino Designer in 8.5.2, there may be a case where you want to sign a specific or selected set of design elements. Designer 8.5.2 provided the "Sign" button on a number of design lists but it was not available on every kind of design list. This release now makes this function available on any kind of design element list.
    • Ability to control the opening of InfoBoxes -- By selecting or deselecting a preference in the "Forms/Views Notes® design elements" section of the Preferences-Domino Designer panel, you can control the opening of InfoBoxes (Forms/Views Notes properties boxes).
    • Ability to rename a design element - By opening a dialog (accessed by F2 in the design list or from the Applications Navigator), you can supply both the name and the alias of a design element.
    • Ability to expand and collapse all sections in the Outline view -- "Expand All" and "Collapse All" icons have be added to the menu bar of the Outline view to let you collapse or expand all section in the view. You can also collapse or expand only selected elements in the view.
  • Show disabled control for read-only attribute added for all input controls -- This is available on the main control Properties tab for each control. For example, for the File Upload control, the attribute is found on the "File Upload" tab for that control.
  • New Dojo property panel added for XPage and Custom controls that allows users to modify the Dojo attributes for those controls -- The attributes that can be enabled or disabled from the Dojo panel include:
    • Include dojo form module on page
    • Trigger dojo parse on load
    • Use Dojo theme
  • Evaluate the entire page on refresh attribute added as Application Properties performance property on XPages -- This attribute can be enabled or disabled on the Applications Properties panel XPages tab. It can be found in the Performance section of that tab.
  • Display XPage instead attribute added to View - Web Access InfoBox tab -- This "Web only" attribute is lets you select an XPage from a drop down list to display as a web view instead using a "standard" view.
  • Working sets - The ability to manage working sets has been improved.
XPages
In the area of XPages, the following additions or changes have been made:
  • Dojo changes
    • Domino 8.5.2 shipped with Dojo-1.3.3 and Dojo-1.4.3. XPages supports Dojo-1.4.3 by default. Notes 8.5.2 shipped with Dojo-1.4.3.
    • In Notes and Domino 8.5.3, Dojo has been upgraded to version 1.5.1. The Notes and Domino install contains Dojo version 1.5.1 only and this is consumed by Notes and Domino. The Dojo files can be found under domino\js\dojo-1.5.1 in the Notes/Domino Data directory.
    • In Notes and Domino 8.5.3, a version of Dojo has been included in the Notes and Domino install which is available as a plugin. It contains Dojo version 1.6.1. XPages consumes this Dojo-1.6.1 plugin by default on both Notes and Domino. The location of this plugin can be specified in the xsp.properties file.
    • On upgrading from Notes/Domino 8.5.2 to an 8.5.3 build, the expected behaviour for the Notes client is that Dojo-1.4.3 and Dojo-1.5.1 will be available in the 8.5.3 upgrade install. The Notes client will also contain a new Dojo-1.6.1 plugin.
    • The expected behaviour for the Domino server is that Dojo-1.3.3 and Dojo-1.4.3 and Dojo-1.5.1 will all be available in the 8.5.3 upgrade install. The Domino server will also contain a new Dojo-1.6.1 plugin.
      • dojo-1.3.3 will be preserved from the 8.5.2 Domino install.
      • dojo-1.4.3 will be preserved from the 8.5.2 Notes/Domino install
      • dojo-1.5.1 will be installed as part of Notes/Domino 8.5.3. This will be the default Dojo used by Notes/Domino.
      • dojo-1.6.1 plugin will be installed as part of Notes/Domino 8.5.3. This will be the default Dojo used by XPages only.
      Therefore if applications reference a specific Dojo version explicitly, they will still work on the 8.5.3 Notes/Domino. However it is bad practice to hard code Dojo versions into applications. Instead the Dojo files can be referenced through /.ibmxspres/dojoroot/ which maps to the version of Dojo that XPages supports by default. For example, in 8.5.3 /.ibmxspres/dojoroot/ currently resolves to the latest version of Dojo found in notes_or_domino_data_directory\domino\js or as a Dojo plugin, which for 8.5.3 will be Dojo-1.6.1. It is possible to change the default version of Dojo used in XPages by specifying the xsp.client.script.dojo.version property in xsp.properties at either application of server level. Note, however, that doing so is an unsupported configuration.
  • CKEditor changes
    • Domino 8.5.2 shipped with CKEditor version 3.2.1.6_OneUI. It was a new feature for 8.5.2 which replaced the Dojo Rich Text Editor in XPages.
    • In Notes and Domino 8.5.3, CKEditor has been upgraded to version 3.5.3.x_OneUI. The CKEditor files can be found under domino\html\ckeditor in the Data directory.
    • On upgrading from Notes/Domino 8.5.2 to an 8.5.3 build the expected behaviour for Notes/Domino is that the CKEditor folder which contains version 3.2.1.6_OneUI is replaced by a CKEditor folder which contains version 3.5.3.x_OneUI.
  • fileDownload control -- This control has two new properties that are effective when the allowDelete (Allow File Delete) property is true:
    • deleteImageTitle="title" (Delete Image Title) specifies the text that appears when the user mouses over the delete icon
    • deleteMessage="message" (Delete File Message) specifies the body of the dialog that verifies deletion of the attached file.
  • view.postScript(<client script> – lets you programmatically generate a client script when processing an event on the server. For example, the following server-side JavaScript adds a client-side script - the alert dialog - to the XPage when it is rendered. var sc = "alert('Fully refreshed')" view.postScript(sc)
  • XPages control properties added to support HTML5 attributes
    To address requests for changes that would allow developers greater flexibility in using HTML5 attributes, the "attrs" property has been added to most XPages controls and to the XPages StyleSheet and other client-side Resource objects.
    The "attrs" property allows an "Attribute List" to be specified, where each Attribute will have a name and a value, and will appear as a HTML attribute in the main HTML element corresponding to the XPages control.
    This property was NOT added to the following controls: xp:typeAhead, xp:dateTimeHelper, xp:eventHandler, and xp:platformEvent. Also, while the property was added to xp:selectItem and xp:selectItems, those "attrs" do not appear in the HTML output.
    The following additional changes were made to address this issue:
    • New "rowAttrs" property was added to the View Panel, File Download, and Repeat controls
    • New Panel control "tagName" property was added as support for the proposed new container HTML elements
    • New Edit Box control "type" property was added, with runtime checking preventing type="checkbox" or any of the older HTML4 types
  • Full text search results sorting in XPages
    For this release, the ability to sort full text search results is now supported in XPages. Before this release, you could not sort the document collection that is returned as a result of performing a full text search on a view.
    In 8.5.2, the View sort icons are removed when it displays the results of a full text query. In previous releases, the icons remained enabled, implying that the result set was sortable when, in fact, it was not. The ability to sort has now been added.
    If your view contains dynamically sortable columns and your database is full text indexed, you can automatically sort full text results by clicking the Sort icons on the sortable columns in a View control. This functionality is based on new FTSearchSorted methods in the Java backend View class.
    Refer to the Domino library NotesView section of the Lotus Domino Designer XPages Reference Guide for more complete information.
  • XPages Preload options
    New options designed to improve the startup performance of XPages applications have been added to this release. A preference can be set that preloads the XPages runtime on the Domino server and Notes client. Additionally, specific XPages applications may also be preloaded. The preferences are set as entries in the NOTES.INI file and have the following form:
    • XPagesPreload=1
    • XPagesPreloadDB=myServer!!myDb.nsf/myXPage.xsp,myLocalDb.nsf/test.xsp
    The XPagesPreload entry causes an extensive list of XPages runtime Java classes to be preloaded, so they are available in memory when an application is opened by a user.
    The XPagesPreloadDB preference lets a comma separated list of applications be specified, with or without a specific XPage extension. Again, any required classes are loaded when the server or client starts up and are thus available as soon as any declared application is accessed by a user. The benefit of this may be more evident when running in remote mode on the Notes client, i.e. the XPages is running on the client but the application itself resides on a remote server. In this instance, the Java classes in the application (XPages, custom controls) need to be loaded across the network in order to be executed in the local XPD web container. Preloading such applications produces more responsive initial user experience.
  • JavaScript/CSS Aggregation feature
    For performance reasons, the XPages runtime now features a new option that dynamically aggregates multiple Dojo modules, or multiple CSSs into a single file. This results in the following performance improvements:
    • a decrease in requests sent from the browser to the server
    • an increase in user performance, particularly in the context of networks with high latency
    • an increase in the speed of JS/CSS parsing from the browser
    • the freeing up of server connections to fulfill other requests
    As an extreme example of the saving, let's say the XPages Extension Library is using the page DWA_ListView.xsp. Without the aggregator enabled, 82 requests are made to the server. With the aggregator enabled, the count decreases to 6 requests, including the Ajax request that gets the data. Also, a test run on processing time might see changes from ~4 sec to ~800 ms.
    To allow you to actvate this option, XPages now feature a new runtime option, which can be set in xsp.properties (database or server level). This option is xsp.resources.aggregate=true
    It can also be set in Domino Designer from the Application Properties - XPages tab by checking the Use runtime optimized JavaScript and CCS resources option.
Programmability and languages
In the area of programmability and languages, the following additions or changes have been made:
  • New @Function to support Machine Specific Policy Settings: @GetMachineInfo() -- In prior versions of the Notes Client, and policy control, an administrator could only target an individual, but not a specific machine configuration for that individual. For certain settings and customers, this made the enforcement of specific settings problematic, either because a user had multiple machines, or because the configurations and usage were not easily partitioned.
    To address this limitation, this release has introduced the ability to apply policy settings based on characteristics of the machine. For a given user, different policy settings could be applied on different machines. For example, this would allow the creation of a managed replica on laptops, and only laptops. It can also provide server administrators the ability to determine what policy settings to enforce, based on the specific attributes of the machine on which the Notes Client is running. Some possible attributes may include; version and type of OS, type of machine, basic or standard client, laptop, desktop, etc.
    This capability has been implemented by adding a new @Function, @GetMachineInfo(), changing the Policy handling characteristics in the 8.5.3 client, changing the template's policy settings forms, and by adding formulas for the policy settings. Refer to the Domino Administrator documentation for more complete information.

No comments:

Post a Comment