198 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
Latest 7 Posts
Go Evergreen
Tue, Oct 17th 2017 57
Change is in the Air
Fri, Sep 1st 2017 1
Open Source Contribution
Fri, Jun 16th 2017 4
Docker Quick Tips
Fri, Apr 28th 2017 3
Notes in 9: Dev Tools Grab Bg
Tue, Apr 4th 2017 2
Custom JSON Serialization With GSON
Mon, Jan 23rd 2017 6
Recapping 2016
Mon, Jan 16th 2017 3
Top 10
Go Evergreen
Tue, Oct 17th 2017 57
Building Java Objects From JSON
Thu, Jan 22nd 2015 10
Headless DDE Builds With Jenkins CI
Fri, Mar 25th 2016 8
Server REST Consumption with Authentication
Mon, Aug 18th 2014 7
When You Need a Comparator
Thu, Jan 8th 2015 7
Notes in 9: Docker + SonarQube
Wed, Feb 24th 2016 7
XSLTProc in the Buff
Thu, Mar 24th 2016 7
SCM Survey Results
Tue, Apr 12th 2016 7
Using Node to Connect to ... Almost Anything
Mon, Apr 18th 2016 7
Manually Renewing HTTPS w/ Let's Encrypt
Wed, Jul 27th 2016 7

ICONUS and Other Topics
Twitter Google+ Facebook LinkedIn Addthis Email Gmail Flipboard Reddit Tumblr WhatsApp StumbleUpon Yammer Evernote Delicious


If you were able to attend the ICON US (formerly IamLUG) virtual event, then you lucked out. There were a great many good sessions that I was sadly not able to attend all of, on account of unavoidable travel (more on that in a minute). It was a great event, had a decent turn out for participation, and it’s been great to see the “replays” coming up as Chris has been posting them. So far the keynote and IBM special announcement are available for replay, though you can view all of the session info for ICON US right on the website or see the announcements Chris posted on his blog.

ICON US Session

Being a good “lazy” developer (in the sense of efficiency), Shean P. McManus and I did a superhero team-up for our session. Not only are team-ups all the rage in film right now, but Shean and I have a similar take on what we can accomplish with Domino and XPages in a number of areas. By dividing and conquoring, we were both able to focus on more of the moving parts and worry less about the entire session. It was a great honor to work with Shean and I hope we get a chance to do so in the future.

Why a title of “Normalizing XPages Web Development”? By developing consistently across platforms with the decoupled front-end/back-end association, our data becomes available as a service, letting us focus on what the back-end’s strengths are, and the front-end can be focused on what its strengths are. All in all, not only do we open the doors to all sorts of front-end goodies, but it makes good long-term maintenance sense as well.

The session itself and included demonstrations of:

  • modern web app frameworks for Domino/XPages
    • our demo app made use of an AngularJS front-end
    • this front-end consumed JSON APIs (REST-like) from XPages
  • more “traditional” XPages implementations of RESTful APIs with JSON
    • xe:restService implementations of xe:customRestService in SSJS, xe:viewItemFileService, and even an xe:documentJsonService snuck in there (it gets used as a fail-over from DDS, if you’re using local web preview)
    • these were all implemented in a single api.xsp XPage, which is both familiar and convenient, without any of the “fiddling” of a DesignerFacesServlet that may put people off (this was covered in the session and slides)
    • updating via a LotusScript agent was demonstrated (for those “stuck” between a rock and a quarry)
    • and Domino Data Services made an appearance (though you should really take the full implementation into consideration before exposing full, direct CRUD operations to anyone with ACL access, or facing it externally)
  • task runner implementation was demonstrated (via Grunt) for optimized client-side assets
    • minified HTML, CSS, and JS
    • concatenated HTML partials (converted to templates within JS scripts)
    • uglified JS
    • client-side libraries installed and managed via bower
    • concatenated and minified libraries (Bootstrap, Angular)
    • images (if any) optimized
  • scaffolding the front-end app with Yeoman and the generator-angular generator to stand up a front-end app quickly

With an agenda like that and a only one hour to cover it all in, I’m really glad Shean had my back with a lot of the back-end topics and slide coverage. Another obstacle we overcame was my travel complication, which ended with me camping out with my laptop in a Starbucks in rural, eastern Ohio. I’m sorry the audio was fairly junky, but I hope it was still clear enough to understand and worthy of listening to.


Shean and I started from a pretty stock looking NSF, with the front-end app residing in the NSF’s WebContent directory, which serves out the files like any static web asset. The original version can be found on Bitbucket in a Mercurial (Hg) repository. When I started incorporating some of the task runner components, I switched to a git repository, mostly so I could mirror it to GitHub, where I tend to keep all my demos and session files.

The Future

I have several projects all coming to a head at about the same time, so hopefully I can get a couple wrapped up so I can blog about them. My day job is keeping me plenty busy as well, so my blogging frequency may be down a bit during the upcoming month or two, but I’ll still be here.


Again, thank you to those that attended Shean and my session and let’s all build better apps! :beers:

May 19, 2016
6 hits

Recent Blog Posts
Go Evergreen
Tue, Oct 17th 2017 4:00p   Eric McCormick
Happy 🎂 Day IE 11! On the 17th of October in 2013, Internet Explorer 11 was released from Microsoft. That means that as of today, this popular* browser is now four years old and, with all respect to it, it really ought to go. Good day sir. I said good day! Evergreen Browsers What makes a browser, or any software for that matter, evergreen? Well, the basic requirements for a browser, or any piece of software for that matter, are specifically the support of automatic updates, that bring in:
Change is in the Air
Fri, Sep 1st 2017 1:00p   Eric McCormick
I’m Back What Can I Say? In Case You Missed It If you find yourself asking “where was Eric?”, this should summarize it all: Instead of trying to do everything all summer, I tend to take a break from blogging and a lot of open source endeavors over the summer. It means I can focus on family time along with yard and house projects. Ah... Summer That’s all paid off and, with fall fast approaching, I’ve found myself wanting to start those things back up; ramping up into winter when
Open Source Contribution
Fri, Jun 16th 2017 5:00p   Eric McCormick
Intro It’s time to clear some of the backlog. I started this post a few months back and it should probably be sent on its way to clear the pile of drafts I haven’t finished yet… 🤔 I have a bit of a passion for open source software. My preferred distribution of Linux has been Ubuntu since 4.10, the Warty Warthog (I was even a minor contributor on a short lived, wildly popular project that aimed at improving the Ubuntu experience early on), I’ve enjoyed most open source projects I’ve
Docker Quick Tips
Fri, Apr 28th 2017 3:00p   Eric McCormick
Docker If you have been living under a rock, Docker is pretty much amazing. If you haven’t been living under a rock, you may be getting used to the idea of Docker, but still have the occasional question. I’ve found myself using Docker in increasing amounts and complexity over the last year or so. I’ve recently decided to start recording some of the tasks I’ve found useful, some of which may be less familiar to a beginner. If you’re so inclined, check out the playlist, embedded here.
Notes in 9: Dev Tools Grab Bg
Tue, Apr 4th 2017 1:00p   Eric McCormick
Intro I’m on Notes in 9 again, with a “grab bag” of a couple of tools I’ve put together recently that may be of a varying degree of useful for other Domino + XPages developers. You don’t need these to do development, but for the right person, they may help with their development workflow. Also of note, with the upgrade to Swiper with the FP8 release of Notes + Domino Designer, the limitations previously mentioned are no longer there! This means that my second tool I talked about, node-
Custom JSON Serialization With GSON
Mon, Jan 23rd 2017 2:00p   Eric McCormick
Intro Here’s a curious one, in which I found myself with a limitation of not being able to output JSON with scientific notation values. wait, what? If you’re wondering why that is, since both JSON and JavaScript allow scientific notation of number values, you are absolutely correct and that’s a great question. The strange thing was that I found myself outputting perfectly valid JSON to be consumed by something specific which didn’t allow scientific notation. I’m not entirely sure wh
Recapping 2016
Mon, Jan 16th 2017 3:00p   Eric McCormick
Intro Per usual, I’ve had a little break between things and decided to catch up with a bit of a summary of some recent things that each didn’t necessitate their own post. 2017 IBM Champion For starters, I’m honored to be named an IBM Champion in Collaboration Solutions (/ Social Business) for the third time. This would be a hat trick in (ice) hockey 🏒. I’m happy to be recognized with a group of people, developers and more, who are passionate about both their work and the plat
Rebirth: An App of Ice and Fire
Wed, Dec 14th 2016 4:00p   Eric McCormick
Intro If you read my blog for any of the Saga of Servlets series, then I hope that you’re excited I’m returning to the application I put together for it. This time, it’s as a conversation piece in regards to some of the build process modernization I engaged in recently, in order to unify the code base in its git repository. In any case, it’s helping pave the way forward before I update some of the back-end elements, when it will again be a talking point for some additional rework and
Scripting Server Upgrades
Fri, Nov 11th 2016 2:00p   Eric McCormick
Intro This one might be slight departure from my usual, but those that have followed my blogging this past year will have noticed a bit more of a leaning towards DevOps in some of my posts. This echoes a lot of what I’ve been concluding as increasingly a necessary part of development; that we need to consider a picture large enough to encompass the themes surrounding development functions and, like any good developer (DRY ~= “lazy”), automate the heck out of it. Overview I had p
Everything Old is New Again
Mon, Oct 24th 2016 8:00p   Eric McCormick
Intro Every so often, it’s good to reassess one’s position. This is good from both a standpoint of being inquisitive and even interrogative, but when it comes to the ever changing landscape of the front-end development space, it’s not only inevitable, but must be embraced for what feels the need to “stay afloat”. I’m changing theme of my blog, hopefully for the better. The previous theme was good and did a great job of getting things started, but while I had forked a copy of a good

Created and Maintained by Yancy Lent - About - Planet Lotus Blog - Advertising - Mobile Edition