Welcome to blog series part 3 of 17 on migrating Notes apps to DOCOVA. In this post I’m going to talk about @formula and @command language.

Most Notes apps have the @formula and @command language strewn throughout them.  The @formula and @command languages were very useful in that they were an easy way to quickly accomplish simple tasks as well as tackle what were sometimes quite complex operations without being a master coder.

In order to handle the conversion of @formula and @command languages, we dropped $$Formula language into DOCOVA.  $$Formula language is its own scripting language and can support the @formula/@command language conversion from Notes.  The big diff is that DOCOVA uses “$$” in front of its commands instead of the “@” sign.  For example, @DbColumn is supported with $$DBColumn.  @Username is $$Username and so on.  Pretty straightforward.

I’m really pleased with how $$Formula language has turned out in DOCOVA.  It’s such a big part of what Notes apps were that I’m glad we can support it.

The next question you should ask is….what about @if, @do and @for statements?  And the answer is yes, those are converted too.

When the DOCOVA App Importer encounters any @formula or @command functions it converts them to a corresponding $$Formula language command that supports them.  There are some anomalies that are handled when converting this code due to some of the deep nesting capabilities of these functions in Notes not having the same context in a browser. As a result, some of the more complex nested @ code may need to be jigged slightly different (identified by DOCOVA Analyzer™), but for Notes developers making the transition to DOCOVA, the code is easy to identify and leverage…and of course the resulting capability is similar.

You can fast-track and get all the whitepapers on our migration methodology and everything that is being discussed in this series of posts.  Specifically, you can get the DOCOVA Notes/Domino Migration Methodology – MIGRATE whitepaper which goes over these technical aspects.

Questions? Comments?  Enter them below.