Saturday, April 26, 2014

Adobe LiveCycle Beginners Guide---Adobe Livecycle Forms with Tabs.

Tab creating in Adobe Livecycle.

How will we create Tabs in  Livecycle ? 
This is simple for experts but its a little difficult for the beginner. In this post i have come up with a simple Adobe LC form with 3 tabs. 
In real time projects we will use tabs in different scenarios.
Tabs can be used for generating different views of same page. 

 ie: You can have a Form an interactive form(Forms which user can able to enter data) in one tab and another tab can be used for its Draft view an third tab for its Print view.
or
You use one tab for one product or module and other tabs for another products.
So when you click on each tab the same page will display different information. Just like an HTML tab.
Here I am talking about tab and not the inbuilt tab order functionality.

How to create?

It's Quite Simple and easy. 

Step 1: 
Create a table with 3 columns and 1 row.

Step 2:
Place the simple submit buttons on 3 columns and name Home, Page 1 and Page 2 . These buttons can be customized to give a tab look based on your requirement and skills.

Steps 3:
Create 3 different sub forms below the Table and name it Home, Page 1 and  Page 2 respectively.

Steps 4:
Add contents to you pages.

Step5:

Use the below code for hiding and displaying the sub forms .
Page the below code under Click event of Home button.

form1.Page1.Navigator.Home.presence="visible";
form1.Page1.Navigator.Page1.presence="hidden";
form1.Page1.Navigator.Page2.presence="hidden";


Page the below code under Click event of Home button.

form1.Page1.Navigator.Home.presence="hidden";
form1.Page1.Navigator.Page1.presence="visible";
form1.Page1.Navigator.Page2.presence="hidden";

Page the below code under Click event of Home button.

form1.Page1.Navigator.Home.presence="hidden";
form1.Page1.Navigator.Page1.presence="hidden";
form1.Page1.Navigator.Page2.presence="visible";


Steps6:

Select the Sub second and third sub form and Change its presence to Hidden. ie: Hide the second and third sub forms.

Please find the sample files attached and leave your valuable comments.

PDF version

https://www.dropbox.com/s/917w5zy68upu2l5/Tabs.pdf

XDP Version

https://www.dropbox.com/s/ohlegqcj205tcir/Tabs.xdp

Friday, January 31, 2014

Adobe LiveCycle Beginners Guide--- Chapter 2 Simple Dynamic Forms --Text Fields



Simple Flowing Text field

This sample text field keeps growing as you enter data to the field.
It flows from top to bottom from one page to another.

https://www.dropbox.com/s/qjtrooo8g09o1fl/Flowing%20Text%20Box.pdf


Mastering Text Field
 
This sample forms contains different text field formatting.

Dynamic growing and flowing Text Field.

https://www.dropbox.com/s/k0zpa2ci3mxrc50/TextFields.pdf

 
Introduction to Master Pages
 
  • Creating Master pages
  • Creating Master Pages in different orientation
  • Creating  Watermarks
  • Creating Logos ,Headers , Footers, Information area,page no., Bar code etc.

https://www.dropbox.com/s/32xe3ifjh9ttu2x/Introduction%20to%20MasterPages.pdf

Mastering Master pages

Portrait Pages with Flow layout and LandScape Pages with Flow Layout.

https://www.dropbox.com/s/j5mfrxyz7d5zyg4/MasterOfMasterPages.pdf

Thursday, January 30, 2014

Adobe LiveCycle Beginners Guide--- Chapter 1 Simple Static Forms


Adobe LiveCycle beginners. I hope this blog will help you to learn Adobe Livecycle with minimum help.
Adobe Livecycle has many modules. The following are the List of modules:



We will start with Adobe Livecycle forms.

Prerequisite :

1) Adobe Livecycle Forms Designer 

You can get trial version for 62 days from Adobe website.
http://www.adobe.com/cfusion/tdrc/index.cfm?product=livecycle_designer

Its good to have an idea on following skills :

Basics of JavaScripts/ Formcalc or both.
Basics of XML, XSD, Xpath etc.

Adobe Livecycle forms basically in two types:

1) Static Forms
2) Dynamic Forms

Whats is the difference between Static and Dynamic forms?(Interview Question)
You can get it from Adobe.
http://help.adobe.com/en_US/livecycle/8.2/static_dynamic_diffs.pdf

Sample files :
Note: Please open files in Adobe Livecycle designer.

Simplest Adobe LiveCycle Static Form.

https://www.dropbox.com/s/usgovo0gsbyy17x/MyFristSimpleForm.pdf

Static Form with Text Field and Labels.

You can create a text field in different ways. Below sample contains different ways of creating text field with label.

https://www.dropbox.com/s/i5fogmg5om2dsux/Sample%20form%20with%20Text%20Field.pdf


Monday, December 9, 2013

Best Practice for Adobe LiveCycle forms Design-3

Adobe LiveCycle Forms Performance Turning:

1)Always prefer Binding Over scripting.

2)Try to push most of the validation to back end.

3)Never ever implement any business logic to Forms end.

4)Try to minimise hide and display logic.

5)Try to use less components as possible.

6)Try to not to push unwanted data to the Forms.

7)Try to have simple XMl struture. Complex XMl struture will bring difficulty in parsing.

8)Try to use fragments if it is a common block.

9)Not to use fragments if the block of components is not used any where else.

10)Use variable to store the values calculated. This will helps us to avoid unwanted recalculation and unwanted scripting.

11)Even if recalculation needed. Usage of variable will help us to limit scripting to a great extend.

Sunday, December 8, 2013

Best Practice for Adobe LiveCycle forms Design-2

Adobe LiveCycle Forms Development :
1) Create the form is right size.(A4,letter etc)

2) Select the right option to create form which helps to reduce your developing effort.(From existing form, from Doc etc)

3) Use the Fragment library to store and reuse the fragments.

4) Carefully select the type of form(XDP,PDF etc)

5) Create script library to store the common Script components.

6) Create separate Script objects for different type of functions. 
    eg: Common functions like date format will be saved in utility script object. 
         Functions related business validation stored in separate script objects.
7) Declare global variable in main form. 
      This helps to calculate values in one fragment and used in another fragment or in main form itself.  
      Please be careful about the location you are initializing the variable. 
      eg: If you are initializing in "Calculate" event and try to access in "Initialize" event. you may not get the                  expected value.

8) Select the right components from the Component library. eg: date field for date values.

9) Identify the common components and create fragments and use scripts to adjust the extra unwanted fields.

10) Create only fragments for main forms which share common business function. eg: If you have a main forms for 2 different department better don't share components between the main forms. It will save lot of testing effort.

11) Identify the configurable and reusable components and store in database.
      eg: Logo ,signatures, versions, form name etc... so that you can change it any time with out any changes              in form.



Saturday, December 7, 2013

Best Practice for Adobe LiveCycle forms Design-1

Pre design practices:

1) Create a Adobe Livecycle forms design Specification document.
    
 This document contains forms standards we are going to use across all the forms.
 The following are the important details we have to include in the document:
 a) Master Pages Specifications
     Define all master pages specifications. Which includes 
      * Size of the content area 
      * Layout (Landscape /Portrait)
      * Header 
      * Footer
      * Page numbers
      * Bar codes
      * QR codes 
      * All components which you want to be in all pages at a particular location.
      
Note:   While defining the Content area please include the margins.

If you have more than one master page. Please define it in the spec.

2) Define all the Font size and color  (RGB).
3) Define the height and with of common components. Define its space from top,bottom ,right and left.
4) Define Alignment of each components.
5) Define Border color and size.
6) Define Naming convention for components, variables ,fields etc.

Monday, August 26, 2013

Adobe LiveCycle Forms Interview Questions


Adobe LiveCycle Forms Interview Question:
 
Few interesting Interview Questions for those who are preparing for interviews and certifications:


Add your comment if you have difficulty in finding answers for any of these questions...

You can find Answer for  questions in my upcoming posts....


How PDF differ from XDP?

XDP or XML document package is a format created suing XFA technoogy that contain multiple components (like the data, the completed PDF, comments and the template itself) in different nodes. This format is generally used by the LiveCycle Server.

This XDP definition is used to convert the template into a PDF. Designer, Acrobat, Reader and LiveCycle Forms on the server have the ability to interpret these XDP templates and create PDFs out of them. In the case of Acrobat amd Reader the XDP must be wrapped in a PDF 1st. They will not understand the native XDP file extension....they will assume that it is a data file.


An XDP can package a PDF file, along with XML form and template data.[7] XDP provides a mechanism for packaging form components within a surrounding XML container.


XDP has the template definition ie, the XML that describes how to make the form.

PDF has a PDF rendering as well the XML template.This is why the PDF is much larger than the XDP. 
use the XDP if you were going to be using LiveCycle Forms as part of your process for rendering the PDF ,you wanted to prepopulate it with data.
If you are not using LC forms then PDF will be generated at the server side. It can be of any means using 3rd party tools or java API etc.

Reference :
  • https://forums.adobe.com/thread/476119
  • http://en.wikipedia.org/wiki/XFA
  • https://groups.google.com/forum/#!topic/livecycle/LO3DVJ8JCU8
What is a fragment and purpose of using fragment?

In Adobe Livecycle forms we might have repeating or common block of fields. These field or group of fields can be reused across other forms by creating a reusable component called fragment. The purpose of fragment is to save time and effort by allowing forms to reuse the existing block of fields from Fragment Library.

Reference and for more details:
  • http://help.adobe.com/en_US/livecycle/9.0/designerHelp/index.htm?content=000289.html

How are fragments created?
steps :
  1. select an existing sub form or select one or more objects. (Sub forms also include tables, table rows, header rows, and footer rows.
  2. If you select objects that are not in a sub form, the objects are wrapped in a sub form when the fragment is created.
  3. Right click and Select Fragment > Create Fragment
  4. Name the fragment 
  5. Save the fragment at the fragment Library.



Reference and for more details:
  • http://help.adobe.com/en_US/livecycle/9.0/designerHelp/index.htm?content=000289.html
How fragment is imported to main forms?
  1. Open main form.
  2. Right click on the form where you need to import the fragment.
  3. Click on Fragment >Insert Fragment.

How will you pass a value to the Fragment from the main form?
  1. Create a global variable in the main form.
  2. Initialize it 
  3. Use or update value in the fragment
How will you manage different version of forms in ALC?
  1. Adobe Livecycle itself have its own version management.
  2. Create a new Application version for every major changes in the forms and fragment.This will results in deployment.
  3. Main forms or fragments will create a new version every time we have a check in after any updates on them. The version history will be available.
  4. 3rd party tools like SVn can be used version management of LCA files.

Note: In your LCA file if you have multiple forms used in multiple projects in different development state. You can separate the fragment by a standard naming conventions.


How the forms are connected to data?

Reference
http://help.adobe .com/en_US/livecycle/9.0/designerHelp/index.htm?content=000546.html

What are script objects ?

Script objects are used for holding common scripts which we can used across multiple places in forms. Scripting in forms help us to implement simple calculations.

How script objects are created?

Please refer :
http://help.adobe.com/en_US/livecycle/9.0/designerHelp/index.htm?content=000819.html

What is difference between a dynamic and static form?
Answer:http://help.adobe.com/en_US/livecycle/9.0/designerHelp/index.htm?content=000158.html

Purpose of a master page?

Master page is generally used to set the Page orientation, Setting the page properties like margins, footer, header etc.

Purpose of Content Area?


How to create a growing text field?

How forms are connected to Schema?

How forms are connected to data XML?

How Global variables are declared and used in Adobe LC forms?

What is the difference between object.presence =”Hidden” and object.presence =”Invisible”?

object.presence =”Hidden”  hides the layout and in the flow layout other components will acquire the space of the hidden component. 
object.presence =”Invisible” hides the components only leaving a white space behind. Even in flow layout , other component cannot able to acquire its place.

Is it possible to connect to an XML node which we don’t have a corresponding node in schema?

Or How will you get the data from an XML node for which we haven’t define in XSLT?

How to get 2 different headers/footers on consecutive pages and the header on the second page should continue to rest of the pages?

How to generate a form with first page in portrait and second in Landscape?

  Part 2


How to set the margins?

How to set the default Page Size?

How to create a Repeating table?

How to create a repeating row in a table?

How to create a dynamic header /footer?

What are the layouts available for a sub form?
How to decide to go for a new fragment or use same fragment with scripts?
Is it possible to digitally sign a pdf doc and if yes How?

How can we edit a password protected form with out password?
It is not possible to edit a password protected 
How to lock the form fields after form design is finalized?

Difference between addInstance and setInstance?


 Part 3: Advanced Adobe Livecycle Interview questions:

Is Adobe LC Process thread safe or not?

Difference between short live and long lived process?

When short lived process used and when to use the Long living process?

How will take back up of Adobe LC server?

What are the types of variable available in process management?

What are the advantages of using variable with Configurable variable?

 The main advantage of using a configurable variable is that it can be changed at any point of time through administration console. This will not result in a deployment.

How is version management handled in Adobe LC?

Adobe LC have it own version management system. Every time you have new changes you can create a new application version. You can check out any version of file as ALC keeps history of all files checked in earlier.
You can roll back to any version in the history.

What is the difference between save and check in?

When you check in a file changes are saved to Adobe Livecycle repository.
When you save a file , you latest changes are saved to you local files system.

How to get the latest file from the server ?

If you are using Adobe LC work bench for the first time after installation you can use get Application function which will help you to get the latest version from the Adobe LC server.
If you are already having old version of an application. Right click on the application and select Synchronize.
This will help you to get the latest files.

Note: If you have updated file make sure that you have checked in the updated files from your local system.
Different ways of invoking Adobe LC services?

what are interactive forms?
PDF in which user can able to enter data, interact with the user based on users action such as validation on exit, Growing fields based on data keyed in by  user.

what is a portfolio? How is it different from others?
You can assemble a PDF Portfolio using the Assembler Java and web service API. A portfolio can combine several documents of various types, including word file, image files (for example, a jpeg file), and PDF documents. The layout of the portfolio can be set to different styles like the Grid with Preview, the On an Image layout or even Revolve.

How to debug a Process?

Adobe Livecycle workbench provide record and Play function which can be used for debugging the process. Recording will capture the workflow and values used and stored in the variables.
By playing the records we can able to debug the process.

what are the best practices one should follow while process management designing?

Is it possible to Save data in a PDF? If Yes How?

Yes it is possible to save data in the PDF. The PDF need to be reader extended.
It can be done either by using Acrobat Professional or by Adobe LiveCycle Reader Extension services.

What is a flattened PDF and how can we change an interactive PDF to a Flat PDF?

An interactive PDF changed to non interactive PDF can be termed as flattened PDF.
An interactive PDF can be converted to flattened pdf either by using a JavaScript or by using Adobe LiveCycle services.

How will you create custom components in Adobe LC process management?

What happens when same XML node is bound to Two fields in same table?

First field can simply bind to the xml node . In order to connect second field to the same XML node in same form we have to use scripting.

What happens if two fields in the same form are bound to same XML Node?
The first field will work normally as expected. The second will fail to populate data.


Binding or scripting which one is fast way to get data?
Binding is faster compared to Scripting to get data.

How to make forms having multiple pages based on the amount of data?

We can stitch forms in two ways one In forms side and in Process side? How is it? And when ?

There are 2 ways to stitch forms.


   1)  By Forms 

Include all the needed forms in template design and hide it.  Make it visible only when required based on the business logic. Here we refer to the data (in a field) based on that data we will display the required pages and the remaining unwanted pages remain hidden.

    2)  By Process

In process we can use an Assembler service to create a portfolio by stitching in different PDF to one Single PDF file.

What are the 2 different scripting language used in LC forms?

FormCalc and JavaScript.

Advantage :
Formcalc: Have many inbuilt functions like exist(). Very handy while coding.
JavaScript: Lot of support and code available over internet.



What are layouts and what are the different types of layout in Adobe Livecycle forms?

Layouts are the order in which the components in a forms are arranged. 
In Adobe Livecycle we have  "Flow" layout and "Position" layout.

What are difference between Flow Layout and Position layout?
In Flow Layout the components will get aligned in either Left to Right or from Top to Bottom.
User can choose the order in which the components get aligned.
Components will maintain its order of alignment by readjusting itself when components starts growing.

In Position Layout the Components are aligned at its original position.

Is there a change in fragment affect all Forms using the Fragment?

A change in fragment will reflect on all the forms which is using the fragments.