Monday, 31 October 2016

The IBM Plan and Future of IBM XPages Revealed

On November 3rd a very interesting webinar will be organized by T.L.C.C and Team Studio, IBM Presents the IBM Notes & Domino Roadmap, by Barry Rosen (IBM Offering Manager) and Uffe Sorensen (IBM Social Collaboration Director, EMEA) and, newly added, the IBM Plan for XPages (Martin Donnelly). The registration for this webinar is available on the T.L.C.C website.


Content
Barry and Uffe will review the latest updates on IBM Notes and Domino as well as IBM Verse On-premises and related Cloud solutions. They will discuss the future directions and support for IBM Notes and Domino and the deliverables over the next 12 to 18 months as IBM transitions to using Feature Packs for delivering future enhancements.
Martin Donnelly will discuss IBM's plans for XPages enhancements.
There will be time for questions and answers at the end of their presentation.

So one of my questions will be answered in this webinar, what will be the future of XPages! Also see my previous blog post, The Future of IBM Notes Domino and XPages Revealed ? with more information about the IBM Notes and IBM Domino Roadmap.

Read here the first blog post in response to the webinar, Modern Domino Alive and Healthy by Slobodan Lohja.
See also the Webinar Replay and Slides on my blog post The Future of IBM Notes - IBM Domino and XPages Presented by IBM.

Saturday, 29 October 2016

Available for Download: New pubnames.ntf for Domino 9.0.1 (Extends Holiday Documents and Adds Policy Updates for IMSMO and Traveler)


A new Domino Directory template (pubnames.ntf) for Domino 9.0.1 is now available. This new template extends Holiday documents through years 2026 or 2027 and adds policy updates for Traveler and IBM mail support for Microsoft Outlook (IMSMO).

The new pubnames.ntf for Domino 9.0.1 includes the following updates:
  • Holiday documents that have been extended another 10 years through 2026 or 2027 depending on the holiday.
  • Policy update for cloud Traveler servers that allows admins to remove the device password requirement for Traveler devices. Hybrid customers will be able to override the default that says you must have a device password.
  • Policy update for IMSMO cloud and on-premises servers that allows more granular control of auto-processing notices. Now you can choose whether to skip processing of meeting notices that have pending reschedules. In the cloud, this new setting is enforced/enabled regardless of the policy setting selected on-premises. 

This new template is at this moment only available in English. Full localization is being worked for Domino 9.0.1 Feature Pack 8.
The Holiday documents in this pubnames.ntf will not be applicable to cloud Hybrid environments until IBM delivers an updated mail template that provides a new option to import Holidays from any server. That updated mail template is currently planned for Domino 9.0.1 Feature Pack 8.
The updated holidays include the original start dates but extend into either year 2026 or year 2027 depending on the holiday. The holidays will not be duplicated but instead extended; therefore, users will see the past and future holiday dates.

For more information: IBM New pubnames.ntf 

Thursday, 27 October 2016

Using the Updated Bootstrap Fileinput Plugin in XPages Part II - Styling the File Download Control

In my previous blog post, Using the Updated Bootstrap Fileinput Plugin in XPages Part I - Initial Setup of the Plugin in XPages, I described the initial setup of the Bootstrap FileInput Plugin. In response to some questions about the styling of the File Download Control (Bootstrap UI) in this blog post first some examples of how this can be easily resolved.
In this blog post I describe two examples, a File Download Control styled as a Striped Table with a Hover Effect and a File Download Control where the Delete Icon is customized with a button wherein use is made of a Font Awesome icon.

Striped Tabel Hover Effect
The File Download Control consists of a table. In Bootstrap we can style a table in a simple manner by making use of CSS as well as by adding an attribute to the File Download Control itself. In the example below the attribute styleClass has been added to the File Download Control.

<xp:fileUpload id="fileUpload1"
value="#{document1.Attachments}">
<xp:this.attrs>
<xp:attr name="multiple" value="multiple"></xp:attr>
</xp:this.attrs></xp:fileUpload>
<br /><br />
<xp:fileDownload rows="30"
id="fileDownload1"
displayLastModified="false"
hideWhen="true"
allowDelete="true"
value="#{document1.Attachments}"
styleClass="table table-striped table-hover">
</xp:fileDownload>

Furthermore, the XPage uses a Stylesheet, custom.css, in which the following code is included.

.table-hover>tbody>tr:hover>td, .table-hover>tbody>tr:hover>th {
  background-color: #550055;
  color:#eeeeee;
}

The final result is a good looking Bootstrap Styled Responsive File Download Control.


Change Delete Icon
Some time age I came across a very nice blog post by Frank van der Linden, Give the XPages File download control a bootstrap UI. In this blog post Frank described how to change the Delete Icon in the File Download Control. For more detailed information please take a look at the above mentioned blog post by Frank van der Linden. A very nice customization of the standard Delete Icon in the File Download Control. The only thing required for changing the Delete Icon in the File Download Control is to add the following script on the XPage or Custom Control.

<script>
$(document).ready(function(){
$(".table a[role='button']").addClass("btn btn-danger btn-sm");
$(".table a[role='button']").html('<icon class='fa fa-recycle' title ="Delete File"></icon>');
})
</script>

The final result is a new Bootstrap File Delete Button including a Font Awesome Icon in the File Download Control.


In the next blog posts the the additional functionalities of the Bootstrap FileInput Plugin will be discussed in more detail.

Wednesday, 26 October 2016

IBM Introduces New Watson Solutions for Professions - IBM Watson Work

In yesterday's press release, IBM announced a new category called IBM Watson Work. There are two new offerings that will be available: IBM Watson Work Services and IBM Watson Workspace. IBM Watson Workspace is currently invite-only. This is what you may heard before as Project Toscana.
Businesses today need to apply cognitive-powered productivity applications and services to digital content, conversations, and workflows to empower their employees with the ability to find, connect and work with the right experts; speed access to relevant content and insights; and provide the time and space to work simply and together.

IBM Watson Workspace learns how an individual works and interacts, and consolidates multiple work conversations from various communications channels into a single space. Using Watson, the technology highlights the most urgent action items, points to the right content needed at the time, and automates everyday tasks so employees can focus on the most vital business tasks.
IBM Watson Work Services are a set of cognitive APIs –Action Identification, Moment Identification and Summarization –developers can access through the offering’s website so they can infuse cognitive capabilities into existing work products and applications such as IBM Watson Workspace, existing third party applications and when building new applications. The technology uses natural language classifiers so it can analyze and facilitate the necessary action. For example, if someone says: "Great point –let's schedule a meeting to discuss further," the system can identify 'schedule a meeting' as an action, and help find the best time to continue the conversation.

More information: IBM Announces a New Category: IBM Watson Work and Let's talk Integrations with IBM Watson Workspace (Luis Benitez)

IBM Watson Workspace is currently invite-only. 

Monday, 24 October 2016

IBM Notes Domino XPages Community - Extended with a Comprehensive Vision


As  you may know, I am Moderator of the Google+ XPages Community (and currently also Curator of Collaboration Today and Contributor Director OpenNTF). Together with the founder and owner of the Google+ XPages Community, Rob Bontekoe, my old XPages teacher, this community was founded some years ago. The primary goal of the community was and still is to promote XPages as a development tool and sharing information about IBM XPages, IBM Notes Domino and IBM XPages for Bluemix.
Given recent developments we continue to expand our field of vision and we are also going to focus on other technologies such as Angular, Node, Bootstrap, React and Java in addition to what we already do at present.

At this time, the community has 539 members and is still expanding!
If you are not yet a member of this community and want to be kept informed of the latest news and if you want to share news about IBM Notes Domino, IBM XPages, IBM XPages for Bluemix, Angular or other modern web technologies then join the Google+ XPages Community now.
The more members the more news and the more it is shared within our amazing community.

Link to the Google+ XPages Community : XPages Community


Since today The XPages Google+ Community can also be found on Twitter, @XPagesCommunity.


So  follow the Google+ XPages Community on Twitter now for the latest news on IBM XPages, IBM Notes Domino, IBM XPages for Bluemix, Bootstrap, jQuery, Angular, Node, IBM and more!

Thursday, 20 October 2016

Bootstrap 4 Alpha 5 Released


As  everyone knows, I am a huge fan of Bootstrap in XPages and I follow the latest developments regarding the Bootstrap 4 Alpha releases closely. Yesterday Bootstrap 4 Alpha 5 has been released just over a month after Alpha 4 with some major feature improvements and a boat load of bug fixes. Below some major improvements from the releases note.

New CSS bundles
We’ve updated our build process to include compiled versions of all our CSS bundles. In addition to the longstanding default compiled and minified bundles, we now include compiled CSS files for our flexbox mode, grid system only, and Reboot only bundles. Each bundle includes a compiled, minified, and Sass map, just like the default compiled CSS.

Grid updates
Our grid system has been updated and is more flexible than ever. New in Alpha 5 are breakpoint specific grid gutters. That’s right, now you can customize the width of your gutters across each and every grid tier by modifying the Sass map.
The .container behaviors have changed slightly in Alpha 5. We now set the width of each container alongside a max-width: 100%; to ensure proper rendering across browsers in both our default and flexbox modes. Similarly, we fixed a bug in our flexbox grid where columns didn’t properly collapse at lower breakpoints.
Lastly, we’ve changed a few breakpoint and container dimensions. The sm tier’s container is now smaller than it’s viewport dimensions and the lg tier has changed from 940px to 960px for grid columns that more cleanly by 12.

Navbar updates
We’ve put a ton of time into the navbar for Alpha 5, but honestly it’s still not done. Rather than hold back the progress we’ve made for it until Alpha 6, we’re including a somewhat half-baked iteration.

More information: Bootstrap Alpha 5 Ship List and the Alpha 5 Announcement.
Bootstrap 4 Alpha 5 can be downloaded on the V4 Alpha Bootstrap website.

Wednesday, 19 October 2016

Using the Updated Bootstrap Fileinput Plugin in XPages Part I - Initial Setup of the Plugin in XPages

In the next blog post I'm going to pay particular attention to the updated Bootstrap File Input Plugin. The plugin is well maintained and is continuously expanded with new functionalities. In this blog post I will describe the initial setup of the plugin in XPages.
The Bootstrap FileInput Plugin is an enhanced HTML 5 file input for Bootstrap 3.x with file preview for various files, offers multiple selection, and more. The plugin allows you a simple way to setup an advanced file picker/upload control built to work specially with Bootstrap CSS3 styles. It enhances the file input functionality further, by offering support to preview a wide variety of files i.e. images, text, html, video, audio, flash, and objects. In addition, it includes AJAX based uploads, dragging and dropping files, viewing upload progress, and selectively previewing, adding, or deleting files.
In order to use the Bootstrap FileInput Plugin, the JavaScript and CSS file(s) need to be included on the XPage / Custom Control. The latest version can be downloaded from GitHub: Bootstrap-FileInput.

Adding the JS and CSS files
The JavaScript and CSS files must be added to the WebContent Folder in the Package Explorer.
In this example a Folder bootstrapfileinput has been added in the WebContent Folder.


Next the JavaScript and CSS files, fileinput.js and fileinput.css, must be included on the XPage or Custom Control. In this example I add the files to an XPage.
Note: The theme file themes/fa/theme.js can be optionally included for the font awesome icons styling. The locale file <lang>.js can be optionally included for translating for your language if needed. The canvas-to-blob.js file is the source for the JavaScript-Canvas-to-Blob plugin by blueimp. It is required to be loaded before fileinput.js for using the image resize feature of the bootstrap-fileinput plugin. The purify.js file is the source for the DomPurify plugin by cure53. It is required to be loaded before fileinput.js to purify the HTML for HTML content preview.

<link href="bootstrapfileinput/css/fileinput.css" media="all" rel="stylesheet" type="text/css" />
<script src="bootstrapfileinput/js/plugins/canvas-to-blob.js" type="text/javascript"></script>
<script src="bootstrapfileinput/js/plugins/purify.js" type="text/javascript"></script>
<script src="bootstrapfileinput/js/fileinput.js"></script>
<script src="bootstrapfileinput/themes/fa/theme.js"></script>
<script src="bootstrapfileinput/js/locales/nl.js"></script>

Adding the x$ jQuery selector for XPages
Furthermore I recommend to use the the great XSnippet by Mark Roden, x$ jQuery selector for XPages, to initialize the plugin. The XSnippet can be added to the Script Libraries.

The script itself can be made up as follows. In this example I use a few Options. In the next few blog posts these options will be explained in more detail.

<xp:scriptBlock id="scriptBlockInitFile">
<xp:this.value>
<![CDATA[
$(document).ready(
function() {
$('input[type=file]').fileinput({
browseClass: "btn btn-primary",
browseLabel: "Browse",
browseIcon: '<i class="glyphicon glyphicon-plus"></i>',
removeClass: "btn btn-danger",
removeLabel: "Delete",
removeIcon: '<i class="glyphicon glyphicon-trash"></i>',
uploadClass: "btn btn-info",
uploadLabel: "Upload",
uploadIcon: '<i class="glyphicon glyphicon-upload"></i>',
});
}
);
]]>
</xp:this.value>
</xp:scriptBlock>

AMD Loader Fixes
Finally, the JavaScript files fileinput.js and purify.js need to be adjusted. Reason: newer jQuery plugins try to use its AMD loader, but that doesn't play well with the Dojo implementation in XPages. The source code of the library can be adjusted in a very simple way with just a slight modification.

1. Go to the WebContent Folder and select the JavaScript file bootstrap-dialog.js
2. Select Open With - Client/Server JS Editor
3. Removed define.amd and replace it with false
4. Save the JavaScript files fileinput.js and purify.js

Note: There are other solutions for the AMD Fix. For more information about thes solution see my blog post Bootstrap Plugins in XPages Part VI - jQuery and JavaScript AMD (Asynchronous Module Definition) Fixes (2).

The final result is a responsive Bootstrap FileUpload with additional functionality in the initial setup.


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">
<xp:this.data>
<xp:dominoDocument var="document1" formName="Visitors"></xp:dominoDocument>
</xp:this.data>
<xp:this.resources>
<xp:script src="/JQueryXSnippet.js" clientSide="true"></xp:script>
</xp:this.resources>
<link href="bootstrapfileinput/css/fileinput.css" media="all" rel="stylesheet" type="text/css" />
<script src="bootstrapfileinput/js/plugins/canvas-to-blob.js" type="text/javascript"></script>
<script src="bootstrapfileinput/js/plugins/purify.js" type="text/javascript"></script>
<script src="bootstrapfileinput/js/fileinput.js"></script>
<script src="bootstrapfileinput/themes/gly/theme.js"></script>
<script src="bootstrapfileinput/js/locales/nl.js"></script>
<xp:scriptBlock id="scriptBlockInitFile">
<xp:this.value>
<![CDATA[
$(document).ready(
function() {
$('input[type=file]').fileinput({
browseClass: "btn btn-primary",
browseLabel: "Browse",
browseIcon: '<i class="glyphicon glyphicon-plus"></i>',
removeClass: "btn btn-danger",
removeLabel: "Delete",
removeIcon: '<i class="glyphicon glyphicon-trash"></i>',
uploadClass: "btn btn-info",
uploadLabel: "Upload",
uploadIcon: '<i class="glyphicon glyphicon-upload"></i>',
});
}
);
]]>
</xp:this.value>
</xp:scriptBlock>
<xc:ccLayout>
<xp:this.facets>
<xp:panel xp:key="facetMiddle">
<h4>Bootstrap FileInput 4</h4>
<h5>An enhanced HTML 5 file input for Bootstrap 3.x with file preview for various files, offers multiple selection, and more. The plugin allows you a simple way to setup an advanced file picker/upload control built to work specially with Bootstrap CSS3 styles. It enhances the file input functionality further, by offering support to preview a wide variety of files i.e. images, text, html, video, audio, flash, and objects.</h5>
<br />
<br />
<xp:fileUpload id="fileUpload1"
value="#{document1.Attachments}">
<xp:this.attrs>
<xp:attr name="multiple" value="multiple"></xp:attr>
</xp:this.attrs></xp:fileUpload>
<br />
</xp:panel>
</xp:this.facets>
</xc:ccLayout>
</xp:view>

In the next blog posts the the additional functionalities of this plugin will be discussed in more detail.

Monday, 17 October 2016

Become an IBM Champion - My IBM Champion Nominations for IBM Social Business Part 2

As everybody knows it's IBM Champion season again. Throughout the last year I had the privilege to participate in the IBM Champions Program. For this I am very grateful. The IBM Champions Program is an amazing program!
During the past year I noticed a number of 'contributors' of which I think deserve a nomination as IBM Champion for IBM Social Business. My three nominees below have made, in my opinion, a considerable contribution to the community during the past year.
Two of these nominees are currently not IBM Champions for IBM Social Business but definitely deserve this.
For these nominations I looked objectively at the criteria of IBM 'Who should be nominated as an IBM Champion?'.


Who should be nominated as an IBM Champion?
Well, here are the detailed criteria (also described below), but maybe what would help are some examples of people who might be IBM Champions: The person in your company who knows everything there is to know about your IBM software or hardware and makes it all work together and is always the one answering everyone’s questions. The person writing articles or books about IBM technology. The person with a blog who investigates and covers IBM technology. The person who runs the local meetup or user group covering IBM technology. The person whose Twitter stream is always sharing what they’re building with IBM technology. The person making YouTube videos about developing with IBM technology. The person who has a couple of sessions every year at IBM and user group conferences and events… Those are all people who might be IBM Champions.
The IBM Champion program requires IBM advocacy and influence outside one's own organization or customer engagements.  We also seek individuals that have significant contributions in at least 2-3 areas as defined below (significant contributions = a contribution, executed multiple times or for an extended period of time).
This can be blogging regularly, tweeting regularly (on topics relevant to our industry, but not necessarily IBM-specific tweets), speaking at multiple events in a calendar year, User Group Conference Planning Committee member (involves the execution of a conference or a part of the conference over a period of several months) or be a President or Board member of a worldwide or local user group for a period of 1 year.

My second IBM Champion Nominations for IBM Social Business.


Matteo BisiCsaba KissPatrick Kwinten

With these nominations I want to thank these nominees for their significant contribution to the community during the past year.

Take also the opportunity to nominate an influencer of IBM Social Business now. Nominations for the 2017 IBM Champion program will be accepted through November 14.
Say thank you, like I did, and Nominate an IBM Champion!
And remember, you can always nominate yourself!
If you need information about someone you want to nominate then take a look at his or her LinkedIn profile. Concerning the nomination form, just fill in what you know and submit the form!
Hopefully this blog post gives some inspiration to submit a IBM Champion nomination if you have not already done so. Why, because they deserve it!
More information of becoming a IBM Champion and about the IBM Champion Program: Webcast & info session: Become an IBM Champion


Nominate an IBM Champion : IBM Champion Program

More information about the IBM Champion Program: IBM developerWorks - Champions

Friday, 14 October 2016

Using Bootstrap Dialog Plugin in XPages - Making Bootstrap Modals Easy and Draggable

Bootstrap Dialog is a jQuery plugin that simplifies the standard Bootstrap Modal. The plugin is very easy to implement in any XPages Applications. It works with CSJS and the x$ jQuery Selector for XPages Snippet. This plugin is all about making Bootstrap Modals Easy and Draggable. I use this plugin in a lot of applications instead of the standard Bootstrap Modal, Bootbox, PNotify or other Dialog plugins.
In order to use the Bootstrap Dialog plugin the JavaScript and CSS file(s) need to be included on the XPage or Custom Control. The latest version can be downloaded from GitHub: Bootstrap Dialog.

1. Adding the JS and CSS files
The JavaScript and CSS files must be added to the WebContent Folder in the Package Explorer.
In the example below a Folder bootstrapdialog has been added in the WebContent Folder.


Next the JavaScript and CSS files, bootstrap-dialog.js and bootstrap-dialog.css must be included on the XPage or Custom Control. In this example I add the files to an XPage.

<script type="text/javascript" src="bootstrapdialog/js/bootstrap-dialog.js"></script>
<link rel="stylesheet" href="bootstrapdialog/css/bootstrap-dialog.css" />

2. Adding the x$ jQuery selector for XPages
Furthermore I use the the great XSnippet by Mark Roden, x$ jQuery selector for XPages, to initialize the plugin and include it on the XPage. The XSnippet can be added to the Script Libraries. In this example the name of the Script Library is JQueryXSnippet.js.

<xp:this.resources>
<xp:script src="/JQueryXSnippet.js" clientSide="true"></xp:script>
</xp:this.resources>

The script itself can be made up as follows. The name of the id in the script must correspond with the id of the Button. In the example below I used some extra options.

<xp:scriptBlock id="scriptBlock1">
<xp:this.value><![CDATA[
$(document).ready(
function() {
x$( "#{id:button1}" ).bind("click",function(){BootstrapDialog.show({
draggable: true,
title: 'jQuery Selector for XPages',
message: 'Bootstrap Dialog!',
buttons: [{
label: 'Button 1'
}, {
label: 'Button 2',
cssClass: 'btn-primary',
action: function(){
alert('Bootstrap Dialog!');
}
}, {
icon: 'glyphicon glyphicon-ban-circle',
label: 'Button 3',
cssClass: 'btn-warning'
}, {
label: 'Close',
action: function(dialogItself){
dialogItself.close();
}
}]
});
});
});
]]></xp:this.value>
</xp:scriptBlock>

Note: For using CSJS see the example code below.

3. AMD Loader Fix
Finally, the JavaScript file select2.js needs to be adjusted. Reason: newer jQuery plugins try to use its AMD loader, but that doesn't play well with the Dojo implementation in XPages. The source code of the library can be adjusted in a very simple way with just a slight modification.

1. Go to the WebContent Folder and select the JavaScript file bootstrap-dialog.js
2. Select Open With - Client/Server JS Editor


3. Removed define.amd and replace it with false


4. Save the JavaScript file bootstrap-dialog.js

Note: There are other solutions for the AMD Fix. For more information about thes solution see my blog post Bootstrap Plugins in XPages Part VI - jQuery and JavaScript AMD (Asynchronous Module Definition) Fixes (2).

The final result is a responsive draggable Bootstrap Dialog in XPages.


4. 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">
<xp:this.resources>
<xp:script src="/JQueryXSnippet.js" clientSide="true"></xp:script>
</xp:this.resources>
<script type="text/javascript" src="bootstrapdialog/js/bootstrap-dialog.js"></script>
<link rel="stylesheet" href="bootstrapdialog/css/bootstrap-dialog.css" />
<xp:scriptBlock id="scriptBlock2">
<xp:this.value><![CDATA[
$(document).ready(
function() {
x$( "#{id:button1}" ).bind("click",function(){BootstrapDialog.show({
draggable: true,
title: 'jQuery Selector for XPages',
message: 'Bootstrap Dialog!',
buttons: [{
label: 'Button 1'
}, {
label: 'Button 2',
cssClass: 'btn-primary',
action: function(){
alert('Bootstrap Dialog!');
}
}, {
icon: 'glyphicon glyphicon-ban-circle',
label: 'Button 3',
cssClass: 'btn-warning'
}, {
label: 'Close',
action: function(dialogItself){
dialogItself.close();
}
}]
});
});
});
]]></xp:this.value>
</xp:scriptBlock>
<xc:ccLayout>
<xp:this.facets>
<xp:panel xp:key="facetMiddle">
<h3>Bootstrap Dialog</h3>
<h4>Boostrap Dialog in XPages - Making Bootstrap Modals Easy and Draggable</h4>
<br />
<xp:button styleClass="btn-primary" id="button1" value="jQuery For XPages"></xp:button>
<br /><br />
<xp:button value="Client Side JavaScript" id="button2" styleClass="btn-primary">
<xp:eventHandler event="onclick" submit="false">
<xp:this.script><![CDATA[BootstrapDialog.show({
 title: 'CSJS',
 message: 'Bootstrap Dialog!',
 buttons: [{
 label: 'Button 1'
 }, {
 label: 'Button 2',
 cssClass: 'btn-primary',
 action: function(){
 alert('Bootstrap Dialog!');
 }
 }, {
 icon: 'glyphicon glyphicon-ban-circle',
 label: 'Button 3',
 cssClass: 'btn-warning'
 }, {
 label: 'Close',
 action: function(dialogItself){
dialogItself.close();
}
}]
});]]></xp:this.script>
</xp:eventHandler>
</xp:button>
</xp:panel>
</xp:this.facets>
</xc:ccLayout>
</xp:view>

More information and documentation about all options: Bootstrap Dialog Examples

Webinar XPages and jQuery DataTables - Simplifying View Creation while Maximizing Functionality

On October 11th a very interesting webinar was organized by T.L.C.C and Team Studio, XPages and jQuery DataTables - Simplifying View creation while maximizing functionality by Michael Smith.
For those who missed this webinar below the content, slides and video.

Content Webinar
Do you find adding view data to XPages unnecessarily painful? This webinar will focus on unleashing the power of jQuery DataTables within your XPages and demonstrate how to create a scalable infrastructure that minimizes the need for additional views and design changes to XPage design elements by using REST services and a reusable custom control. We will also dig into the api of DataTables and show you how to take advantage of its rich feature set to enhance the UI of your Views and tables within your XPage applications. With XPages and DataTables, adding View data to your XPages can be simple, fast, powerful, and painless!
Click here for the live demo application.




Missed a Webinar? Look here for the recorded webinars.
Below a recording of the webinar from September 8th , Take a Trip Into the Forest - A Java Primer on Maps, Trees and Collections by IBM Champion Howard Greenberg.

Thursday, 13 October 2016

Building Highly Secure Cross Platform IBM Domino Mobile Apps (Part 1)

Yesterday I watched a very interesting Webinar, Building Highly Secure Cross Platform IBM Domino Mobile Apps (Part 1). The replay of the Webinar can be viewed on Youtube.
Many organizations today are trying to figure out the best way to address the requirements of their mobile users. Lotus Domino Applications are no exceptions, rather, pose a bigger challenge. Access to Domino intranet applications is often physically restricted. Whereas on the Internet, these restrictions do not apply and the data is at huge risk.

In this webinar titled "Building Highly Secure Cross-platform IBM Domino Mobile Apps", you will learn:
  • How to expose Notes data to your mobile users through device independent interfaces
  • How to manage and control the concerns over heavy usage
  • Common data security features and about the offline capabilities
This webinar is presented a by Linoy Kunnath George, Lead Architect & Project Manager from Maarga Systems, with over a decade of experience in Notes Domino application development.


Wednesday, 12 October 2016

Using Bootstrap Dual Listbox a Responsive Dual Listbox Widget in XPages

Bootstrap Dual Listbox is a responsive dual listbox widget optimized for Twitter Bootstrap. It works on all modern browsers and on touch devices. The dual listbox is created from a select multiple by calling .bootstrapDualListbox(settings); on a selector. The selector can be any element, not just selects. When the method is called on a selector other than a select, then all select childrens are converted into dual list boxes.
In order to use Bootstrap Dual Listbox the JavaScript and CSS file(s) need to be included on the XPage or Custom Control. The latest version can be downloaded from GitHub: Bootstrap Dual Listbox.

1. Adding the JS and CSS files
The JavaScript and CSS files must be added to the WebContent Folder in the Package Explorer.
In the example below a Folder duallistbox has been added in the WebContent Folder.


Next the JavaScript and CSS files, jquery.bootstrap-duallistbox.js and bootstrap-duallistbox.css must be included on the XPage or Custom Control. In this example I add the files to an XPage.

<script src="duallistbox/jquery.bootstrap-duallistbox.min.js"></script>
<link rel="stylesheet" type="text/css" href="duallistbox/bootstrap-duallistbox.css" />

2. Adding the x$ jQuery selector for XPages
Furthermore I use the the great XSnippet by Mark Roden, x$ jQuery selector for XPages, to initialize the plugin and include it on the XPage. The XSnippet can be added to the Script Libraries. In this example the name of the Script Library is JQueryXSnippet.js.

<xp:this.resources>
<xp:script src="/JQueryXSnippet.js" clientSide="true"></xp:script>
</xp:this.resources>

The script itself can be made up as follows. The name of the id in the script must correspond with the id of the List Box. In the example below I used some extra options.

<xp:scriptBlock id="scriptBlock2">
<xp:this.value><![CDATA[
$(document).ready(
function() {
x$( "#{id:listBox1}" ).bootstrapDualListbox({
nonSelectedListLabel: 'Non-selected',
selectedListLabel: 'Selected',
preserveSelectionOnMove: 'moved',
moveOnSelect: false
});
});
]]></xp:this.value>
</xp:scriptBlock>

The final result is a responsive Bootstrap Dual List Box in XPages.


3. 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">
<xp:this.resources>
<xp:script src="/JQueryXSnippet.js" clientSide="true"></xp:script>
</xp:this.resources>
<script src="duallistbox/jquery.bootstrap-duallistbox.min.js"></script>
<link rel="stylesheet" type="text/css" href="duallistbox/bootstrap-duallistbox.css" />
<xp:scriptBlock id="scriptBlock2">
<xp:this.value><![CDATA[
$(document).ready(
function() {
x$( "#{id:listBox1}" ).bootstrapDualListbox({
nonSelectedListLabel: 'Non-selected',
selectedListLabel: 'Selected',
preserveSelectionOnMove: 'moved',
moveOnSelect: false
});
});
]]></xp:this.value>
</xp:scriptBlock>
<xc:ccLayout>
<xp:this.facets>
<xp:panel xp:key="facetMiddle">
<h3>Bootstrap Dual Listbox</h3>
<h4>Bootstrap Dual Listbox is a responsive dual listbox widget optimized for Twitter Bootstrap. It works on all modern browsers and on touch devices.</h4>
<xp:listBox id="listBox1" multiple="true">
<xp:selectItem itemLabel="Blue" itemValue="Blue"></xp:selectItem>
<xp:selectItem itemLabel="Green" itemValue="Green"></xp:selectItem>
<xp:selectItem itemLabel="Red" itemValue="Red"></xp:selectItem>
<xp:selectItem itemLabel="Orange" itemValue="Organe"></xp:selectItem>
<xp:selectItem itemLabel="Yellow" itemValue="Yellow"></xp:selectItem>
</xp:listBox>
</xp:panel>
</xp:this.facets>
</xc:ccLayout>
</xp:view>

More information: Bootstrap Dual List Box


Tuesday, 11 October 2016

Using Tokenfield for Bootstrap in XPages for Elegant Taggable Fields with Copy-Paste and Keyboard Support

Tokenfield is an advanced tagging / tokenizing plugin for jQuery and Twitter Bootstrap with a focus on keyboard and copy-paste support. Main features are copy and paste support, keyboard navigation, edit existing tokens, multiple lines of tokens and responsiveness. Tokenfield for Bootstrap is easy to implement within each XPages application.
In order to use Tokenfield for Bootstrap the JavaScript and CSS file(s) need to be included on the XPage / Custom Control. The latest version can be downloaded from GitHub: Tokenfield for Bootstrap.

Adding the JS and CSS files
The JavaScript and CSS files must be added to the WebContent Folder in the Package Explorer.
In the example below a Folder bootstraptokenfield has been added in the WebContent Folder.


Next the JavaScript and CSS files, bootstrap-tokenfield.js, jquery-ui.js, bootstrap-tokenfield.css, tokenfield-typeahead.js and jquery-ui.css must be included on the XPage or Custom Control. In this example I add the files to an XPage.

<script type="text/javascript" src="bootstraptokenfield/bootstrap-tokenfield.js"></script>
<script type="text/javascript" src="bootstraptokenfield/jquery-ui.js"></script>
<link rel="stylesheet" href="bootstraptokenfield/css/bootstrap-tokenfield.css" />
<link rel="stylesheet" href="bootstraptokenfield/css/tokenfield-typeahead.css" />
<link rel="stylesheet" href="bootstraptokenfield/css/jquery-ui.css" />

Note: The jQuery-UI files are only required if jQuery-UI autocomplete is used. If JQuery-UI autocomplete is beging used there is also a need for bootstrap styling. Create a custom.css file with the following code and add the stylesheet to the XPage: CSS Github Gist. In the Code XPage is an extended example included for using autocomplete (inputText3 /scriptBlock3).

Adding the x$ jQuery selector for XPages
Furthermore I use the the great XSnippet by Mark Roden, x$ jQuery selector for XPages, to initialize the plugin and include it on the XPage. The XSnippet can be added to the Script Libraries. In this example the name of the Script Library is JQueryXSnippet.js.

<xp:this.resources>
<xp:script src="/JQueryXSnippet.js" clientSide="true"></xp:script>
</xp:this.resources>

The script itself can be made up as follows. The name of the id in the script must correspond with the id of the Edit Box. In the example below I used some extra options.

<xp:scriptBlock id="scriptBlock1">
<xp:this.value><![CDATA[
$(document).ready(
function() {
x$( "#{id:inputText1}" ).tokenfield({
tokens: ['red', 'blue', 'green']
});
}
);
]]></xp:this.value>
</xp:scriptBlock>

The final result is a responsive Tokenfield for Bootstrap including jQuery-UI autocomplete and Bootstrap Styling.


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">
<xp:this.resources>
<xp:script src="/JQueryXSnippet.js" clientSide="true"></xp:script>
<xp:styleSheet href="/custom.css"></xp:styleSheet>
</xp:this.resources>
<script type="text/javascript" src="bootstraptokenfield/bootstrap-tokenfield.js"></script>
<script type="text/javascript" src="bootstraptokenfield/jquery-ui.js"></script>
<link rel="stylesheet" href="bootstraptokenfield/css/bootstrap-tokenfield.css" />
<link rel="stylesheet" href="bootstraptokenfield/css/tokenfield-typeahead.css" />
<link rel="stylesheet" href="bootstraptokenfield/css/jquery-ui.css" />
<xp:scriptBlock id="scriptBlock1">
<xp:this.value><![CDATA[
$(document).ready(
function() {
x$( "#{id:inputText1}" ).tokenfield({
tokens: ['red', 'blue', 'green']
});
}
);
]]></xp:this.value>
</xp:scriptBlock>
<xp:scriptBlock id="scriptBlock2">
<xp:this.value><![CDATA[
$(document).ready(
function() {
x$( "#{id:inputText2}" ).tokenfield();
}
);
]]></xp:this.value>
</xp:scriptBlock>
<xp:scriptBlock id="scriptBlock3">
<xp:this.value><![CDATA[
$(document).ready(
function() {
x$( "#{id:inputText3}" ).tokenfield({
autocomplete: {
source: ['red','blue','green','yellow','violet','brown','purple','black','white'],
delay: 100  
},
showAutocompleteOnFocus: false
});
x$( "#{id:inputText3}").on('tokenfield:createtoken', function (event) {
var existingTokens = $(this).tokenfield('getTokens');
$.each(existingTokens, function(index, token) {
if (token.value === event.attrs.value)
event.preventDefault();
});
// Close autocomplete
x$("#{id:inputText3}").keypress(function(e){
if (!e) e = window.event;
if (e.keyCode == '13'){
x$("#{id:inputText3}").autocomplete('close');
return false;
}
});
// Prevent Duplicates
x$("#{id:inputText3}").on('tokenfield:createdtoken tokenfield:removedtoken', function (event) {
var field = $(this);
var currentTokens = field.tokenfield('getTokens');
var originalSource = field.data('bs.tokenfield').options.autocomplete.source;
var newSource = originalSource.slice(); //clone original autocomplete source
for (var i = newSource.length - 1; i >= 0; i--) {
for (var j = currentTokens.length - 1; j >= 0; j--) {
if (JSON.stringify(currentTokens[j].label) == JSON.stringify(newSource[i])
|| JSON.stringify(currentTokens[j]) == JSON.stringify(newSource[i]) ) {
//remove the token from the newSource
var index = newSource.indexOf(newSource[i]);
if (index > -1)
newSource.splice(index, 1);
};
};
};
//update source
field.data('bs.tokenfield').$input.autocomplete({source: newSource})
})
});
}
);
]]></xp:this.value>
</xp:scriptBlock>
<xc:ccLayout>
<xp:this.facets>
<xp:panel xp:key="facetMiddle">
<h3>Tokenfield for Bootstrap</h3>
<h4>Advanced Tagging - Tokenizing Plugin for jQuery and Twitter Bootstrap with a focus on keyboard and copy-paste support.</h4>
<br />
<div class="col-md-7">
<xp:inputText id="inputText1">
</xp:inputText>
<br />
<xp:inputText id="inputText2">
</xp:inputText>
<br />
<xp:inputText id="inputText3">
</xp:inputText>
</div>
</xp:panel>
</xp:this.facets>
</xc:ccLayout>
</xp:view>

Monday, 10 October 2016

Using SelectBoxIt a A jQuery Plugin that Enhances an HTML Select Box into a Single Option Dropdown List in XPages

In previous blog posts I wrote about Select Boxes in XPages using Select2 and Chosen. A third option that I want to mention is SelectBoxIt. Although the jQuery Plugin sadly is no longer actively maintained I think it still belongs in the overview for Select Boxes in XPages.
SelectBoxIt is a A jQuery plugin that progressively enhances an HTML Select Box into a single option dropdown list. The dropdown list can be optionally styled with Twitter Bootstrap, jQueryUI ThemeRoller, or jQuery Mobile, optionally animated with jQueryUI show/hide effects, and works on Desktop, Tablet, and Mobile browsers.

Features
  • Styleable with Twitter Bootstrap, jQueryUI Themeroller, and jQuery Mobile
  • Supports Desktop, Tablet, and Mobile browsers
  • Supports all jQuery and jQueryUI show/hide effects (optional)
  • Supports all Twitter Bootstrap (Glyphicons) and jQueryUI/custom icons
  • Includes ARIA (Accessible Rich Internet Applications) support
  • Full keyboard search and navigation support
  • An event API triggered on the original select box element that calls the plugin
  • A method API providing methods to interact with the dropdown list (i.e. Search, Open, Disable, Set Options)
  • Passes jsHint with no errors
  • Selected, Disabled, and Optgroup Support
  • Easily extendable to allow developers to create new widgets

SelectBoxIt allows you to replace ugly and hard to use Select Boxes with gorgeous and feature rich drop downs. Twitter Bootstrap, jQueryUI, and jQuery Mobile themes are supported right out of the box. If you don't want to use these a library theme, then you can use the SelectBoxIt default theme, which closely resembles the Twitter Bootstrap theme.
To use SelectBoxIt, you do not have to rewrite any of your existing form validation logic or event handling. SelectBoxIt just works. SelectBoxIt also provides first-class support for mobile, tablet, and desktop browsers, triggering the native "wheel" interface for mobile and tablet devices.

Requirements
  • jQuery 1.8.3+ (It is always recommended to use the latest version of jQuery)
  • jQueryUI Widget Factory 1.10.0+ (It is always recommended to use the latest version of the jQueryUI Widget Factory)
In order to use SelectBoxIt the JavaScript, jQuery-UI and CSS file(s) need to be included on the XPage / Custom Control. The latest version can be downloaded from GitHub: SelectBoxIt.

Adding the JS and CSS files
The JavaScript and CSS files must be added to the WebContent Folder in the Package Explorer.
In the example below a Folder Chosen has been added in the WebContent Folder.


Next the JavaScript, jQuery-UI and CSS files, jquery.selectBoxIt.js, jquery.selectBoxIt.css and jquery-ui.js must be included on the XPage or Custom Control. In this example I add the files to an XPage.

<link type="text/css" rel="stylesheet" href="selectBoxit/css/jquery.selectBoxIt.css" />
<script src="selectBoxIt/jquery-ui.js"></script>
<script src="selectBoxIt/js/jquery.selectBoxIt.js"></script>

Adding the x$ jQuery selector for XPages
Furthermore I use the the great XSnippet by Mark Roden, x$ jQuery selector for XPages, to initialize the plugin and include it on the XPage. The XSnippet can be added to the Script Libraries. In this example the name of the Script Library is JQueryXSnippet.js.

<xp:this.resources>
<xp:script src="/JQueryXSnippet.js" clientSide="true"></xp:script>
</xp:this.resources>

The script itself can be made up as follows. The name of the id in the script must correspond with the id of the Combo Box. In the example below I used some extra options.

<xp:scriptBlock id="scriptBlock1">
<xp:this.value><![CDATA[
$(document).ready(
function() {
x$( "#{id:comboBox1}" ).selectBoxIt({
// Uses the jQuery theme for the drop down
theme: "jquery",  
// Uses the jQuery 'fadeIn' effect when opening the drop down
showEffect: "fadeIn",
// Sets the jQuery 'fadeIn' effect speed to 400 milleseconds
showEffectSpeed: 400,
// Uses the jQuery 'fadeOut' effect when closing the drop down
hideEffect: "fadeOut",
// Sets the jQuery 'fadeOut' effect speed to 400 milleseconds
hideEffectSpeed: 400,  
// Sets default text to appear for the drop down
defaultText: "Select a Category"
});
});
]]></xp:this.value>
</xp:scriptBlock>

AMD Loader Fix
Finally, the jQuery file jquery-ui.js needs to be adjusted. Reason: newer jQuery plugins try to use its AMD loader, but that doesn't play well with the Dojo implementation in XPages. The source code of the library can be adjusted in a very simple way with just a slight modification.

1. Go to the WebContent Folder and select the JavaScript file select2.js
2. Select Open With - Client/Server JS Editor
3. Removed in the second line define.amd and replace it with false
4. Save the JavaScript file select2.js

Note: See also other solutions for the AMD loader fix described in the blog post Bootstrap Plugins in XPages Part VI - jQuery and JavaScript AMD (Asynchronous Module Definition) Fixes.

Basic Setup Combo Box in XPages
There is no empty tag required as a first option for the display of an placeholder.
<xp:comboBox id="comboBox1">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:var lookup = @DbLookup("", "byKeyWord", "Category", 2);
return lookup;
}]]></xp:this.value>
</xp:selectItems>
</xp:comboBox>

The result is a Bootstrap look and feel Select Box 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">
<xp:this.resources>
<xp:script src="/JQueryXSnippet.js" clientSide="true"></xp:script>
</xp:this.resources>
<link type="text/css" rel="stylesheet" href="selectBoxit/css/jquery.selectBoxIt.css" />
<script src="selectBoxIt/jquery-ui.js"></script>
<script src="selectBoxIt/js/jquery.selectBoxIt.js"></script>
<xp:scriptBlock id="scriptBlock1">
<xp:this.value><![CDATA[
$(document).ready(
function() {
x$( "#{id:comboBox1}" ).selectBoxIt({
// Uses the jQuery theme for the drop down
theme: "jquery",  
// Uses the jQuery 'fadeIn' effect when opening the drop down
showEffect: "fadeIn",
// Sets the jQuery 'fadeIn' effect speed to 400 milleseconds
showEffectSpeed: 400,
// Uses the jQuery 'fadeOut' effect when closing the drop down
hideEffect: "fadeOut",
// Sets the jQuery 'fadeOut' effect speed to 400 milleseconds
hideEffectSpeed: 400,  
// Sets default text to appear for the drop down
defaultText: "Select a Category"
});
});
]]></xp:this.value>
</xp:scriptBlock>
<xc:ccLayout><xp:this.facets>
<xp:panel xp:key="facetMiddle">
<div class="col-md-7">
<h3>SelectBoxIt</h3>
<h4>A jQuery plugin that progressively enhances an HTML Select Box into a single option dropdown list. The dropdown list can be optionally styled with Twitter Bootstrap, jQueryUI ThemeRoller, or jQuery Mobile, optionally animated with jQueryUI show/hide effects, and works on Desktop, Tablet, and Mobile browsers.</h4>
</div>
<div class="col-md-7">
<xp:comboBox id="comboBox1">
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:var lookup = @DbColumn("C1257C43:002CD36F", "($ChooseResourceNotes)", 0);
return lookup;
}]]></xp:this.value>
</xp:selectItems>
</xp:comboBox>
</div>
</xp:panel>
</xp:this.facets>
</xc:ccLayout>
</xp:view>

For more information: Documentation SelectBoxIt

Friday, 7 October 2016

My IBM Champion Nominations for IBM Social Business Part 1


The nominations for IBM Champion Social Business are open since October 3 and will remain open through November 14. In this blog post part 1 of my IBM Champion nominations. These great people have made, in my opinion, a significant contribution to the community during the past year.
It's been a pretty amazing year and in my opinion the following people were also the greatest influencers of IBM Social Business.

My first IBM Champion Nominations for IBM Social Business.

Frank van der LindenEric McCormick
John JardinPaul WithersDavid Leedy

Hopefully this blog post gives some inspiration to submit a IBM Champion nomination if you have not already done so. Why, because they deserve it!
So take the opportunity to nominate an influencer of IBM Social Business now. Nominations for the 2017 IBM Champion program will be accepted through November 14.
Say thank you, like I did, and Nominate an IBM Champion!
If you need information about someone you want to nominate then take a look at his or her LinkedIn profile. Concerning the nomination form, just fill in what you know and submit the form!

The IBM Champion program recognizes innovative thought leaders in the technical community and rewards these contributors by amplifying their voice and increasing their sphere of influence. An IBM Champion is an IT professional, business leader, developer, or educator who influences and mentors others to help them make best use of IBM software, solutions, and services.

Nominate an IBM Champion : IBM Champion Program

More information about the IBM Champion Program: IBM developerWorks - Champions

Thursday, 6 October 2016

Quick Tip: Update Readers and Authors Fields Using LotusScript (UI Document) - Adding New Values


During the past months I have worked a lot with LotusScript. One of the questions I came accross was how to add a value to a Readers or Authors field in the UI document using LotusScript. First a little background information. In daily practice, I make extensive use of Userroles in the Access Control List which are assigned to specific User Groups in the Access Control List. Based on these Userroles document access is granted based on these Userroles in the Authors and Readers Fields in the specific document.
Basic idea is to grant Edit or Read Access to specific User Groups depending on where the document is located within a certain workflow. More on that in one of the next blog posts.
In this specific case there was a value missing whereby certain groups of users were unable to read the documents.
In the example below my solution, in which the Readers Field including the new Value is stored back to the UI document using LotusScript.
Note: In the example below I get the values (uidoc.Document.GetItemValue) of two fields, Username and OrganizationalUnit, from the selected UI document in a View and add these values to a Readers Field.
The LotusScript Agent with the following code I use on selected documents in a Notes view to update the Readers (or Authors) fields.


Sub Initialize
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim s As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim fieldValue As Variant
Dim fieldValue2 As Variant

' check if document is selected
If Not ws.CurrentDocument Is Nothing Then

' document is selected
Set uidoc = ws.CurrentDocument' init
End If

fieldValue = uidoc.Document.GetItemValue("FIELDNAME1")
fieldValue2 = uidoc.Document.GetItemValue("FIELDNAME2")
Dim item As NotesItem
Dim readersList(4) As String
readersList(0) = "[USERROLE]"
readersList(1) = fieldValue(0) '@UserName
readersList(2) = "[USERROLE]"
readersList(3) = "[" & fieldValue2(0) & "Reader]" 'OrganizationalUnit Reader(s)
'readersList(4) = "[USERROLE]"
readersList(4) = "[NEWUSERROLE]" ' New Value

'readers
If uidoc.Document.HasItem("Readers") Then
Set item = uidoc.Document.GetFirstItem("Readers")
Call item.Remove
End If
Set item = New NotesItem(uidoc.Document, "Readers", readersList, READERS)

' save document
Call uidoc.Document.Save(True, True)

End Sub

As I mentioned in a previous blog post, Quick IBM Notes Tip: Administrative LotusScript Agent to Update Field Values on Selected Documents in View ,you can also use the Agent Update Field On Selected Documents. In this case, the existing Userroles and the new value should be included in the field 'Enter Field Value' seperated with a colon.

There are always more solutions for one question.

Wednesday, 5 October 2016

iNotes 9.0.1 FP7 IF1 - Addresses "Formula Error" issue when accessing Domino 9.0.1 FP7 Available for Download on IBM Fix Central

IBM released the iNotes 9.0.1 FP7 IF1 - Addresses "Formula Error" issue when accessing Domino 9.0.1 FP7 on IBM Fix Central today.
The Interim Fix addresses the problem that when an iNotes user opens their mail file on a Domino 9.0.1 Fix Pack 7 server, a "Formula Error" appears.


More information about the problem in the technote: iNotes users receive "Formula Error" when accessing Domino 9.0.1 Fix Pack 7 server.

The Interim Fix can be downloaded on IBM Fix Central.




Tuesday, 4 October 2016

The Future of IBM Notes Domino and XPages Revealed ?

On November 3rd a very interesting webinar will be organized by T.L.C.C and Team Studio, IBM Presents the IBM Notes & Domino Roadmap by Barry Rosen (IBM Offering Manager) and Uffe Sorensen (IBM Social Collaboration Director, EMEA). The registration for this webinar is available on the T.L.C.C website.


Content
Barry and Uffe will review the latest updates on IBM Notes and Domino as well as IBM Verse On-premises and related Cloud solutions. They will discuss the future directions and support for IBM Notes and Domino and the deliverables over the next 12 to 18 months as IBM transitions to using Feature Packs for delivering future enhancements.
There will be time for questions and answers at the end of their presentation.

The main question for me is whether more information will be given about Application Modernization and the future of XPages.
Bill Malchisky has recently written a number of blogspot about the IBM Notes Domino Roadmap, A Conversation with Barry Rosen, at IBM: Part IA Conversation with Barry Rosen, at IBM: Part II and IBM Verse On-premises Third Post: Updated Schema, New Features. In these blog posts you can find the information about the IBM Notes Domino Roadmap given by IBM during ICON UK 2016.
So let's hope to get more information about IBM Notes Domino, IBM Verse On Premises and especially on the Roadmap Application Modernization and the future of XPages during this webinar.


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 September 8th , Take a Trip Into the Forest - A Java Primer on Maps, Trees and Collections by IBM Champion Howard Greenberg.

Monday, 3 October 2016

Nominate an IBM Champion - Nominations OPEN!



It’s that time again – time to nominate someone (or yourself) to become an IBM Champion. Nominations open today, October 3, and will remain open through November 14.

Who are IBM Champions?
IBM Champions are not IBMers. Instead, they are customers, business partners, developers, and consultants who are being recognized by IBM both for their knowledge and for extraordinary contributions to our communities. IBM Champions are experts in their fields and share their knowledge as speakers at IBM and user group conferences, as well as via blogs, tweets, forums, articles, videos and more. IBM Champions are active in user groups and meetups, they bring developers, customers, and partners closer together to make the most of IBM technology. IBM recognizes IBM Champions in Analytics, Social Business, Power, and Cloud, including Middleware.

Who should be nominated as an IBM Champion?
Well, here are the detailed criteria (also described below), but maybe what would help are some examples of people who might be IBM Champions: The person in your company who knows everything there is to know about your IBM software or hardware and makes it all work together and is always the one answering everyone’s questions. The person writing articles or books about IBM technology. The person with a blog who investigates and covers IBM technology. The person who runs the local meetup or user group covering IBM technology. The person whose Twitter stream is always sharing what they’re building with IBM technology. The person making YouTube videos about developing with IBM technology. The person who has a couple of sessions every year at IBM and user group conferences and events… Those are all people who might be IBM Champions…

Criteria / Guidelines
The IBM Champion program requires IBM advocacy and influence outside one's own organization or customer engagements.  We also seek individuals that have significant contributions in at least 2-3 areas as defined below.

Significant contributions - a contribution, executed multiple times or for an extended period of time.
  • Examples include: 
  • Blogging regularly
  • Tweeting regularly (on topics relevant to our industry, but not necessarily IBM-specific tweets)
  • Speaking at multiple events in a calendar year
  • User Group Conference Planning Committee member (involves the execution of a conference or a part of the conference over a period of several months)
  • President or Board member of a worldwide or local user group for a period of 1 year
Contribution Areas - participation in at least 2 contribution areas are required; 3 are recommended.
More information about the Criteria / Guidelines: IBM developerWorks - Nominations Open

Nominate an IBM Champion : IBM Champion Program
More information about the IBM Champion Program: IBM developerWorks - Champions

IBM Verse (On Premises) - The #NewWayToWork


IBM Verse On Premises is on track an will be shipped before the end of 2016 as indicated in the appended tweet from Ed Brill. Very good news!
Below some videos with practical tips published by IBM Social Business.


IBM® Verse is a powerful email hosting solution that enables users to access their business communications from a laptop or desktop browser or from a mobile device. This email and business messaging experience is based on an innovative user-centric design, including social analytics and advanced search capabilities. IBM Verse helps users quickly find and focus on what content is most important, empowering them to build stronger working relationships while optimizing business results.

IBM Verse: 1 - Track Your Actions
How do you keep track of what you need to do in your inbox? If you mark something as unread, how do you differentiate between that and other unread messages? If you flag messages, how do you know what that flag is reminding you to do?
With IBM Verse you can easily keep track your actions and set reminders for the items in your inbox and stay on top of what you need to do. Just one #NewWayToWork made possible with IBM Verse.



IBM Verse: 2 - How do you track what you are waiting for?
How do you keep track of what other people need to get back to you? How do you ensure that they get it back to you on time?
With IBM Verse you can easily keep track of the messages that are awaiting response and make sure you know what's due back and from whom. Just one #NewWayToWork made possible with IBM Verse.



IBM Verse: 3 - How do you know what's next?
How do you know what your day looks like? How do you know what your next meeting is, or what the conference call number is for it?
With IBM Verse you can easily see what's coming up during your day and quickly access all of the right information for you upcoming meetings. Just one #NewWayToWork made possible with IBM Verse.



IBM Verse: 4 - How do you prepare?
How do you quickly get someones contact details? Or find all the messages from that person? How do you find out who all those people on CC are?
With IBM Verse you can quickly access contact information or start a chat with them. Or you can filter for all of their messages to ensure you have the right one. With Team Analytics, you can see all of the people on copy for a message and how they relate to you so you know who is and isn't in the loop.
Just one #NewWayToWork made possible with IBM Verse.



IBM Verse: 5 - How do you share?
How do you share messages with your team? Or promote your successes? How do you share files with team members and clients?
With IBM Verse you can share a message straight to a blog to enable collaboration with others. And with built in Cloud Files storage you can quickly share documents back to clients and team members without filling their inboxes or sending large attachments.



IBM Verse: 6 - How do you search?
How do you find the message that you are looking for? How do you filter content to show only the most relevant results? And when you've found the right content, how do you quickly check that the message you are looking for is the right one?
With IBM Verse you can quickly search, sort and filter to find the messages you need, and preview files and documents to check it's exactly the one you want.