App of Ice and Fire
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.
- Apache Commons IOUtils
notes.iniedit (add HTTPEnableMethods=PUT,DELETE next to your local web preview port) OR adding PUT and DELETE as allowed methods in your Internet Site document for your server
- the lwpd.domino.adapter.jar JAR needs to be added
I've marked where I've used GSON in my Java classes and have almost entirely provided the working com.ibm.commons.util.io.json 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.
||cleans, lints and builds|
||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 ├── ReadMe.md ├── bower.json ├── db.json ├── gulpfile.js ├── package.json ├── routes.json └── src ├── css ├── index.html ├── js ├── partials └── tags
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 edm00se.io.
The MIT License (MIT) © 2016 Eric McCormick