Stefan Cameron on Forms
Building intelligent forms using Adobe LiveCycle Designer

'Instance Manager' Category Archive

Final Post: XFA Tank Wars

Dear Readers and Fellow Form Developers,

The time has come for me to focus my extra energy on other goals and projects at Adobe and at home.

I have thoroughly enjoyed helping the XFA community for these past 4.5 years. All of the content on this blog was a direct result of your questions and I learned a great deal about Adobe’s XFA technology and its LiveCycle Enterprise Suite along the way. Thank you!

I leave you now with a final “form to end all forms” (in my mind, anyway): A version of the classic Tank Wars game implemented entirely in XFA + JavaScript.

Why do this, you wonder? Well, it was a good challenge, you couldn’t embed Flash in an XFA form back then and I wanted to do something that would really put LiveCycle Designer’s Script Editor through its usability paces.

Comments are now closed on all posts and pages except for this one and the XFA Tank Wars page which will close on December 31, 2010. I will continue to host this blog for your reference and bookmarks however I cannot guarantee it will be available forever.

Good luck on all your present and future form development projects.


Posted by Stefan Cameron on December 3rd, 2010
Filed under General,Instance Manager,Scripting,Tutorials,XFA

PDF Forms Bible Review

PDF Forms Using Acrobat and LiveCycle Designer Bible

Last February, I announced the release of a new Designer book titled, “PDF Forms Using Acrobat and LiveCycle Designer Bible”.

Over the past few months, I had the opportunity to review it and I thought I would share my comments, with respect to the second-half of the book, which deals with LiveCycle Designer ES and XFA forms, to help you decide if it would be a good book for you*. (The first-half deals with authoring PDF forms, a.k.a. AcroForms, in Acrobat and is beyond the scope of my blog.)


  • explains the licensing agreement involved when enabling forms for Reader using Acrobat’s “Extend Features in Adobe Reader” feature (p. 268) — this is a frequently-used feature however its governing licensing agreement, seldom understood, is explained here in “plain English”;
  • presents and reasons through different design approaches for a particular solution, helping the reader make an informed decision on the best course of action;
  • anything and everything you could possibly want to know is dealt with in some way;
  • lots of important, time-saving insights in the inline ‘notes’;
  • something for everyone from beginner to advanced;
  • many cross-references between various topics, making it very easy to start in any chapter and still find all the information you need.


  • risk of “information overload” — use this book as reference since it’s not a light read, though their goal is simply to present a myriad of options and let you pick the one that best suits your needs.

Overview of Topics Covered:

  • all about tables (from simple layouts to advanced);
  • data merging with bindings;
  • Designer user interface details and lots of tips and tricks for accelerating form layout tasks;
  • working with static forms (with PDF backgrounds) and dynamic forms, highlighting the differences;
  • great details on all sorts of pagination options;
  • lots of detail on JavaScript and FormCalc, good scripting exercises with explanations, debugging tips, table with JavaScript and equivalent FormCalc functions to make it easy to script in either language if the other is more familiar to you;
  • form deployment options;
  • when and how to use data connections in your forms (XML, schema, database, web service) and setting data bindings;
  • great overview of LiveCycle ES, its components (e.g. LC Forms, LC Reader Extensions, LC Rights Management, LC Content Services, etc.) and what they do.

This book is available now on and and elsewhere.

* Please note that these opinions are not necessarily those of Adobe Systems Incorporated.

Posted by Stefan Cameron on November 13th, 2009
Filed under Acrobat,Books,Data Binding,Designer,Instance Manager,Scripting,Tables,XFA

Connecting to a Schema

In previous tutorials, I have shown how to connect an XFA form to a database and a web service. Next on the list is the XML Schema (XSD).

If you work in an enterprise setting, chances are you may have already had to deal with corporate data schemas that define how that data is structured. The goal, when connecting a form to a schema, is to ensure that the data consumed and output by the form adheres to a specific structure. Any fields bound to data nodes that aren’t inside the schema space are basically ignored at time of submission.

Continue reading…

Posted by Stefan Cameron on August 3rd, 2009
Filed under Data Binding,Designer,FormCalc,Instance Manager,Tutorials,XFA

Creating and Loading Data Nodes

Have you ever needed to create data nodes in the Data DOM on-the-fly? How about a need to parse XML obtained from a web service data connection in order to find a value for some property? If that’s the case, then you’ll find-out how to do it in this article.

Creating Data Nodes

In a similar article, John Brinkman showed how to create form variable nodes at runtime however what’s not obvious about data nodes is that you don’t create them using

a class name of your choice.

For example, say you wanted to create the following data node structure:

    <message>Hello World!</message>


Continue reading…

Posted by Stefan Cameron on June 1st, 2009
Filed under CM,Data Binding,Instance Manager,Scripting,Tables,Tutorials,XFA

Recording of AUC eSeminar on LiveCycle Designer

The recording of the Acrobat User Community eSeminar on Advanced Forms and LiveCycle Designer by Easel Solution’s Angie Okamoto is now available for viewing. Angie demonstrates advanced concepts in creating dynamic forms with LC Designer and you can also see all of the Q&A comment threads between the attendees and the team of specialists answering the questions.

Posted by Stefan Cameron on February 13th, 2009
Filed under Data Binding,Designer,Instance Manager,Scripting,Tables,Tutorials