Monday, 30 November 2015

IBM Notes Domino 9.0.1 Fix Pack 5 Released

Notes/Domino 9.0.1 Fix Pack 5 addresses defects in the Client, Server, Notes Browser Plug-in and Domino OpenSocial component. All Fix Packs are language independent and may be applied on any language version of Notes/Domino 9.0.1.
IBM has identified important Notes/Domino SPRs to be fixed in the latest Fix Pack release, 9.0.1 Fix Pack 5.
9.0.1 Fix Pack 5 is a collection of low-risk, high-impact fixes to help customers safely avoid known issues. IBM strongly recommends that customers running Notes/Domino 9.0.1x upgrade to this latest Fix Pack since it addresses a small percentage of defects that impact the broadest set of customers.

For download and more information: IBM Notes Domino FP5 (Download Options for Notes & Domino 9.0.1 Fix Packs) and the IBM Notes/Domino 9.0.1 Fix Pack 5 Release Notice.

Supersedes
9.0.1 Fix Pack 5 includes all of the content and supersedes the following deliverables:
Notes: 9.0.1 FP4 IF1, IF2
Domino: 9.0.1 FP4 IF1, IF2, IF3
iNotes: 9.0.1 FP4 IF1, IF2
JVM Patch: 1.6 SR16FP7

Important Notes
  • 9.0.1 Fix Pack 5 updates the embedded Notes/Domino JVM to 1.6 SR16 FP15 to address security vulnerabilities.
  • 9.0.1 Fix Pack 5 adds support for IE Standards Mode for iNotes. An optional Forms9s.nsf for IE 11 Standard mode has been added in 9.0.1 FP5. 9.0.1 FP5 installs a secondary iNotes client file on the Domino server named Forms9s.nsf. This file is an optional solution to "Quirks Mode". Quirks mode was a run time option first introduced in IE 8 to provide backward compatibility for programs such as iNotes but can cause some limitations running in newer versions of IE such as IE11. Forms9s.nsf removes quirks mode and runs in Standard mode. This is off by default and can be enabled via setting these in the Domino server notes.ini. iNotes_WA_DefaultFormsFile=iNotes/Forms9s.nsf iNotes_WA_FormsFiles=iNotes/Forms9s.nsf
  • IBM Notes Mac - IBM Notes Mac 9.0.1 FP5 32-bit is superseded by Mac 9.0.1 64-bit. Customers looking for Notes Mac client 9.0.1 32-bit are encouraged instead to download and install Notes 9.0.1 Mac 64-bit. 
  • Windows 10 - 9.0.1 FP5 adds support for IBM Client Application Access and the Notes Browser Plug-in. Notes/iNotes added this support for 9.0.1 FP4. 

Download IBM Domino FP5


Download IBM Notes FP5


9.0.1 Fix Pack 5 Fix List descriptions:

Client
  • CSMH9QHKNF (LO83744) - Fixes issue where the incorrect font is used after installing additional True Type fonts in Notes 9. The fix requires the new notes.ini variable "UseWindowsFontSubstituteFontList" be set to the font or fonts that are to be used. This is a regression in 9.0.1.
  • HHIE9RTARJ (LO83155) - Avoids a Notes Client crash opening a document with a graphic image containing invalid dimensions. This defensive fix will avoid the crash.
  • ADEE9UCDQ2 (LO84117) - Fixes issue that could result in duplicate INI parameters for cases where the notes ini exceeds 64 bytes
  • DSAS9HBTVQ (LO79576) - Under certain conditions, the Dircat task treats a rare but routine error "Directory cataloger was unable to obtain any scheduling information" as fatal and shuts down. This fix resolves this.
  • QMGO9YXDML (LO85873) - Fixes issue where Notes fixpack ignores the custom common data setting and installs to the default common data dir causing a 1603 install error
  • SRKM9NFF7B (LO81786) - Attempts to install a Notes 9.0.1 Fix Pack fail. The install/upgrade log shows the following error: "Installation success or error status: 1603". This is a regression in 9.0.1 FP1.
  • XXZZ9JN999 (LO81356) - Fixes a cross platform crash opening emails with certain objects in them. This issue was more common on Notes Client Mac 10.9.
Server
  • RMAS9GATPK (LO81820) - The maximum NSF Pool size is hard coded by default. This fix introduces a new INI parameter to set the maximum size of the NSF Pool at runtime. Add MAX_NSFPOOL_SIZE=[new size in bytes] to set the size of the NSF Pool. Use MAX_NSFPOOL_SIZE_MB to set the size in MB instead. Note that the size cannot be set smaller than the current default maximum of 512 MB.
  • RGAU8ZRLKH (LO72483) - Fixes Domino Server crash when an xPage application with a large view is accessed and hitting last page of that largeview with the notes.ini variable Ft_max_search_results=99999999 set.
  • TMAI9YNHCD (LO85763) - Fixes issue where the return value of the len function in Lotusscript is invalid on 9.0.1 FP4. This fix was a regression caused by 9.0.1 FP4 SPR JMDK9MA6EJ. This fix reverts the fix for SPR JMDK9MA6EJ.
  • PJON9UBQMR (LO84113) - Fixes issue where Diiop connections over SSL Fail If SSLv3 is disabled. (technote 1968912)
  • SVRO9UZRQC (LO85045)- ISpy (runjava) fails to connect if SSLv3 is disabled because it was using an older SSL stack. It has been updated to a newer SSL stack that supports TLS (technote 1700925)
  • WBJT9X63VT (LO85208) - Chinese characters display incorrectly when an event is created via the Calendar service Restful API
  • YDEN9GYKRR (LO79426) - Fixes issue where user receives error: "Invalid URL exception and HTTP 500 Internal server error" when accessing a URL that contains a colon in the start and stop parameters in a URL. We now allow additional characters for 'start' and 'count' in a URL. This was a regression introduced in 9.0.
  • MKIN9BGTMX (LO77050) - Fixes a recursion crash when out of OSLocal memory. Symptoms included having http disappear without the creation of an nsd. (technote 1682289)
iNotes
  • GKLA9WVTH9 (LO85136) - Fixes issue on Mac and Linux where when using operating system timezone events viewed with calendar views display 3 hours early in the calendar view. This is a regression in 9.0.
  • SVRO9YLM35 (LO85733) - Fixes an HTTP Crash with iNotes in MAXSPRINTF due to a null pointer caused by incorrect permissions on Dojo files (technote 1964549)
  • CKUA9HSABG (LO79874) - Notes web: Fixed an issue where email links were not resolving properly when clicked.
  • MLEY9MVG34 (LO81588) - When using iNotes with Internet Explorer, blank lines in a user's signature are deleted. This is a regression in 9.0.1.
  • RFRF9CCARU (LO77404) - Notes web: Fixed an issue where replying to all from a message in the sent view using Internet Explorer 10 would result in swapping the contents of the "To" and the "cc" fields.
  • MLEY9TMGPF (LO83786) - Notes web: Fixed an issue with slow scrolling using the navigation arrows in the One Week/One Work week calendar views

Upcoming XPages Webinar - Using Cool New Frameworks in (Mobile) Domino Apps!

On December 16th a very interesting webinar will be organized by TLCC and Team Studio, Using Cool New Frameworks in (Mobile) Domino Apps! The registration for this webinar is now available on the T.L.C.C website.


Did you know there's an abundance of cool CSS and JS frameworks out there? Have you ever wanted to find out how you can use them in your own (mobile) Domino apps? Theo will show real world applications from his customers using some of these powerful frameworks inside Domino. Explore with us on how they integrated Bootstrap, Ratchet.js, Knockout.js, Backbone.js, Underscore.js, jQuery.js and more! You'll walk away from this session excited, and full of ideas you can start to implement as soon as you get home. Let's show the world how innovative, flexible, and on-the-edge Domino development still is!

For more information: XPages Webinar Series with TLCC andTeamstudio

Missed a Webinar? Look here for the recorded webinars.
Below a recording of the webinar from November 17th Ask the XPages Experts including the demo database.



Thursday, 26 November 2015

Quick Tip: Easy implement Deletion Logging into your Notes Applications

Lately I have been working a lot with LotusScript. For a proper Deletion Logging I was looking for a good LotusScript solution. After a brief search I quickly found a blog post from Paul Withers. In his blog post Paul provides a perfect solution for a solid Deletion Logging based on LotusScript.
Below a basic example of how I have implemented Deletion Logging into one of my databases based on this solution. I also have a working demo database included at the end of this blog post.

At first the following modifications should be included in the Database Script of the database in which the Deletion Logging is added.


The script below should be added to the Querydocument delete method of the Database Script. This script logs the DELETE actions of users (s).


The script below should be added to the Querydocumentundelete method of the Database Script. This script logs the UNDELETE actions of the user (s).


The next step is to add the following Script Libraries to the database, DeletionLog and OpenLogFunctions.


Subsequently a new Form and View should be be added to the database. To be able to 'read' the log data a new form 'DeletionLog' has to be added to the database.


The log data is displayed in a View "Deletion Log".
The part for creating the log message and associated details can be found in the GetDescription Function. Below are some basic examples.


For a complete working setup see the example database.
Thanks to Paul Withers for this perfect solution!

Tuesday, 24 November 2015

IBM Champion 2016 for Social Business!

Yesterday IBM announced the IBM 2016 Champions for Social Business. For a complete overview of all IBM Champions see the IBM Announcement, Announcing the IBM Champion Class of 2016 for IBM Social Business!
I want to congratulate all IBM Champions heartily. I would also like to thank everyone who nominated me for IBM Champion 2016. Thank you!
This year I was selected for the first time as IBM Champion 2016 for Social Business. Thank you IBM! I am humbled and grateful to be belong to this special group of IBM Champions 2016 for Social Business.




Friday, 20 November 2015

Ask the XPages Experts - A Great Webinar For XPages Developers

On November 17 a very interesting webinar was organized by TLCC and Team Studio, Ask the XPages Experts. FOUR XPages experts, Mike McGarel, Jesse Gallagher, David Leedy and Nathan Freeman have each given a short presentation during this webinar and then the webinar was opened for XPages questions from the participants of this webinar! For those who missed this webinar below the content, video and slides. 




Building on Properties by Mike McGarel - The custom property can be a simple yet powerful tool for both your UI and data needs. Properties can contain a variety of objects, from strings to Java beans. This presentation will demo practical examples of custom properties in two design elements, the custom control and the XPage.

Controller Classes by Jesse Gallagher - “Controller” classes are a useful way to separate your XPage presentation logic from the back-end code. Learn how to implement these classes in a basic XPages application and hear how they can be a good stepping stone on your path to better applications.

Time to First Byte by David Leedy - Learn how to use the dojo Standby widget to target partial refreshes and even improve the users "Time to First Byte"!

Give it a REST by Nathan Freeman - Nathan will talk about how to extend Domino Access Services to build more usable REST models for your own data, using the OpenNTF Domino API REST service as a guide.



 Missed a Webinar? Look here for the recorded webinars.

Tuesday, 10 November 2015

IBM XPages on Bluemix: New Video Making Hybrid XPages Applications On Bluemix

On October 27 the fifteenth release was published of the IBM Notes Domino 9.0.1 version of the XPages Extension Library (ExtLib) to OpenNTF. In the ReadMe file information is included on the new Bluemix capabilities for hybrid applications for both Domino Designer and the XPages runtime.

Today the following video has been published by Brian Gleeson on IBM developerWorks. This video describes how to create hybrid XPages applications in Bluemix. A hybrid application is defined in this context as a Bluemix cloud application that has its data hosted on an external private server. This video shows you how to configure an XPages Bluemix application to connect with a data NSF on an external Domino server. In the latest XPages runtime update, support was added for such hybrid applications, providing a powerful secure use case for XPages apps in Bluemix.



For more information: Hybrid XPages Applications on Bluemix on IBM developerWorks.
See also Domino Hybrid Applications setup for use with IBM XPages for Bluemix runtime on IBM Bluemix Docs.

Wednesday, 4 November 2015

Bootstrap in XPages: Using the Bootstrap Popover Extended Plugin in XPages (2) - Using Popover Color Styles

In my previous blog post on SocialBizUG, Using the Bootstrap Popover Extended Plugin in XPages (1) - Introduction and Setup Using Data Attributes, I showed the basic setup and usage of the Bootstrap Popover Extended Plugin in XPages. In this blog post I will show how to use PopoverX Color Styles whereby the popover arrow matches the heading color style.

Setup Color Styles
The Color Style setup is quite simple. For the button(s) the familiar styleClasses can be applied such as btn-success or btn-info.
For the Popover Extended class the same class must be applied, class="popover popover-success".

<xp:button id="button1" styleClass="btn btn-success btn-lg" value="Popover Extended">
<xp:this.attrs>
<xp:attr name="data-toggle" value="popover-x"></xp:attr>
<xp:attr name="data-target" value="#demo"></xp:attr>
<xp:attr name="data-placement" value="right"></xp:attr>
</xp:this.attrs>
</xp:button>
<div id="demo" class="popover popover-success">
<div class="arrow"></div>
<div class="popover-title"><span class="close pull-right" data-dismiss="popover-x"></span>Popover Extended</div>
<div class="popover-content">
<p>Extend the Bootstrap Popover.js plugin with Color Style Success.</p>
</div>
</div>

Final result in XPages


Code XPage
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">
<script type="text/javascript" src="bootstrappopoverx/js/bootstrap-popover-x.js"></script>
<link rel="stylesheet" href="bootstrappopoverx/css/bootstrap-popover-x.css" type="text/css" />
<xc:ccLayoutBootstrap><xp:this.facets>
<xp:panel xp:key="facetMiddle">
<xp:button id="button1" styleClass="btn btn-success btn-lg" value="Popover Extended">
<xp:this.attrs>
<xp:attr name="data-toggle" value="popover-x"></xp:attr>
<xp:attr name="data-target" value="#demo"></xp:attr>
<xp:attr name="data-placement" value="right"></xp:attr>
</xp:this.attrs>
</xp:button>
<div id="demo" class="popover popover-success">
<div class="arrow"></div>
<div class="popover-title"><span class="close pull-right" data-dismiss="popover-x"></span>Popover Extended</div>
<div class="popover-content">
<p>Extend the Bootstrap Popover.js plugin with Color Style Success.</p>
</div>
</div>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:button id="button2" styleClass="btn btn-info btn-lg"value="Popover Extended">
<xp:this.attrs>
<xp:attr name="data-toggle" value="popover-x"></xp:attr>
<xp:attr name="data-target" value="#demo1"></xp:attr>
<xp:attr name="data-placement" value="right"></xp:attr>
</xp:this.attrs>
</xp:button>
<div id="demo1" class="popover popover-info">
<div class="arrow"></div>
<div class="popover-title"><span class="close pull-right" data-dismiss="popover-x"></span>Popover Extended</div>
<div class="popover-content">
<p>Extend the Bootstrap Popover.js plugin with Color Style Info.</p>
</div>
</div>
<xp:br></xp:br>
<xp:button id="button3" styleClass="btn btn-danger btn-lg" value="Popover Extended">
<xp:this.attrs>
<xp:attr name="data-toggle" value="popover-x"></xp:attr>
<xp:attr name="data-target" value="#demo2"></xp:attr>
<xp:attr name="data-placement" value="right"></xp:attr>
</xp:this.attrs>
</xp:button>
<div id="demo2" class="popover popover-danger">
<div class="arrow"></div>
<div class="popover-title"><span class="close pull-right" data-dismiss="popover-x"></span>Popover Extended</div>
<div class="popover-content">
<p>Extend the Bootstrap Popover.js plugin with Color Style Danger.</p>
</div>
</div>
</xp:panel>
</xp:this.facets>
</xc:ccLayoutBootstrap>
</xp:view>

Monday, 2 November 2015

IBM XPages on Bluemix: Domino Hybrid Applications Setup For Use With IBM XPages For Bluemix Runtime


On October 27 the fifteenth release was published of the IBM Notes Domino 9.0.1 version of the XPages Extension Library (ExtLib) to OpenNTF. In the ReadMe file some details were already described on the new Bluemix capabilities for hybrid applications for both Domino Designer and the XPages runtime:
  • Additional Domino Designer Bluemix Preferences provided to support hybrid application production use cases
  • Domino Designer Bluemix tooling changes to support hybrid application production use cases
  • New Bluemix/Domino Designer environment variables introduced to aid in the support of hybrid application production use cases
  • Domino Hybrid Applications On Premises Setup
Today I saw the following Twitter message from Padraic Edwards.


In case you missed it, on IBM Bluemix Docs there is a lot of new information available for Hybrid applications:
  • Domino Hybrid Applications setup for use with IBM XPages for Bluemix runtime
  • Creating a server ID file for Hybrid Applications
  • Pushing your server ID to Bluemix using Domino Designer Bluemix Tooling and Preferences
  • Controlling IBM XPages for Bluemix application access for Domino Hybrid Applications
A hybrid application can be described as an XPages application in Bluemix that needs to be able to access Domino data stored outside its own immediate cloud environment.

Documentation: Domino Hybrid Applications setup for use with IBM XPages for Bluemix runtime

Sunday, 1 November 2015

Assisted Migration Of Existing Domino Applications - Successfully Move Your Notes Application To The Browser


Aveedo Migration Wizard - Assisted Migration
After watching the webcast of October 21 from We4IT, I was impressed by the capabilities of Aveede Assisted Migrations (Aveedo Migration Wizard). In this blog post more about this amazing Migration Wizard.
The Aveedo Migration Wizard is part of the Aveedo application framework. The framework allows users to migrate existing or create new applications within the browser and without using Domino Designer.

If you want to migrate an existing application the Aveedo Migration Wizard comes in handy as it does most of the work for you during importing forms and views from the source application.
The main principle of how he wizard works is to exam selected design elements (forms and views) on the DXL level, then to display relevant parts (form action, fields, view actions) for previewing them and finally to transform them into Aveedo configuration documents. Those are the core elements for Aveedo to offer forms for and views to display data from the source application. The Migration Wizard can be used repetitively with additional elements even if you used the source before.
Tables, tabbed tables, sections and other formatting elements in Notes forms where used to create a nice presentation. These are also transformed as they are also known elements in an Aveedo document layout.

Let's have a look at some key elements, for example the fields. Fields are the most versatile elements on a form. We know different data types, display types and computation types. All those properties of a Notes field will be transformed to their corresponding object definitions in Aveedo. Complex field types like dialog lists, comboboxes and other "selectables" mostly contain formulas or static values for their keyword choices. Keywords will be transformed as so called shared elements of type "keyword" and formulas as elements of type "script". They will automatically bound to their corresponding object definitions and field defintions in the document layouts (these are the corresponding elements in Aveedo to forms). We are also transforming default values, input translations, enable editing and validation formulas. Of course we also create objects for richtext (lite), names, readers and authors fields. The latter offer several options in a Notes form. For some of them (like the name picker dialog) we also offer automatic transition and the availability of a name picker when you use the resulting document layout.


Actions in forms and views will be migrated to direct formula code and lotusscript libraries as shared elements of type "script". At this point we cannot transform those code blocks into corresponding server side script code, yet. Instead we copy all the code fragments into commented out code blocks that you can translate manually later. In most cases you can re-create the functionality of the original code though this will require some server side script programming skills.
The bottom line is that you can transform even a complex Notes form with at least one corresponding view to display it's documents within just a minute and only with a few clicks. Compared to a manually re-created XPage for the form and the view you can be up to 100 times faster with the wizard. Therefore we called it "wizard" ;-)



I would like to thank IBM Champion Oliver Busse for his major contribution in this blog post. Without his help and input this blog post could not have been written.
For more info visit the following links: We4IT and Aveedo.