[Valid RSS] This is a valid RSS feed.


This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.


  1. <?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="" xmlns:openSearch="" xmlns:blogger="" xmlns:georss="" xmlns:gd="" xmlns:thr="" version="2.0"><channel><atom:id>,1999:blog-28395565</atom:id><lastBuildDate>Tue, 06 Mar 2018 07:53:38 +0000</lastBuildDate><title>Mark&#39;s Blog</title><description>software dev stuf...</description><link></link><managingEditor>[email protected] (Mark Ambler)</managingEditor><generator>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">,</guid><pubDate>Thu, 15 Dec 2016 00:36:00 +0000</pubDate><atom:updated>2016-12-15T09:24:04.367-05:00</atom:updated><title> 3.0.2</title><atom:summary type="text">Hi All,
  2. 3.0.2 (xpages websocket implementation) has just been released.  There are only a few enhancements to speak of in this release:
  4. 1) onlyText flag for the SocketMessage format where only the text attribute / string is sent
  7. 2) onlyData flag for the SocketMessage format where only the JSON representation of the SocketMessage data attribute is sent
  10. 3) Some performance </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Thu, 13 Oct 2016 16:03:00 +0000</pubDate><atom:updated>2016-10-13T12:03:22.751-04:00</atom:updated><title>Topics Part 2 (File Upload Fun Over WebSockets)</title><atom:summary type="text">Hi All,
  11. Below is a quick video of Topics&#39; ability to upload files over the websocket protocol (no audio).  As you can see it does support drag n drop and your standard file selection.  If you are interested in the code, download the Topics application from OpenNTF.  See the highlighted design elements in screen capture to review:
  22. </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><media:thumbnail xmlns:media="" url="" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Fri, 07 Oct 2016 17:28:00 +0000</pubDate><atom:updated>2016-10-07T13:29:22.763-04:00</atom:updated><title>Topics Part 1 (ACL Setup and Db Properties)</title><atom:summary type="text">Hi All,
  23. To setup the Topics group chat application all you will need is to set the ACL with Default access as Author, Anonymous to no access, your websocket user (fore me it&#39;s admin admin) to Manager with the [admin] role.  See below from my local dev.
  29. Setup database properties accordingly.  The application does leverage unread marks, leave &quot;Don&#39;t maintain unread marks&quot; unchecked.  I have a </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Wed, 05 Oct 2016 16:19:00 +0000</pubDate><atom:updated>2016-10-05T12:22:43.798-04:00</atom:updated><title>Topics</title><atom:summary type="text">Hi All,
  30. Just uploaded a new XPage application to OpenNTF called &quot;Topics&quot; (quick demo on this site).  It&#39;s a group chat application that is similar to Slack or Hipchat.  It covers all the basics of chat + attempts to use WebRTC to establish video conferencing.  Currently only supports two users at a time.  It was fun to build over the last few weeks.  I tried to keep it as simple as I could.  Most</atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Tue, 04 Oct 2016 23:00:00 +0000</pubDate><atom:updated>2016-10-04T19:02:48.636-04:00</atom:updated><title> v3.0.1</title><atom:summary type="text">Hi All,
  31. Just finished uploading the latest version of to openntf.  See below straight from the README:
  33. -New Features include:
  35. A new event method to script against called onBeforeMessage (fires just before a message will be sent, used for filters, other validations)
  36. A new SocketMessage attribute called shortCircuit.  If set to true halts sending of message (for use with </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Sat, 17 Sep 2016 14:34:00 +0000</pubDate><atom:updated>2016-09-17T10:34:48.793-04:00</atom:updated><title>group chat demo</title><atom:summary type="text">
  37. Hi All,
  39. For fun I&#39;ve been working on a persistent group chat application similar to slack or hipchat in XPages.  The discussion app is leveraging some of the new features in  This discussion application will be deployed with the next release of along with the other sample apps.  Below is a not so imaginative persistent group chat using two different browsers (IE and</atom:summary><link></link><author>[email protected] (Mark Ambler)</author><media:thumbnail xmlns:media="" url="" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Tue, 06 Sep 2016 12:18:00 +0000</pubDate><atom:updated>2016-09-06T08:18:28.481-04:00</atom:updated><title> v3.0.0</title><atom:summary type="text">Hi All,
  40. Just pushed the latest release of  Available on openntf.  See below for more details:
  44. -New Features include:
  46. URI Listeners (replaced Rhino SocketEventListeners)
  49. &quot;Intervaled&quot; Scripts to fire on a specific interval
  52.  Support for the following scripting runtimes 
  54. Groovy
  55. JRuby (ruby)
  56. Jython (python)
  57. BeanShell (java like scripting)
  58. Agents (LotusScript, Java)
  59. Default </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Mon, 08 Aug 2016 21:09:00 +0000</pubDate><atom:updated>2016-08-08T19:34:55.074-04:00</atom:updated><title> ...last few enhancements</title><atom:summary type="text">download
  60. The purpose of this post is to cover all the enhancements that have been added to the xpages websocket plugin since version 2.0.2.  A good number of enhancements have been added, and up until now I&#39;ve been a bit lazy when it comes to blogging about it.  This post will cover the following:
  62. Addition of scriptable event observers (covers onOpen, onMessage, onClose, onError)
  64. </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Sat, 02 Apr 2016 20:47:00 +0000</pubDate><atom:updated>2016-04-02T16:58:53.435-04:00</atom:updated><title>progress bar fun with</title><atom:summary type="text">Hi All,
  65. For fun, I decided to make a simple progress bar demo using  Below is a short video demonstration using bootstrap&#39;s progress bar being updated by the server.  Nice thing about websockets, there&#39;s no polling involved, so you get near real-time updates as to the progress of the server-side ssjs listener.  To get this demo working on your server install from OpenNTF (</atom:summary><link></link><author>[email protected] (Mark Ambler)</author><media:thumbnail xmlns:media="" url="" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Wed, 09 Mar 2016 19:11:00 +0000</pubDate><atom:updated>2016-03-09T14:17:26.709-05:00</atom:updated><title></title><atom:summary type="text">Hi All,
  66. Just released up on openntf.  The main enhancement behind this release is getting the websocket and http/s server running off the same port.  If configured, the proxy server loads when the XPages runtime loads and proxies all HTTP requests to the Domino back-end server, while any websocket connections are handled directly.  This is NOT a full featured proxy server, and is</atom:summary><link></link><author>[email protected] (Mark Ambler)</author><media:thumbnail xmlns:media="" url="" height="72" width="72"/><thr:total>6</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Fri, 12 Feb 2016 17:46:00 +0000</pubDate><atom:updated>2016-02-12T12:46:56.713-05:00</atom:updated><title> released</title><atom:summary type="text">Hi All,
  67. Just released latest version of  This last release fixed an issue preventing developers from importing the plugin into their designer environment.  Also, I removed the 9.0.1 plugin references so there is a chance the plugin will work with XPages 8.5.3, as long as the latest ext-lib for 8.5.3 is loaded as well.  Below is from the README inside the project.  If you have any </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Fri, 05 Feb 2016 11:37:00 +0000</pubDate><atom:updated>2016-02-05T12:07:57.965-05:00</atom:updated><title> (XPages websocket plugin) ready</title><atom:summary type="text"> on openntf</atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Mon, 01 Feb 2016 13:22:00 +0000</pubDate><atom:updated>2016-02-04T11:48:13.676-05:00</atom:updated><title>Next for WebSockets on XPages / Domino</title><atom:summary type="text">The below list covers the latest set of features / patches / updates I hope to release soon:
  70. New Project Name (, xockets, dockets, other... suggestions welcome)
  71. Use of Netty as the websocket/networking engine
  72. Increased scale (tested locally with 15k websocket connections / users)
  73. Granular control of threading, send / receive buffers to tweak performance of the server
  74. Configuration can </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Tue, 19 Jan 2016 14:28:00 +0000</pubDate><atom:updated>2016-01-19T09:48:40.400-05:00</atom:updated><title>Setup XPage / Domino WebSockets with a valid Certificate</title><atom:summary type="text">Recently, I was approached by another XPager to help setup TLS / SSL using a valid certificate (preferably re-use the same cert as the Domino https server) for XPage WebSockets.  As usual, something that seemed &quot;easy&quot; took a bit longer than expected to research, cycle through, and solve.  The below set of steps assumes you have the private key, issued certificate, and the CA&#39;s root and </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Sun, 28 Dec 2014 22:13:00 +0000</pubDate><atom:updated>2016-03-28T09:05:31.111-04:00</atom:updated><title>Domino Websocket Fixes &amp; Performance testing for v1.1.3</title><atom:summary type="text">***websocket project has been broken out into its own project, on openntf***
  76. The latest release of Domino Websockets v1.1.3 focuses on bug fixes and performance.  Most notable fixes include:
  81. Fixed memory leak for users with closed websocket connections.  This was causing java.lang.OutOfMemory errors during consecutive test runs, and left users in an inconsistent state in the </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><media:thumbnail xmlns:media="" url="" height="72" width="72"/><thr:total>3</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Thu, 11 Dec 2014 04:24:00 +0000</pubDate><atom:updated>2016-03-28T09:05:16.577-04:00</atom:updated><title>Domino WebSockets &amp; Dashboards... it&#39;s like Christmas :)</title><atom:summary type="text">***websocket project has been broken out into its own project, on openntf***
  83. Hi All,
  84. Getting close to completing the dashboard application that consumes and renders state information from remote devices / clients via websockets.  As I was building it I couldn&#39;t help but notice how festive the colors were.... so I decided to create a quick video of the application accompanied by my </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Wed, 12 Nov 2014 15:51:00 +0000</pubDate><atom:updated>2016-03-28T09:05:00.344-04:00</atom:updated><title>SSJS and Websockets</title><atom:summary type="text">***websocket project has been broken out into its own project, on openntf***
  86. A new use case recently emerged during my latest development efforts to build a websocket based application / dashboard.  In addition to the requestURI routing path feature that updates all clients via websocket in the UI, I also needed to execute some server side logic for any messages coming in through that</atom:summary><link></link><author>[email protected] (Mark Ambler)</author><media:thumbnail xmlns:media="" url="" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Sun, 21 Sep 2014 19:40:00 +0000</pubDate><atom:updated>2014-09-21T15:47:26.829-04:00</atom:updated><title>Using request URI as a routing path for Domino/XPage websocket messages</title><atom:summary type="text">In my current project, I&#39;m going through the process of replacing a bunch of restlet programs with a single webscocket client to enable bi-directional communications with the XWork server and about 300 clients.  As part of my requirements for the app, I need to be able to send targeted websocket messages to users on a specific page to render system / log data on a dashboard to monitor the client </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Fri, 13 Jun 2014 16:12:00 +0000</pubDate><atom:updated>2016-01-19T13:27:26.898-05:00</atom:updated><title>Domino WebSockets now with REST API</title><atom:summary type="text">
  87. As of release 1.1.0
  88. -added simple REST API for accessing the websocket server (see websocket-setup.pdf)
  89. -updated the chat application example to use the new REST APIs (see classic note web form fmchat)
  90. -updated JUnit tests for REST API, added a java JSON Client (make sure to setup basic auth via website rules)
  91. -added simplified configuration.  notes.ini parameters are only
  92. required for special </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Mon, 02 Jun 2014 22:22:00 +0000</pubDate><atom:updated>2016-03-28T09:00:55.904-04:00</atom:updated><title>Latest Updates for Domino WebSocket</title><atom:summary type="text">***websocket project has been broken out into its own project, on openntf***
  94. As of release 1.0.9 for websocket:
  95. -Modified the plugin to accept command line parameters:
  96. Available Command Line Operations:
  98. tell http osgi websocket stop (Run this prior to stopping http to avoid server crashes. This command will terminate the threads cleanly)
  99. tell http osgi websocket start
  100. tell http </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Mon, 19 May 2014 13:31:00 +0000</pubDate><atom:updated>2016-03-28T09:06:05.799-04:00</atom:updated><title>Clustering Support in Domino WebSockets now available</title><atom:summary type="text">
  102. ***websocket project has been broken out into its own project, on openntf***
  105. Hi All,
  106. I just released version webshell-xpages-ext-lib 1.0.8 (parent project for websockets).  The latest release focuses on support for websockets in a clustered environment and increases the message size.  Please see my prior blog post for info. on the approach that was taken, and let me know if you </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Wed, 14 May 2014 20:45:00 +0000</pubDate><atom:updated>2016-03-28T09:04:47.248-04:00</atom:updated><title>Bug Fixes &amp; Supporting Server Clusters in Domino WebSockets</title><atom:summary type="text">***websocket project has been broken out into its own project, on openntf***
  108. Hi All,
  109. Currently working on some bug fixes to make configuring the Domino WebSockets a bit friendlier.  Seems if the notes.ini settings weren&#39;t setup properly it could hang up your http server on restart, or the plugin will not work altogether.  Instead the admin / developer should see a nice error message </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Wed, 09 Apr 2014 13:30:00 +0000</pubDate><atom:updated>2016-03-28T09:00:23.828-04:00</atom:updated><title>Domino WebSocket Updates</title><atom:summary type="text">***websocket project has been broken out into its own project, on openntf***
  111. Just added some new features to the Domino WebSocket plugin.  Most notably, the ability to queue up SocketMessages to users that have a browser websocket connection established on the server.  Have a look at the LotusScript sample agents that create socket messages.  The below video provides a demo of the </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>10</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Mon, 31 Mar 2014 11:45:00 +0000</pubDate><atom:updated>2016-03-28T08:59:27.613-04:00</atom:updated><title>Domino Websocket now available</title><atom:summary type="text">***websocket project has been broken out into its own project, on openntf***
  114. I recently posted the latest updates to the webshell-xpages-ext-lib to include components that support browser websockets on Domino/XWork server.  They are available on OpenNTF, and can be installed independently from the rest of the project.  The Domino plugin / component leverages the efforts from the </atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">,</guid><pubDate>Sat, 25 Jan 2014 15:08:00 +0000</pubDate><atom:updated>2014-01-25T10:11:34.229-05:00</atom:updated><title>Webshell Cleanup / iBeacons</title><atom:summary type="text">Working on updates / fixes / cleanup for webshell ext lib, and on the ios app.  Thinking about adding iBeacons support for micro-location services.  Would be cool to push web pages to ioswebshell based on location inside a store, office etc...</atom:summary><link></link><author>[email protected] (Mark Ambler)</author><thr:total>0</thr:total></item></channel></rss>

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda