Notes in 9: Dev Tools Grab Bag


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-dora(-cli), may be even more niche, but hey, it was a good learning experience.

The Video

Head over to Notes in episode #205 to check it out, or watch it embedded here or on YouTube.


I'm guessing that a number of people will regard these tools as a bit of a novelty, but I hope some will find them pretty awesome, or at least useful. They don't exactly do anything a developer couldn't do on their own, but they fit into development workflow for speedier development; at least, that's the idea. I'm open to contributions of nearly any kind, so please feel free to get involved.

For anyone looking to reference my notes from the screencast, you can find that below.

Ni9: Some Tools for Your Toolbox

1. Intro

2. generator-xsp

  1. set up app from scratch
  2. config or existing app's ODP
  3. create elements from sub-generators

    • XPage
    • Class
    • managed bean (configured in faces-config.xml)
    • "rest", which creates an xe:restService control, using an xe:customRestService with CustomServiceBean to back the logic

An ODP you can import into DDE.

  • an arbitrary task, common to all modern developers, including XPages developers
  • if you need a quick refresher, or a crash course, watch Notes in 9 ep #131, and the specifics of importing from source control (git/hg, etc.) start at: 34m 03s
  • contributors welcome!
  • big or small!

2. node-dora

  • a node package wrapper for dora
  • install for use as an npm script via the dora-cli package

    • includes the node-dora package from npm
    • wraps for cli invocation
    • can be installed globally
    • ensures dora cleaning, w/ npm deps, great for CI environments
  • can set in your package.json's "scripts" block, such as "clean": "dora 'My Amazing ODP'"

3. Summary

Automation, like source control, can "save your life".

Questions: AMA