Skip to content
This repository has been archived by the owner. It is now read-only.
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

App of Ice and Fire

a demo app of how to build a modern web app in a Domino application container (NSF) with the XPages runtime


You should download the latest release; the master branch can pick up a bit of changes between releases. Either way, you need to perform the below steps for setting up your Domino (and Designer) environment (java.pol, JARs), followed by an npm install (4.x LTS and 6.9 LTS have been tested).


This is an evolution of my demo app, "An App of Ice and Fire". There are currently branches for the stand-alone (single NSF) and Bluemix deployable (data and app NSFs segregated), along with the task runners being consolidated and front-end (UI layer of the) app being moved into its source with the ODP/WebContent/ path being the published, optimized path.


This application requires some JAR files to be contained within the /jvm/lib/ext/ path. Alternatively, they can be added to the application NSF's Code/JARs path; the bottom line is that they must reside in the Java build path.

I've marked where I've used GSON in my Java classes and have almost entirely provided the working equivalent. You can also manually work around the Apache Commons libraries, as they're mostly just helper utilities. I do recommend using them though, so if you can't access your server's file system, you can import them into the NSF.

For reasoning on why I recommend placing those JARs on your server, please consult my blog post on the subject.


Run the commands below from a command line, either from Terminal, etc. on *nix or Git BASH (or BASH environment in 10) for Windows.

Command Result
npm run clean cleans ODP/WebContent/
npm run build cleans, lints and builds
npm run dev preview, lint, build, watch, live reload

Front-End Development Without a Domino Server (or Designer)

Made possible by json-server, you can run npm run dev to develop against the front-end assets in src/ without a Domino server or Domino Designer; this will obviously lack the backing logic by the Domino based HTTPServets.

Basic Project Layout

The front-end assets' source is all in src/. A build will place the optimized assets into ODP/WebContent/. The ODP must be imported into your NSF in Domino Designer to run correctly.

├── ODP
│   └── WebContent
├── bower.json
├── db.json
├── gulpfile.js
├── package.json
├── routes.json
└── src
    ├── css
    ├── index.html
    ├── js
    ├── partials
    └── tags


The bluemix branch contains a build optimized into a separate App ODP from a Data ODP, which correspond to the app and data NSFs, so as to allow for Bluemix deployment. The master branch contains a version of things build for single NSF deployment.


The want/need to reconcile the concerns involved in modern front-end tooling combined with Domino/XPages back-end performance is born of a love for the web and automation. For more, read up on my chronicles on



The MIT License (MIT) © 2016 Eric McCormick

You can’t perform that action at this time.