Refresh Divine (easy, hassle-free refresh design)

Do you like the Refresh Design functionality as it is now?

  1. Go to menu Application – Refresh Design
  2. Select the correct server.
  3. Wait…
  4. Repeat for the next databases.

This is ok, as long as you don’t need to do this that often, and as long as there aren’t a lot of databases to refresh. If you’re like me, you also have databases with a lot of dependencies, different servers, development/test/production,… and then a little change you’d like to deploy ends in an RSI nightmare (t.i. if you didn’t drop dead of boredom).

There’s also the extremely dangerous combination of boring, repetitive work and precision expected.

There must be an easier way

Refresh Divine logo

Now enter the world of Refresh Divine: do this once:

  1. Build a design refresh profile for each application you’d like to refresh.
  2. Set the refresh order for the databases of the same database family.

After initial setup, you just have to grab a cup of coffee, select the refresh design profiles you’d like to apply and press a button!


The idea existed for a longer time, and was born out of frustration. At certain moments I need to refresh the design of up to 30 databases (who all have dependencies). This is a time consuming, boring and dangerous job (if you select the wrong server, you can screw up the design).

Then I found the C API solution from the Breaking Par website (this is probably there for ages, they talk about Notes R5.03! Breaking Par doesn’t even exist anymore…).

I used and changed this code to create a tool around it.


But wait, there’s already an existing alternative! After developing half of my tool, I wondered: “Hey, maybe there’s something on OpenNTF already existing!” (I know, a late reflex) and indeed, there is: DbRecompiler does the same thing and much more.

But there’s a different approach: where DbRecompiler targets for more options and features, my goal was simplicity, ease-of-use, easy to setup. Use it for 1 minute and you know how it works!

Still here? Hurry to OpenNTF Refresh Divine project page then!


  1. If you want to provide an API-less approach as well, I’d suggest programmatically issuing console commands:

    Call session.sendConsoleCommand(serverName, {Load Design -f } & dbFilePath)

    The limitation of this is that the database and its template must both be on the specified server, but in many cases that’s true anyway.

  2. The good thing about the approach you suggest, is that you can (perhaps, didn’t test it yet) get the respons the server console gave.
    Unfortunately, in my situation I sometimes need to refresh from a different server.
    I’m still looking for a way to get the response of the statusbar, so that I can investigate and log the responses…

  3. Version 8.0.0 of NotesHound is in Alpha-stage and it contains (amongst 16 other application) a Refresh/Replace design tool that you can run on an unlimited number of databases.

    But you beat us to it – and your tool is free.

  4. Thanks Ken, very sportive reaction! (but I’m not there yet, still some things to enhance, work to do…)


Submit a Comment

Your email address will not be published. Required fields are marked *

3 + 3 =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>