Archive for October, 2011

LiveCycle ES2: service version not updated when patching DSC components

Issue

If you are patching DSC components through Workbench and using version numbers to track your updates, you may notice that the version of the service does not get updated.  The service has actually been updated and the new functionality should be available.

Reason

This is a product issue in LiveCycle ES2 where the service version number does not get updated correctly when deploying an updated component.  You can check the version numbers in Workbench after deploying the component, or you can check in AdminUI > Services > Applications and Services > Service Management:

The version numbers for the services can be updated in the component.xml file included with your DSC component JAR file.  The following line is used to define the service version number:

      <auto-deploy service-id=”Log” minor-version=”0″ major-version=”1″ category-id=”neo-onboarding”/>

Solution

This issue is fixed in ES3 (LiveCycle 10).  There is a patch available for LiveCycle ES2 SP2 (9.0.0.2) and LiveCycle ES SP4 (8.2.1.4), so contact enterprise support if you require one of those patches.

With the fix, the service versions will be updated correctly as follows:

reference: (182724548/2749526)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 8.0/10 (1 vote cast)

LiveCycle ES2: SECJ0305I error in WebSphere log when using an email endpoint

Issue

When using an email endpoint in LiveCycle ES2 on WebSphere, you may notice the following error in the server log each time the email endpoint is invoked, or scans for new emails:

00000020 RoleBasedAuth A   SECJ0305I: The role-based authorization check failed for naming-authz operation NameServer:bind_java_object. 
The user UNAUTHENTICATED (unique ID: UNAUTHENTICATED) was not granted any of the following required roles: CosNamingWrite, CosNamingDelete, CosNamingCreate.
00000020 EmailReaderIm E com.adobe.idp.dsc.provider.service.email.impl.EmailReaderImpl getEmailSourceLock NO_PERMISSION exception caught

Reason

This error is repeatedly sent to the server log due to missing permissions for the CORBA naming service groups in WebSphere.

Here is the configuration with the missing privileges:

Solution

By making a small change in the WAS admin console you can resolve these errors.  You need to add the privileges for “Cos Naming Write”, “Cos Naming Delete” and “Cos Naming Create” to the CORBA naming service groups.

Open the WebSphere administration console

Goto Environment > Naming > CORBA Naming service groups

Add the following privileges “Cos Naming Write”, “Cos Naming Delete” and “Cos Naming Create”

Restart the WebSphere application server for the changes to take affect

Here is the correct configuration:

reference: (182724546/2998051)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 7.0/10 (1 vote cast)

Acrobat: Syntax problem: Indirect object has object number not preceded by an EOL marker

Issue

If you are using Acrobat Preflight or LiveCycle DocConverter to validate PDF/A documents you may encounter the following error after validation:

Syntax problem: Indirect object has object number not preceded by an EOL marker

Reason

The PDF standard stipulates that a PDF contains lines, each of which will be terminated with a CR, a LF, or both.

If you analyze the Preflight report you will be able to see which object is causing this error.

In this case Preflight is complaining that there is no EOL marker before the “1 0 obj”.

Open the PDF in an advanced editor like Notepad++ and check the CR and LF characters on all the lines surrounding the “1 0 obj”.

There are EOL markers (CR and/or LF) surrounding the “1 0 obj” object.  This must be caused therefore by a problem in the cross-reference table in the PDF file.  If you scroll to the bottom of the file in Notepad++ you will see a table similar to the following:

xref
0 11
0000000000 65535 f
0000000017 00000 n
0000000115 00000 n
0000186286 00000 n
0000000182 00000 n
0000000340 00000 n
0000000485 00000 n
0000186388 00000 n
0000186599 00000 n
0000189276 00000 n
0000190175 00000 n

This is the cross-reference table which allows direct access to all objects in the PDF file (like the index in a book).  The first line is a summary of the table (starts with object 0, and contains 11 objects).  The rest of the lines make up the index of those 11 objects.  Lets analyze the line entry for object 1 (0000000017 00000 n).  The value 17 is the number of bytes from the start of the PDF file where the object 1 should be located.  The other values (00000 and n) are the generation number and a flag to tell if the object is in use or free (more info on these objects here: http://labs.appligent.com/pdfblog/pdf_cross_reference_table.php).

So we know that the object 1 should start after 17 bytes in the PDF file.  However if you use Notepad++ to select the bytes up to position 17 you will see that it refers to the position after the “NUL” object, and before the EOL markers (CR LF):

Note the selected text and the byte count in the status bar “(17 bytes)”.  It should be pointing to the start of the next line where the “1 0 objCRLF” entry is located (i.e. byte 19).

Solution

Our recommendation here is to ensure you use Adobe tools (e.g. Acrobat/LiveCycle) to create your PDF files.  The PDFs generated with Adobe software will have a valid structure and will comply with the PDF standards (PDF, PDF/A, PDF/X etc…).

In this case the PDF was generated with an external tool and this resulted in the incorrect entry in the cross-reference table.  Although we would not advise such manual modifications in your PDF file content, you can fix such an issue by manually changing the cross-reference table entry from 17 to 19 bytes so that the “1 0 obj” object is correctly indexed.  The PDF structure is then correct and Preflight can validate the PDF/A.

reference: (182711898/3002114)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 10.0/10 (1 vote cast)

LiveCycle Forms ES: text-overlapping on page break using nested subforms

Issue

If you are using LiveCycle Forms ES to render complex XFA forms as PDF and the forms contain subforms/tables which can split over multiple pages, you may notice some text-overlapping following a page break as follows:

Solution

You can use some processing instructions in the XDP template to control how the page break affects the field content.  There are 2 processing instructions that can be used in this case to fix the text-overlapping issue, so that the contents no longer overlap the field boundaries:

<?layout allowDissonantSplits 1?>
<?layout allowJaggedRowSplits 1?>

You should add these PI’s to your XDP templates only if you are encountering the issue described above.  You can test these PI’s in LiveCycle Designer ES by using the PDF Preview tab.

By adding these PI’s the text-overlapping is resolved and appears as follows on the rendered PDF form:

reference: (182616383/2959283)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 0.0/10 (0 votes cast)

LiveCycle ES2: Search template returns results outside of date filter

Issue

If you are using Search Templates in Workspace ES2 to search for tasks between certain dates for a particular process, you may notice that the results return tasks outside of the specified dates.

This problem occurs when using a localized Workspace and adding the Task Start date in the search template criteria as seen below:

Then you specify a date range when executing the search template in Workspace ES2:

The results returned from the localized Workspace versions are not filtered at all on date, whereas in the English Workspace they are (i.e. it only returns the results between the given dates):

Reason

This is a bug in the localized versions of LiveCycle Workspace ES2 where the results are not filtered by the date criteria specified.

You can check this by using a database logging to track what SQL statements are being sent to the database when the search template is executed.  In the localized Workspace the SQL is as follows:

SELECT  DISTINCT T0.id, T0.status, T0.step_name, T0.route_list, T0.process_name, T0.process_instance_id, T0.action_instance_id, T0.update_time, T0.create_time, T1.id, T1.type, T2.id, T2.status, T2.complete_time, T3.id, T3.workflow_principal_id, T4.id, T4.commonname, T5.id FROM tb_task T0  INNER JOIN tb_assignment T1  ON (T0.current_assignment_id = T1.id) INNER JOIN tb_process_instance T2  ON (T0.process_instance_id = T2.id) INNER JOIN tb_queue T3  ON (T1.queue_id = T3.id) INNER JOIN EDCPRINCIPALENTITY T4  ON (T3.workflow_principal_id = T4.id) INNER JOIN tb_task_acl T5  ON (T0.id = T5.task_id) WHERE (T5.user_id = ’9B365DDD-C7D4-102C-8DFF-00000A24CEC9′  AND T0.process_name = ‘Task_Forwarding/Task_Forwarding_Test’ )

whereas in the English Workspace the SQL contains the date criteria at the end:

SELECT  DISTINCT T0.id, T0.status, T0.step_name, T0.route_list, T0.process_name, T0.process_instance_id, T0.action_instance_id, T0.update_time, T0.create_time, T1.id, T1.type, T2.id, T2.status, T2.complete_time, T3.id, T3.workflow_principal_id, T4.id, T4.commonname, T5.id FROM tb_task T0  INNER JOIN tb_assignment T1  ON (T0.current_assignment_id = T1.id) INNER JOIN tb_process_instance T2  ON (T0.process_instance_id = T2.id) INNER JOIN tb_queue T3  ON (T1.queue_id = T3.id) INNER JOIN EDCPRINCIPALENTITY T4  ON (T3.workflow_principal_id = T4.id) INNER JOIN tb_task_acl T5  ON (T0.id = T5.task_id) WHERE (T5.user_id = ’9B365DDD-C7D4-102C-8DFF-00000A24CEC9′  AND T0.process_name = ‘Task_Forwarding/Task_Forwarding_Test’  AND T0.create_time >= ’2011-08-14 00:00:00′  AND T0.create_time <= ’2011-08-22 00:00:00′ )

Solution

There is a patch available for Workspace ES2 SP2 (9.0.0.2), so contact enterprise support if you require this patch.  The issue will also be fixed in future versions of Workspace (Es2 SP3, and ADEP).

reference: (182579627/2951216)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 8.5/10 (2 votes cast)