" /> LiveCycle Doc team: February 2009 Archives

« January 2009 | Main | March 2009 »

February 26, 2009

Using process variables as constants

A common pattern that’s used in process design is establishing ‘constant’ values that you refer to a few times in the process. To establish a constant value, you either:

  • Create the variable and configure the default value at design time (i.e. in Workbench ES), or
  • Save a value that is either passed into the process or returned by a service operation at run time.

    As an example, I’ll use a purchase request process to describe a simple use of the variable-as-constant pattern. In this process, the dollar amount of the purchase determines who needs to review the request. Purchases of $1000 or less are reviewed by a direct supervisor. More costly purchases are reviewed by a higher-level manager. Here, 1000 is the constant value that is saved in a variable. XPath expressions in routing conditions would refer to this variable to make routing decisions.

    Configuration Parameters Make Things Easy

    LiveCycle ES, version 8.2.1 introduced configuration parameters. The values of this special type of process variable can be set in the LiveCycle Administration Console, which means you can change the values in the production environment without having to modify the process. (See Configuration Parameters in Workbench ES Help.)

    Let’s say, in our purchase request process example, the company changes its policy so that instead of $1000, only $200 purchases can be reviewed by a direct supervisor. If this value is stored as a configuration parameter in the process, all you need to do is log into LiveCycle Administration Console and change the value. You do not need to change the process. (See About applications and services in Applications and Services Help.)

    Configuration parameters can only be simple data types though (boolean, int, long, short, and string). So you can’t use them with complex data types.

    Using Constant Values of Complex Data Types

    Let’s get busy with a more complicated example! We’ll use a complex data type and some Xpath expressions.

    In the same purchase request process that I described earlier, we now want to set reminders on the tasks that are sent to the supervisor and the high-level manager. We want to give both people the same amount of time to review the purchase request before the reminders occur. Task Reminder values can be used to configure reminders on Assign Task operations. Also, Task Reminder values include Task Date values as data items, which actually set the length of time that passes before reminders occur. So, we can use a Task Date variable to establish the length of time that passes before a reminder occurs as a constant.

    Here’s one way to do that:

    1. Create a Task Date variable and configure the default value to be the length of time that passes before the reminder occurs. (See Task Date in Workbench ES Help.)

    2. Create a Task Reminder variable and configure default values for all of the properties except for the length of time that passes before the reminder occurs. We’ll use the Task Date variable to configure that in the next step. (See Task Reminder in Workbench ES Help.)

    3. Use the Set Value service to copy the value of the Task Date variable into the Task Reminder variable. We’ll need to add two mappings in the Set Value:

    /process_data/taskReminderVar/object/reminder = /process_data/taskDateVar
    /process_data/taskReminderVar/object/repeatReminder = /process_data/taskDateVar

    See Set Value in Workbench ES Help.

    4. Configure the Reminder property of the Assign Task operations to use the taskReminderVar variable. (See Sending reminders about tasks in Workbench ES Help.)

    Now, if you need to change the length of time that is allowed before a reminder occurs, you only need to reconfigure the Task Date variable. Once that is done, all of the reminders of the Assign Task operations are updated as well.

February 18, 2009

Programmatically accessing LiveCycle Content Services ES

LiveCycle Content Services ES is an ideal location in which to store documents created by business processes. However, Content Services ES does not expose a public API or support a public WSDL. As a result, you cannot directly invoke its operations from a client application such as a Java or a Flex client.

That is why I decided to create an article that discusses what you have to do if you want to store a document in Content Services ES using a client application. Basically, you have to first create a process using LiveCycle Workbech ES. Then you can invoke the process from the client application. For more information, check out the article that I wrote,
Programmatically accessing LiveCycle Content Services ES.

The LiveCycle Terminology Secret Decoder Ring

We would love to send each of you a cool plastic ring to help decipher some of the varying terms found in the LiveCycle forums and product documentation. But, since we don't know your ring size, we're providing this one-size-fits-all blog posting instead.

When writing the product documentation, we try to use terms consistently (you can find some of them in the Glossary). But you may run across terms on the message boards (like Adobe LiveCycle Forums and Adobe LiveCycle Developers Google Group) that leave you scratching your head. Hopefully, this table will help you decode the terminology. And, if you run across any other puzzling terminology, please add a comment to this post and we'll try to clear it up for you.

Non-standard term

Standard term (used in documentation)

Acrobat PDF Form

Acrobat form

AcroForm

Acrobat form

dynamic form/dynamic XFA form

dynamic PDF form (created in Designer)

Flash, Flash-based

based on Adobe Flash technology

flat form

non-interactive form

flatten a form

convert a form to a non-interactive form

Form Server

LiveCycle Forms

form template

form design (we do use "form template" when talking about .tds files in Designer)

orchestration

process

Output Server

LiveCycle Output

pre-filled form

prepopulated form

static XFA form

static PDF form (created in Designer)

workflow

process

XFA form

form created in LiveCycle Designer

February 9, 2009

LiveCycle, from an Evangelist’s perspective

LiveCycle ES is an integrated server solution that provides data capture, information assurance, document output, process management, and content services using a service-oriented architecture. You can learn more about what LiveCycle ES can do by watching these fantastic episodes from LiveCycle Evangelist, Duane Nickull:

You can also learn about LiveCycle ES and what it can do by visiting these links:

February 6, 2009

Customer Question: Help

“I want the documentation to tell me what to do when I don’t know what I want to do.”
- LiveCycle Customer Quote

As technical writers, we deal in information. In essence, we create and publish meaningful information about how to use software products and features for you, our customers. Or at least we like to think we create meaningful information. Every now and then we get the feedback from customers that the documentation we produce is not adequate. Often, we don’t get anything more specific than that, but sometimes, if we are lucky, we’ll get a specific complaint like: add more examples.

We think that part of the problem is that we don’t get very much direct customer feedback. We know you're out there -- somebody is buying our products after all -- but how can we help you do what you do better, faster, etc?

Let’s go back a step. Maybe the problem really stems from the fact that we don’t really know when you go looking for information. Do you just fiddle with the product and, if you can’t figure something out, then you go look for answers in the help? Do you just Google and see what comes up, intentionally ignoring anything that sounds like product documentation? Or do you like to sit down and read software manuals cover to cover, like you would a Jane Austen novel, or a Stephen King? Not Tolstoy though; you can read Tolstoy, but you can’t read Tolstoy.

We think that you don’t read software manuals for fun. Unlike a novel or motion picture, we think you probably aren’t interested in starting at the beginning and working your way through to the happily ever after. We think you want to access specific chunks of information quickly, and then get out quickly. Because we think this is how you operate, you slick customer you, we approach our work holistically, thinking about the big picture and how information will fit together so that we can create short, simple, directed topics to address your working style. But we don't really know if it's working. So I ask:

  • When do you reach for the Help?
  • How do you access the Help: online, in-product, a friend who knows everything about computers, ... ?
  • What has your Help experience been like? Did you ever have a good experience? If so, what made it so good? If you've had some bad ones, what made them so bad?

We're looking for feedback, but don't think you have to write a novel. Any bits and pieces you are willing to share would really help us out. Comment directly to this blog post and share your opinions. We really do want to know.

-- Your Friendly Neighborhood Technical Writers