Posts tagged forms
If you try to render an XFA form as HTML, chances are that you will encounter the following error: ERROR [com.adobe.livecycle.formsservice.exception.FormServerException] (http-0.0.0.0-8080-97) ALC-FRM-001-006: URI not found: /scripts/xfasubset.js Cause: scriptsxfasubset.js (The system cannot find the path specified) xfasubset.js is a BLOB … Continue reading →
Original article at http://blogs.adobe.com/ADEP/2011/09/how-to-avoid-missing-xfasubset-js-error-in-adep-forms.html.
If you are developing multiple forms / fragments inside your application whereby some forms look similar, a common way is then to copy some XDP-files at some point to make specific changes to these forms. What most developers don’t realize is that doing a copy on the OS (not doing a Save As in Designer) could have major performance impact while rendering forms.
To better understand why this is, you have to go into the details of the caching mechanism used by forms and output.
If you want to know more on this, please read this document. In most cases the filename and path are used to determine the cache key, when this is not available (e.g. template is passed in by value), the caching is based on the following metadata line inside your XDP :
<xdp:xdp xmlns:xdp=”http://ns.adobe.com/xdp/” timeStamp=”2010-12-01T14:00:26Z” uuid=”324b5d64-7aff-4beb-88a5-3ded2dde1819″>
Based on the combination of “timeStamp” and “uuid” it is determined whether the form is already cached or not. This seems to be very straightforward, you would think. However, where you have copied XDP-files, you have the following situation
<xdp:xdp xmlns:xdp=”http://ns.adobe.com/xdp/” timeStamp=”2011-05-05T16:00:10Z” uuid=”324b5d64-7aff-4beb-88a5-3ded2dde1819″>
<xdp:xdp xmlns:xdp=”http://ns.adobe.com/xdp/” timeStamp=”2011-05-05T15:59:35Z” uuid=”324b5d64-7aff-4beb-88a5-3ded2dde1819″>
When you render File1.xdp and File2.xdp one after the other, Forms and Output assume that the XDP has been changed and therefore the cache need to be rebuilt. Functionally you won’t see a difference, but performance-wise you will see a lot of expensive operations because the cache gets constantly invalidated.
A way to see this is to use JMX whereby you expect invocation-times that are constant, when the cache is invalidated you will see spikes in the timings on these operations.
How to get an unique uuid?
Basically you have two ways to renew your uuid with Forms Designer.
If you use File->Save As, Designer will automatically assign a new uuid to your XDP-file
2. Remove uuid
If you go into the xml source of Designer, remove the uuid attribute and save the XDP file, Designer will assign a new uuid.
Checking on shared uuids
We have created an ANT script that helps you to identify XDP-files that share the same uuid. The tool inspects all XDP-files and compares the uuids used. When it finds XDP-files with the same uuid, an error is printed.
You can see an example of that here :
[echo] Checking UUIDs ...
[java] ERROR: Found duplicate uuid 324b5d64-7aff-4beb-88a5-3ded2dde1819 in
File1.xdp and File2.xdp
In the README.txt inside the uuidchecker.zip you will find a brief explanation on how to use this tool.
Original article at http://blogs.adobe.com/livecycle/2011/05/copying-xdp-files-and-the-impact-on-performance.html.
How to Invoke LiveCycle Forms from an Existing XDP Form in Acrobat/Reader or Browser Plugin and Get Another Form Rendered Back to the Client
Lately I have had a request from a customer of mine who wanted to modify existing XDP forms (ie. change a label or a field value) on the fly without going in LiveCycle Designer (ie. the procedure would imply costs for hiring the dev department).
His idea was to have a Form A, in which he would be able to specify the changes he desires to have in the Form B, submit the form A to a LC orchestration which would apply the changes and render the Form B back in Acrobat/Reader or even the browser plugin.
Here I am only covering the call to LC and the rendering back to the client.
Note: I am using LCES 2 SP2 (184.108.40.206) running on Jboss.
So we have Form A that could look like this:
As we can see we have a few fields that would mean something to Form B and as an end user we will open Form A in Acrobat/ Reader or even the browser plugin to enter the value we want to see in Form B.
We need to go in LC Workbench to create an orchestration which will render Form B:
We can find the right URL for the call by selecting the Default startpoint properties:
Since I going to run the test on the same machine where Livecycle is running the URL looks like this:
Note: “test” is the name of my application and “renderForm” is my process (orchestration) and 1.0 is its version.
This is the URL I put in the submit button in Form A (see first screenshot).
In order to make the call successful, we need to create variables to match the fields in Form A: Name, FormContent and MainParagraph.
Of course, in the scenario where you want to modify Form B with Form A fields values, you would need those variables to apply the desired changes.
Note: by matching i meant the variables name and type (most of the time it would be string but you can have list as well).
Here I am only rendering the Form B without any changes so I did not bother adding more activities in my orchestration which would utilise those variables.
Once the orchestration and the forms have been saved and the application deployed on the server, all we need is to open Form A in the client of our choice, here I used Internet Explorer so we can see the URL at the top.
I click on the button “open form via REST” and the login request pops up and i use my LC credentials to access:
Once logged in Form B is appearing in the same window:
Note: When using Reader or Acrobat, it will open a new window for Form B.
No need to Reader Extend Form A to make it work hence it works in Reader standalone and plugin.
Original article at http://blogs.adobe.com/ADEP/2011/08/invoke_forms_from_xdp.html.
Do you want to learn how to bind dynamic forms fields to schema in Adobe LiveCycle Designer ES2? Here is a tutorial provided by one of our Adobe partners, Twin Technologies! The article is posted on Adobe DevNet here.
Original article at http://blogs.adobe.com/livecycledocs/2011/03/tutorial-to-bind-dynamic-fields-to-a-data-schema.html.
1- using the attachments tab
I have included the PDF which allows the user to add attachment , view the attachment and deleted the selected attachment from the form.
Please click here to access the formPDF Form
PS- THIS WILL ONLY WORK WHEN YOU OPEN THE FORM WITH ACROBAT.IF YOU WANT IT TO WORK IN READER YOU WILL NEED TO APPLY USAGE RIGHTS USING THE READER EXTENSIONS ON THE SERVER
Original article at http://eslifeline.wordpress.com/2009/04/06/adding-attachments-to-pdf-form/.
Very common request- how do I extract data from a Signed PDF using livecycle ES
To do this you will need to have livecycle server software installed. This example uses processFormSubmission service operation of the forms component.
Attached is the PDF which explains the process and it also has the process lca and the test file need to run the process
This process can be used when you are getting the signed PDF from email/watchedFolder. This process can also be used when you are submitting the signed pdf from workspace
Original article at http://eslifeline.wordpress.com/2009/04/25/extracting-data-from-signed-pdf-using-livecycle-server/.
Many a times you would like to perform field level validations, before submitting the form by email. Also a lot of you would like to hide the submit button when the form is emailed to the end user
I have included a simple form which demonstrates this capability
Please click here to get the pdf
Click Here to get the pdf
Let me know if you have any further questions
Original article at http://eslifeline.wordpress.com/2009/01/28/disabling-form-fields-with-validation/.
Very soon a connector for MS Sharepoint Server will be released. This offers bi-directional integration options to either connect to Sharepoint from a LiveCycle process, or to connect to a LiveCycle service from a Sharepoint document/folder.
I have recorded a demonstration that shows you how to store the result of a forms process in LiveCycle in a Sharepoint folder. I have used a very simple holiday request form that is filled in from the LiveCycle Workspace. After filling it in a static PDF is generated using the Output service and the result is stored into Sharepoint using one of the standard services. Check out the recording on http://www.vimeo.com/9378807
Original article at http://www.drflex.eu/2010/02/livecycle-es2-integrated-with-ms-sharepoint-server-2007/.
Very common request – I am able to email a pdf form great, but how do I change the email recipients,Subject,Body. I found a very useful post on Stefan Cameron’s blog
I copied his code to create a similar form
The form is posted hereClick here to get the pdf
This form submits the whole pdf as email attachment.
If you are using Acrobat 8.x and above you will have no problem is testing the form out
But if you are using Reader to test the form, it will not work unless you Apply Reader Rights
The instruction to apply Reader rights are here
Let me know if you have any questions
Original article at http://eslifeline.wordpress.com/2009/01/28/modifying-email-when-emailing-a-form/.
Lot of customers have a need to assemble task attachments into a single PDF at the end of the process for archiving. I have written a simple process which shows you the steps involved. I have made use of two custom components for this exercise.
The following document contains a process which assembles task attachments into a PDF
Click here to get the PDF
Let me know if you need any more help
Original article at http://eslifeline.wordpress.com/2008/11/06/assembling-task-attachments/.