|Latest 7 Posts
| Dojox Charting Update – Part One|
Thu, Jul 20th 2017 88
| Call to Action: Designer Lite Plugin|
Wed, Jun 28th 2017 4
| CRUD, NoSQL, Domino and Workflow|
Thu, Jun 22nd 2017 5
| Swagger for Domino Developers – Part Four: Generating Domino Design Elements|
Fri, Jun 16th 2017 11
| Some Recent XPages (and Plugin) Learning Points|
Wed, May 24th 2017 5
| Bootstrapv3 Form Table and Edit Box Width|
Tue, May 23rd 2017 4
| Engage Review and Slides|
Thu, May 11th 2017 5
| Dojox Charting Update – Part One|
Thu, Jul 20th 2017 88
| Understanding SSJS|
Wed, Feb 5th 2014 13
| REST Services, JsonJavaObject and Dates|
Sat, Sep 24th 2016 13
| IBM Connect 2017|
Mon, Feb 13th 2017 12
| Mastering XPages 2nd Edition Released|
Tue, Apr 22nd 2014 11
| Java getAllDocumentsByKey / getAllEntriesByKey Problem With Doubles|
Tue, May 20th 2014 11
| XPages Dialog Control and Partial Refreshes|
Thu, May 28th 2015 11
| Swagger for Domino Developers – Part Four: Generating Domino Design Elements|
Fri, Jun 16th 2017 11
| 2014: The Year Notes and Domino Stopped Looking Like Notes and Domino|
Sat, Feb 1st 2014 10
| Adding Bootswatch Themes to Bootstrap4XPages|
Mon, Apr 7th 2014 8
||Intec Systems | IBM Business Partner | Collaboration Solutions Provider » Blog |
||Collaborative Solutions for Progressive Businesses|
|| 2017-07-18 04:40:02 Failed to parse RSS file. (Not well-formed (invalid token) at line 1, column 1). |
This could be a simple time out issue. Validate your feed here: feedvalidator.org or validator.w3.org
|Feed Last Checked
||Jul 20, 2017 1:45:10 PM EST. Realtime Update:
||Fleet, Hampshire UK
| Recent Blog Posts
Dojox Charting Update – Part One|
Thu, Jul 20th 2017 1:25p Paul Withers
It’s over three years since my last blog post on the charting options available with Dojo. At that time the version of Dojo in XPages would have been later than 1.6, when a major overhaul of Dojo for AMD processing had taken place. But then and afterwards I didn’t revisit the code to load Dojo charts. This week I needed to create some charts again, so took a step back and looked at the documentation on the Dojo site (there’s also the reference guide). Although a lot of the func
Call to Action: Designer Lite Plugin|
Wed, Jun 28th 2017 12:15p Paul Withers
At Engage I hosted a round table discussion titled “Domino Next Generation IDE“. The discussion was around giving / promoting CRUD API access to databases, views and forms, as well as managing scheduled processes (which in the NSF world is handled as agents). The discussion was useful and covered a number of aspects. Since then I’ve digested and distilled the feedback I received, done some further investigation, and put together a spec. That has now been published on OpenNTF
CRUD, NoSQL, Domino and Workflow|
Thu, Jun 22nd 2017 8:30p Paul Withers
Swagger for Domino Developers – Part Four: Generating Domino Design Elements|
Fri, Jun 16th 2017 12:21p Paul Withers
This final part has taken a while, because of problems that will become apparent during the blog post! But I’ve finally overcome them, in a (hopefully) future-proofed manner, which I’ll also go into.
Another one of Stephan Wissel’s projects on GitHub is the Swagger Domino Code Generator. If you’ve followed the other parts of this blog series and looked at the Swagger Editor, you’ll see there are various code generators for generating server-side code:
Some Recent XPages (and Plugin) Learning Points|
Wed, May 24th 2017 12:11p Paul Withers
With a recent project, I’ve been deep in the bowels of the XPages component tree and run-time, with some detailed debugging involved. This has brought a few things to my attention
Dialogs and Component Loading
I’ve been adding a component to an XPage and then using Java on page load to access it. But when I put the component in a Dialog, my code failed. The problem is that although the Dialog component is accessible, the components within it are not loaded into the component tree unt
Bootstrapv3 Form Table and Edit Box Width|
Tue, May 23rd 2017 1:21p Paul Withers
Yesterday I fought for quite some time trying to get Edit Boxes in a Form Table to go full width. It’s a starter database I’ve had for some time and converted from OneUI to Bootstrap. So I have some styles for setting the width of Edit Boxes, depending on whether I want small, medium or full-width. My CSS class for full width sets “width: 100%”. But this was being ignored.
Using Firebug I could see it wasn’t being overridden by something else. I could see that the E
Engage Review and Slides|
Thu, May 11th 2017 1:15p Paul Withers
Over the last few days I’ve been attending Engage. As ever, it was an excellent conference, with a great attendance from across Europe. (If you’ve not attended a user group recently and will not this year, put it on your list for next year, May 2018.) As ever, Theo is a brilliant organiser and the social events were great. As ever, the speakers were top quality.
The conference got off to a great start when Barry Rosen told me on Sunday evening that a free non-production entitle
Domino Server for Developers Entitlement Announced|
Mon, May 8th 2017 9:29a Paul Withers
Today at Engage Ed Brill announced that in Q3 there will be a Domino server licensing entitlement for developers. Yes, you read that correct. There are still some logistics to be finalised (e.g. access to feature packs to keep up to date), but this is great news.
I’d like to thank Ed, Barry Rosen and Peter Janzen as well as anyone else I’m not aware of who has been involved in making this happen. It’s something I’ve been speaking to Barry and Pete since IBM Connect 2016,
Intec Speakers Next Week at Engage|
Thu, May 4th 2017 12:50p Paul Withers
Next week IBM Lifetime Champion Theo Heselmans is hosting Engage, back in Antwerp, of which I have fond memories. The last time the conference was there, Tim Tripcony and I spent quite some time discussing all things XPages on a walk around the city and at the speakers dinner. I’m looking forward again to enjoying the beautiful city. This time both myself (Paul Withers) and Tim Malone will be speaking.
The Power To Believe
On Monday at 11:45 Tim Malone will be speaking with HP Dalen will b
Swagger for Domino Developers – Part Three: Mock Server and Thanks Stephan Wissel|
Mon, Apr 10th 2017 12:20p Paul Withers
Stephan Wissel – One of Our “IBM” Champions
As you may have seen, Stephan Wissel has recently left IBM to join SalesForce, as Rene Winkelmeyer and Mikkel Heisterberg did last year. because this part of my blog series will cover Stephan’s session from IBM Connect earlier this year and setting up a mock server for an OpenAPI (aka Swagger) definition, it seems a good time to thank him for his efforts over the years. His twitter feed has been very helpful in giving early noti
Swagger for Domino Developers – Part Two: Swagger Editor|
Wed, Apr 5th 2017 1:54p Paul Withers
The first step, then, is to install NodeJS. NodeJS seems to be
The Awesome New Functionality of ODA Part Two|
Tue, Mar 28th 2017 4:43p Paul Withers
Part one of this, which covers the background, is here.
Before looking at some code, it’s worth just covering performance. Obviously, on a busy production server, if you’re running code for every save of a document, code needs to be optimised. To give you an idea, here’s a snippet of conversation:
“About” is good, but something more accurate is better. This happened the following morning, early October, with code echoing event messages to the server console. The fi
ODA Update From IBM Connect: The Awesome New Functionality of ODA|
Sun, Mar 26th 2017 11:45p Paul Withers
At the end of my OpenNTF Domino API session with Stephan Wissel at IBM Connect, I showed a demo of some experimental new functionality in ODA. Hopefully those who saw it were impressed with the power and potential, especially because part of it reproduced the Watson Workspace notifications integration that the Sapho product showed in the OGS, but this was built with open source over lunch before the session.
First, I need to give some background.
For a few years now, there has been functionality
Validators, Vectors and Strings â Oh My!|
Fri, Mar 24th 2017 8:34p Paul Withers
….Or, “When is a blank value not a blank value!”
This week I hit a problem with XPages validation. I had a custom Java validator that was doing some complex validation across multiple components. The validator was affixed to a Dojo List Text Box. It had a requiredValidator as well, to ensure the value wasn’t blank. I was then doing some additional checking on the value. But my code suddenly started throwing an error on one document. Here is part of the stack trace:
Swagger for Domino Developers – Part One: Introduction|
Tue, Mar 14th 2017 6:30p Paul Withers
At IBM Connect I led a team for the Hackathon. Technically and in terms of meaningful outcome, the day was a bit of a disaster. In terms of learning and working together, it was still enjoyable. My main focus for the day was never to win. For me, the main aims were for the team to learn something, whether from one another or from the tasks and to have a good time. After all, everyone was giving up a day of their time, and if it’s not enjoyable, everyone would be best served spen
Domino and Notes Feature Pack 8|
Tue, Mar 7th 2017 9:10p Paul Withers
Today Notes and Domino Feature Pack was released. It’s good to see a developer-heavy release finally delivered. Apart from the Extension Library on OpenNTF, developers have had little to engage their interest over the last three years. But FP8 is a marquee release for developers and app dev server users.
The most noteworthy point for XPages developers is that the latest Extension Library release has been rolled back into the core, including the Name Picker, Value Picker a
OSGi Plugins (Extension Libraries) and Loading Order|
Mon, Mar 6th 2017 10:47a Paul Withers
Those who were at my session about ODA (OpenNTF Domino API) with Stephan Wissel at IBM Connect may remember him mentioning that his preferred place for adding plugins was directly on the server, because of some issues he had encountered. After Connect I asked for some clarification, so I could understand the risks, symptoms and so pre-empt any potential issues.
What Stephan and others found out when they dug into it further was that the sequence of loading OSGi plugins, or extension libraries, i
IBM Connect – Domino Application Development Review|
Sun, Mar 5th 2017 7:37p Paul Withers
This time last year, the message about Domino application development was very straightforward. Domino 9.0.2 was slated for Q4 2016, with the expectation that this would include open sourcing of not only XPages Extension Library components, but all XPages components. The XPages runtime classes would still be closed source, but things like DominoDocument datasources would be open sourced, so additional features could be added by the community and we would be able to understand how rich text is ha
IBM Connect 2017: My Sessions and Documentation Constructive Criticism Call-to-Arms|
Sun, Feb 26th 2017 8:07p Paul Withers
Last week I delivered two sessions at IBM Connect, both with strong speakers from the community.
The first session on Tuesday afternoon was GraphQL 101 with Christian Guedemann. Within an hour of reading the documentation about GraphQL, it was very apparent to me that GraphQL was a major technology for application development. And its inclusion in Watson Workspace and Watson Work Services made this conference the perfect time to introduce it to the community. It was also a good time
Intec win 2017 IBM Business Partner Excellence Award – Europe|
Wed, Feb 22nd 2017 10:27a Paul Withers
Yesterday at Connect in San Francisco Intec were announced as the winner of the IBM Business Partner Excellence Award for Europe. This Award recognises an IBM Business Partner in each geographical region who has demonstrated excellence in IBM Collaboration Solutions technology, as well as commitment, leadership and dedication to IBM and clients.
Tim Malone, Intec CEO said ‘There are many facets of a business which IBM look at before issuing this award and therefore it is due to the excepti
Watson Workspace Java SDK – 0.6.0 Released and Unit Testing Learning|
Fri, Feb 17th 2017 5:12p Paul Withers
Today I pushed up a new release of Watson Workspace Java SDK to OpenNTF. This includes all mutation GraphQL queries, namely:
As ever, the documentation has been updated and full Javadoc comments added. As before, the documentation includes examples.
This has been a big learning curve, building up my skills more on unit testing. The challenge has been that all of these mutations can only be run under a user’s authority. They fail if run jus
IBM Connect 2017|
Mon, Feb 13th 2017 7:57p Paul Withers
With a little over a week to go, IBM Connect 2017 looks set to be as busy as ever. 2016 was a challenging year as a Domino developer, testing the faith and patience of many. My attendance at IBM Connect as a speaker, Business Partner and IBM Champion may seem “business as usual”, but it has not been a straightforward journey. So I hope the experience is as positive as last year but with a more positive rest of the year.
IBM Connect Hackathon
On Monday I will be taking part in and lea
Setting Names, Readers and Authors the ODA Way|
Wed, Feb 8th 2017 12:05p Paul Withers
No matter how long you work with an API, there can still be surprises. Yesterday proved one of those for me. While troubleshooting an issue for someone with setting an Authors field in a document (it turned out there was an obscure bug that meant it was trying to recycle a String in a Vector), I shared two ways I’ve been setting Readers or Authors fields in an application using OpenNTF Domino API for a while. Then this conversation ensued:
This is, without doubt, the recommended way of cr
Git Flow, Maven, ODA and Domino FP8|
Fri, Jan 27th 2017 9:27a Paul Withers
The last few weeks quite a large amount of my work has been outside the NSF, so using more standard development tools in a more standard environment. There have been some challenges but also some refreshing experiences.
One of the big challenges for traditional Domino development is when features are requested but cancelled or fixes are required to live code while new features are in test. Fortunately, I decided from the start to do the REST service I was working on as an OSGi plugin us
Domino App Dev, Performance and Verse|
Wed, Jan 4th 2017 9:00a Paul Withers
Performance is an area that I have been very aware of with Domino, as I’ve previously blogged about. It’s an aspect I cover in basic XPages training and sessions I’ve done.
But before going any further, it’s important to realise performance falls into two distinct areas – developer performance (speed to market) and code performance (speed for users). Spending a lot of (development) time optimising performance for an app that will be used by a handful of users is rar
WWS Java SDK API 0.5.0 and GraphQL Visualisations|
Fri, Dec 23rd 2016 2:14p Paul Withers
As I’ve blogged before, over recent weeks I’ve been working with Christian Guedemann on a Java SDK for the Watson Work Services API. The documentation has been available since it was released at the end of October. There has also been a GraphiQL in-browser IDE for writing, validating and testing GraphQL queries against Watson Work Services, which is invaluable (note: you have be authenticated to Watson Workspace in the same browser for the queries to return any data).
That also has a
Tip: Copying and Pasting Java Classes in DDE|
Thu, Dec 15th 2016 11:17a Paul Withers
Earlier today I say a tweet from Fredrik Norling about a blog post he did in 2014 for copying and pasting Java code between XPages and Java agents.
Used my code to export a webservice today, great way for webservices in XPages https://t.co/GYg85tZ86C #XPages
— Fredrik Norling (@XPageDeveloper) 15 December 2016
It reminded me of something I noticed a while ago. I think it was when I was looking at the On Disk Project for an NSF while I was editing a Java agent or Script Library.
Because I sta
Intec’s Returning Champions|
Thu, Dec 15th 2016 10:36a Paul Withers
Yesterday the 2017 IBM Champions for ICS were announced during #MeetIT. It was great to see again that Intec has two champions, both returning. Tim Malone was announced as an IBM Champion for the fourth consecutive year alone with Paul Withers, who has been ever-present since the program began for ICS in 2011.
The post Intec’s Returning Champions appeared first on Intec Systems | IBM Business Partner | Collaboration Solutions Provider.
ViewScope, Full Refresh and reloadPage()|
Thu, Dec 8th 2016 3:57p Paul Withers
Recently I picked up on a discussion about managed beans, viewScope and full page refreshes. If I understood the comments correctly, the expectation was that a full page refresh would reload the managed bean.
My IBM Connect session at the beginning of this year (which is being re-run for TLCC’s webinar next week) was all about expectations and troubleshooting to verify that the expectations are correct. So I had a database already set up with everything to verify and explain what actually
Watson Work Services Java API Introduction|
Thu, Nov 24th 2016 2:45p Paul Withers
For a few weeks now, Christian Guedemann and I have been working on a Java API to send requests to Watson Work Services to interact with a Watson Workspace. I blogged about the approach recently. I was determined to avoid Java developers having to write strings of JSON data to pass as queries to Watson Work Services. Over the weekend I saw a tweet from Christian where he had incorporated the code into a Workspace Client 4 Eclipse plugin:
@guedeWebGate @PaulSWithers looking good mate
— Mat Ne
DDE Local Preview and CKEditor|
Thu, Nov 24th 2016 1:51p Paul Withers
For a long time I’ve been a strong advocate of using a local Domino server for XPages development. DDE Local preview had its place for Notes Client development, but has not had the required investment to keep pace with XPages enhancements. There are now too many quirks and workarounds required when using local preview to justify it as a viable tool. And the amount of development required to address those issues (not to mention QA and testing), even if possible do not justify the request. W
Watson Workspace and Watson Work Services|
Thu, Oct 27th 2016 3:11p Paul Withers
This week has brought the preview beta of Watson Workspace and Watson Work Services, what was previously called Toscana. These are very early days, without a doubt. Some are disappointed at the progress since the announcement at IBM Connect in February (seem screenshots can be seen here). The majority of features users take for granted in comparative products like Slack and Skype (e.g. direct messages, @mention alerts, favourites) still missing.
But there has clearly been a lot of work undertake
Whatever Happened to “XPages Extension Library: Second Edition”|
Tue, Oct 11th 2016 9:53a Paul Withers
I’ve mentioned at user groups that there is unlikely to ever be a second edition of “XPages Extension Library” and many of the reasons have been apparent for all well before now. Whatever the decision about the future of application development on Domino that IBM release, whether at the end of this year or later, I am now more convinced than ever that there will be no point in writing a second edition.
A little over two years ago, “Mastering XPages 2nd Edition” had
From XPages to Web App Part Seventeen: CrossWorlds|
Wed, Oct 5th 2016 7:08a Paul Withers
Table of Contents
Part One – The Application
Part Two – XPages Advanced 1
Part Three: XPages Advanced Database Separation
Part Four: XPages Advanced Document Wrapper
Part Five: XPages Advanced MVC Controller
Part Six: Use of OpenNTF Domino API
Part Seven: OSGi Application Development Introduction
Part Eight: OSGi JAX-RS REST Access with ODA
Part Nine: OsgiWorlds
Part Ten: Vaadin
Part Eleven: OsgiWorlds Document Wrapper
Part Twelve: Key Date Page
REST Services, JsonJavaObject and Dates|
Sat, Sep 24th 2016 10:40a Paul Withers
In REST services, the standard format for dates is the ISO 8601 format, which formats the time offset against UTC. So 24th September 2016 12:00:00 British Summer Time would be a string in the format “2016-09-24T12:00:00+01:00”. However, when you want to use that in your application, you need to convert the text string to something your application can use, which when doing a JAX-RS REST service means some flavour of Java date. java.util.Date doesn’t actually include any timezon
Thanks, David Leedy!|
Mon, Sep 19th 2016 6:15p Paul Withers
It seems very fitting that part way through a blog post about community, Marky Roden released his “Not NotesIn9” celebration of David Leedy. It’s been a pleasure to know Dave and call him a friend for so long. So, somewhat belatedly, here’s my video (I missed the NotesIn9 on embedding a video properly, so you might need to click on the button to display in full screen mode). Below it there’s a picture of Dave, if you don’t know him (sorry, couldn’t resis
The Importance of Community|
Mon, Sep 19th 2016 5:08p Paul Withers
Back in April, after Engage and an XPages on Bluemix seminar at IBM Ireland I wrote a piece called “The Future of (Domino) App Dev in a Single Word”. That word was community, and the feeling was driven by public and private initiatives around XPages and XPages development. This seems a profoundly apposite moment to revisit that sentiment.
The Evolution of XPages
Let’s step back seven years. Web development had taken off and more and more applications were being delivered for br
What’s New in Notes and Domino|
Tue, Sep 13th 2016 9:41a Paul Withers
At IBM Connect 2016 in January, IBM announced delivery of 9.0.2 in Q4 2016. But from May (I first saw this in public at the equivalent of IBM Connect Comes to You in London) IBM announced that 9.0.2 would not be delivered as expected.
There have been two important and relevant announcements recently. The first was an announcement about changes around downloading Notes/Domino files from Fix Central. The second was an announcement of extended support for Notes and Domino.
The first thing worth not
Intec at ICON UK|
Tue, Sep 6th 2016 9:05a Paul Withers
With just over a week until ICON UK, it will be a busy event for Intec.
I (Paul Withers) will be delivering a session on graph databases called “Find your data – use GraphDB capabilities in XPages applications – and beyond“. I recently blogged on my personal blog site about why I am a big fan of graph databases. I recently came across a blog post by Christian Tillmans who also seems to be a fan of graph databases. The session will focus on what graph database options are
IBM Domino App Dev Hits the Headlines|
Thu, Aug 25th 2016 7:26a Paul Withers
IBM Domino has always been very active within Germany. So it’s no surprise that online IT journal Heise Online published an article summarising recent blog posts about the current state of application development for the IBM Domino platform. IBM have shown a commitment to the platform for mail, always quick to say that Verse is still IBM Domino at the backend and already providing a closed beta for the on premises version of Verse. But the position of the platform for application developme
Thanks For The Good Times, Pete|
Fri, Aug 19th 2016 8:34a Paul Withers
As many will already have seen, Pete Janzen’s last day at IBM is today. I’ve been fortunate enough to know Pete for some years no and he has laways been a pleasure to work with. The first time I talked with him was at Lotusphere some years ago, shortly after I had started blogging. I managed to catch him in the corridor of the Swan after his session and introduced myself. I was impressed that not only did Pete already know who I was, he said he had wanted to speak to me.
SSJS Revisited: The Good, the Bad and the Ugly|
Tue, Aug 16th 2016 7:20p Paul Withers
It is a number of years now since I decided to commit to Java, for a number of reasons. The biggest were:
lack of good compile-time validation, which meant it was possible to mistype a variable name or method name
lack of templating, which meant constantly typing try/catch blocks
difficulty troubleshooting – this was before the SSJS debugger, but even when the debugger was released, I struggled to work well with it
A little while after starting with Java I had a discussion with Tim Tripc
The annual appraisal – is it still relevant?|
Thu, Aug 11th 2016 8:56a Paul Withers
It’s coming up to that time of year again, and your manager sends a calendar invite to meet for your annual appraisal. Not something you’ve been looking forward to, as it’s highly likely that your agenda’s differ. They want you to become more productive and are likely to have all sorts of new responsibilities, procedures and measurement metrics to hoist on you, and you want to know how much they appreciate you, and how they’re going to express that in financial term
JSON RPC Service, Component Tree Manipulation and OpenLog|
Thu, Aug 4th 2016 5:29p Paul Withers
Just to refresh on this, the JSON RPC Service component is allocated a serviceName, which is the