Domino with the new improved X

New color picker in Chrome dev tools

Posted by MarkyRoden on October 26, 2015

I just noticed – in chrome dev tools when you click on a color – you can use a selector to pick an existing color from the page






Posted in Chrome Dev Tools | Leave a Comment »

How to easily hide an XPages CKEditor toolbar

Posted by MarkyRoden on October 20, 2015

Today’s random requirement was to be able to provide a Rich Text field without the user realizing that it was. The requirement derived from modernizing an existing application and the need to retain field type for notes client users more than web users.

So I did I quick google and did what every good developer did – stole the idea – in this case directly from Jesse


I was able to hide the toolbar on the CKEditor by making a new toolbar which was completely empty.

<xp:inputRichText id="editor1">
        <xp:attr name="toolbar">
        	<xp:this.value><![CDATA[ [ ] ]]></xp:this.value>


Posted in XPages | 1 Comment »

OneUI ? IE7? Seriously…………? Another one of *those* days…..

Posted by MarkyRoden on September 30, 2015

Working with a client and we are trying to insert some Bootstrap code into a OneUI site running on IE11 – everything was working smoothly until we actually tested in IE11. (Of course we developed using Chrome – well who wouldn’t….)

Compatibility Mode

So finding the root cause of the problem was simple – Compatibility Mode being run on the customer intranet – AAAAAAh yes that old chestnut – well we overcome that issue with a phaseListener as documented by Mark Hughes many years ago.

But that did not fix the layout issue – IE=edge was in the header and everything else looked just fine…..

Then I noticed this in the Page HTML….


but I look at the page source and I find this……no Class

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”&gt;
<html lang=”en”>

Oh OneUI you old devil

So after some digging I found this included in the HTML


and there, in the code……

/* Copyright IBM Corp. 2010, 2013  All Rights Reserved.              */

document.getElementsByTagName("html")[0].className+=" lotusui_ie lotusui_ie7";

OH MY……….so what is happening is that the Notes Server is detecting that the IE11 Compatiblity Mode browser is actually trying to behave as IE7. And it is adding an IE7 style sheet, as the page is loaded, overriding the theme’d OneUI CSS which is being added earlier up the HTML DOM (yay cascading stylesheets I guess…)

Easy fix.

Naturally we are using jQuery within the page so the classes can be easily removed with the following code at the end of the XPage

$(document).ready(function() {		
	//This is HACK CODE to remove the lotusui_ie7 class which is 
	//programmatically added to the page by OneUI after the page is loaded in IE7 compatibility mode
	$('html').attr('class', ' ');


Posted in XPages | 3 Comments »

MWLUG 2015: Websockets session video and slide deck

Posted by MarkyRoden on August 26, 2015

The following presentation was given at MWLUG 2015 in Atlanta Georgia. If you have any questions please let me know :)

This was very kindly recorded by my good friend David Navarre and rendering it to youtube did not apparently help his insomnia. Not sure what to read into that :)

Posted in MWLUG, WebSockets | 6 Comments »

Thank you Richard, et al for MWLUG 2015

Posted by MarkyRoden on August 25, 2015

Last week I attended MWLUG 2015 in sweaty Atlanta, GA and had a great time. I wanted to say a heartfelt thank you to Richard Moy, Lisa and Darren Duke, Ray, Tony, Ulrich and everyone who contributed to a great conference. There is a significant amount of effort which goes into the conference as Richard explains. What people also do not appreciate is that Richard is personally in the hole for the conference costs unless the conference is a success. I don’t think there are many of us who would be able to do that, let alone have the balls to do it.


My personal highlights:

  • Speaking with Ryan Baxter on Bluemix and XPages. Being able to show a drone being controlled from an XPage (and it works in XPiNC as well) was and probably always will be, the coolest XPages demo ever :)
  • Seeing two new speakers who I have encouraged in the past (Shean and Steve Z) actually take up the challenge, do it really well, and thoroughly enjoy themselves. New Addicts are born.
  • Shean McManus proudly announcing that he is moving jobs to start working at PSC
  • Drinking beer at a session for the first time ever – yes seriously the first time ever –  (thanks Eric and ultimately Rob Novak)
  • Meeting Csaba finally. I was very touched that he said to me that the reason he came to the conference was to listen to me speak. That’s really cool and very humbling!!
  • Meehans, how convenient and a fantastic way to encourage dialog
  • Pete Janzen, for so many things which brought a smile to my face :)
  • Spending time with Kathy, Brad, Eric, Steve, Richard and everyone else involved at the conference
  • and everything else I forgot……

thank you all :)


Posted in MWLUG | Leave a Comment »

The coolest XPages demo ever – revealed

Posted by MarkyRoden on August 20, 2015


During the AD105 presentation at MWLUG this afternoon, Ryan Baxter and I demonstrated how you can use an XPages application to control a Drone.

We were able to make it take off, take a picture and then land, all from an XPage application interface.



For more on how this works check out Ryan’s Video :)

Posted in Bluemix, XPages | 4 Comments »

PSC a year later: A new role and having so much fun

Posted by MarkyRoden on August 10, 2015

So just over a year ago I got a promotion at PSC and they asked me to go from being a remote worker to working out of the main office. It made sense for both of us and allowed me to learn more about the business, above and beyond developing/managing the projects I already had.

My wife and I moved the family to Schaumburg IL, from Northern Virginia. Everyone said Chicago was a wonderful place and #$!*in’ cold in the winter. They were right.

So another year on and my role has changed again, I am now a Principal Architect at PSC and the chair for the new Technical Committee. My role is designed to allow me and PSC to grow technically, improve overall delivery, support new sales opportunities and starting looking to new technologies on the horizon. I honestly have the role I have always wanted, not just the job(s) I could do. I am really excited.

Over the past few months ago things have been hectic in the XPages team at PSC. As well as the new role I have also inherited a number of responsibilities around our IBM technologies, vacated by Andrew when he moved on to a new position. I have broadened my outlook on technical stack, created my first Azure node.js application, created a docker container for the first time and created my first Cloud Hybrid application. The list of things I want to play with got a lot longer……!

As of this week are the busiest we have ever been with 6 full time XPages developers working on exciting projects ranging from Domino / Google Drive integration to a Bootstrap-enabled XPiNC application enabling offline project management work in rural Africa.

Joining PSC was the best thing I have ever done for myself, professionally. Moving to Schaumburg a year ago was the right thing to do and the right time.

I am really excited………and having so much fun :)



Posted in Just Marky | 5 Comments »

MWLUG 2015 – IBM Bluemix: Expand Your Horizons – Coolest demo ever !

Posted by MarkyRoden on August 4, 2015

In two weeks time Ryan Baxter and I will be taking the stage to talk about IBM Bluemix and how Domino/XPages developers have a whole new vista of opportunities open to this in IBM Bluemix.

I look forward to seeing many old friends and new faces there – please stick around to the end for what will hopefully be,

The coolest demonstration in the history of MWLUG


Thursday August 20th – 4:00pm AD105: IBM Bluemix: Expand Your Horizons


As a developer, you always need to add new tools to your developer tool belt.  Bluemix gives you many options to take what you already know and build upon it, allowing you to continuously reinvent yourself and your apps. Whether you are an XPages developer looking to leverage new technologies like Watson or Docker, or you want to start exploring new languages and frameworks like the MEAN stack, Bluemix has something to offer you.  Using the powerful deployment models and integration services in Bluemix, it is also easy to build solutions that combine the new with the old making it easy to build upon the work you have already done.  Expand your horizons, improve yourself and join us for a whirlwind tour of what Bluemix has to offer you!


Be there – or hear about it from your friends……….

Posted in Bluemix, MWLUG, XPages, XPages in Bluemix | Leave a Comment »

An introduction to creating applications in the Bluemix environment – now available

Posted by MarkyRoden on August 3, 2015


An introduction to creating applications in the Bluemix environment

If you missed our recent webcast, “An introduction to creating Domino applications in the Bluemix environment”, don’t worry – it’s now available on-demand. You can view both the video replay and presentation easily right from your desk.

Watch this webcast and learn how to:

  • Easily get Bluemix up and running and how to create you own XPages applications quickly
  • Integrate with the other services available within the Bluemix ecosystem
  • Maximize the new and exciting possibilities this integration opens up to the Domino community            


Posted in Bluemix, SocialBizUg, XPages, XPages in Bluemix | Leave a Comment »

Bluemix Monitoring and Analysis – Diagnostics version

Posted by MarkyRoden on July 21, 2015

In this article I will show how to utilize some aspects of the paid Bleumix Monitoring and Analysis service to look inside the performance of your applications.

State of shock

I am in a state of shock, as I am writing this post I actually broke my application, and used these very tools to figure out why……………..COOL !!!


The paid version of Bluemix monitoring and analysis costs $0.03 per application her hour – which equates to about $21 a month per app. Once you turn this on it starts charging – and this is completely outside of the 375GB/Hour free cost. In a week I racked up $5 in charges cos I went away for an extended weekend.



I hooked that up to my application and immediately started to see more information about it than the free package


Clicking on the Diagnose button gives me access to more information about my slowest requests


Click on one of the request name options then shows me more information about the response time of that item



So how did I break the application?

I am putting together a websockets demo for MWLUG and as part of looking at this monitoring service I started to refresh my website repeatedly, quickly in multiple browsers. This blew up the application and it crashed


Out of memory……weird – how come?

Well as I look at the monitoring tools I can clearly see that the baseline application with no one using it – was hovering over 100M


So clearly we need to add more memory


All this preaching about scaling and paying for what you need is all well and good until you actually see it happen. In less than 30 seconds I have more memory applied


and after a quick restart – we can see that we are now not pushing the limit of allocated memory


This is fantastic – because I plan to do a live demo of this application in a room full of people next month – there is a really good chance that this would have crashed when 30 people connected to it – and now there isn’t – and that is freaking awesome !!!!


Posted in Bluemix, DevOps | Leave a Comment »