Well, here’s a poorly kept secret now made public. The macro feature that we previewed in the ES2 Designer is now an officially supported feature.
You can find the online documentation here.
The good news is that the macros you wrote for ES2 should continue to work in the new Designer. The only changes is that we’ve changed the directory name where they’re stored (now under "macros"). As well, each macro is described by a macro.xml file.
There are a couple items I should hightlight:
There is a method: designer.callExternalFunction() that allows you to call an arbitrary method in a .DLL. Here is your escape key for every integration problem you might conceive.
designer.filterNodeTree() is added to enhance performance. Traversing the entire DOM searching for specific elements can ge slow on large forms. For example,
designer.filterNodeTree(xfa.template, "className", "font") will return all the <font> elements in the form.
designer.filterNodeTree(xfa.template, "name", "price") will return all the objects named "price".
If you produce .chm help files to document your macro, you can invoke them with designer.showHelp()