Tag Archives: LiveCycle

Converting HTML pages to PDF containing Middle-Eastern and Indic characters with LiveCycle ES4

When you convert a file that contains characters of Middle-Eastern or Indic languages to a PDF document, the characters of Middle-Eastern and Indic languages does not appear in the output document. To convert the documents that contain characters of Middle-Eastern or Indic languages to a PDF document, use Adobe Acrobat WebCapture.

To know more, read Sudhanshu Singh's blog post on the LiveCycle blog.

LDAP: error code 12 – Unavailable Critical Extension

The issue LDAP: error code 12 – Unavailable Critical Extension commonly occurs when asking an LDAP Server to return paged results but the LDAP doesn’t support the PagedResultsControl extension.

  • SunOne 5.2 and 6.3 don’t support PagedResultsControl extension.
  • Active Directory and other LDAP servers support PagedResultsControl extension.

Working of pagination during LiveCycle sync from an LDAP server
In LiveCycle, users and groups are synched from an LDAP server in batches of 200.
When the results returned from an LDAP server is >= 200, then an AutoDetectionLogic is automatically enabled.
This AutoDetectionLogic seeing that the LDAP server is SunOne, automatically disables paging.
This AutoDetectionLogic seeing that the LDAP server is AD or non-SunOne, automatically enables paging.

There have been cases where an Enterprise has a proxy server in between which acts as Active Directory but the ultimate LDAP server running behind is SunOne.
In such a scenario, the AutoDetectionLogic is forced to enable paging because of the proxy server acting as Active Directory.
Hence, when the communication ultimately happens with SunOne, we get the error and sync fails.


Read the complete post at Amit Pugalia's blog.

Adobe Digital Rights Management Technologies – ACS vs. LCRM

When we meet with companies we get a substantial number of questions about how to protect digital content. Adobe has at least 2 offerings in the Digital Rights Management space, Adobe Content Server and Adobe LiveCycle Rights Management. These products both fall into the DRM category, but they solve very different problems for very different markets. This article will discuss the capabilities and licensing of each and what problems they are targeted at solving.

Adobe Content Server – DRM for Commercial eBooks

This product, also known as ACS, is capable of securing content in the ePub and PDF file formats. The product is sold by Adobe partners as a server license, and there are transaction charges incurred for each individual content license granted.

The target market for this offering is eBook or other digital content distributors such as Sony, Kobo, Barnes & Noble or Google. Content is licensed on a one to one basis and rights are applied at the time a specific item is purchased. More specifically, content is licensed to an individual with a specific Adobe ID or Vendor ID, and may not be consumed on reading devices that are not registered with that ID. ACS provides granular control over the rights that may be granted with each content license. For example a book store may sell a popular title for one price with the rights to read it on multiple devices, re-download it a future date and print a range of pages, and may also have the same book listed at a different price with more restrictive rights. Once rights are applied, generally at purchase time, these rights cannot be modified or revoked.


Read the complete post at Datalogics Blog.

Avoiding LiveCycle Kerberos based SSO problems for Active Directory users with large group memberships

Many LiveCycle customers implement kerberos based SSO in their deployments.

We recently came across an interesting customer situation where SSO did not work for some domain users. To recap working scenario – If LiveCycle SSO is configured correctly, when domain user opens workspace URL from  domain machine, workspace should directly open without asking for user credentials again.

In this case, it wasn’t working for some domain users; but worked for others.

Investigating further we found that non-working users were part of 100+ AD groups resulting in a large kerberos token size.

Customer was using JBoss 4.2.1 with LiveCycle ES2.5.


Read the complete post at Adobe LiveCycle Blog.

LiveCycle forums have gone thinner!

Adobe LiveCycle forum is a platform where LiveCycle community meets, learns, and discusses experiences about using LiveCycle. We are committed to provide the best user experience to the community when they are on the forum, and we have taken a step in that direction.

The LiveCycle forum, until sometime ago, comprised of 70 forums and sub-forums. We monitored the forums and found that the unnecessary bulk is making it difficult for the community to manage discussions and participate on the forum. As a result, most of the are inactive as it was unintuitive to drill-down to the correct forum for discussions.

As we understand the importance of a close-knit community, we have optimized the forum structure, so that it is easier for the community to search, post, and participate on the forum. The new forum structure is thin, focused, searchable, and easy to manage.

In its new look, the LiveCycle forum has relatively flat hierarchy, but with a logical grouping of discussions. The streamlined new structure includes seven top-level forums, including one forum with 14 sub-forums. The flat hierarchy relies on the tags for filtering discussions related to a specific area of LiveCycle.


Read the complete post at Adobe LiveCycle Help blog.

Adding a custom service in Correspondence Management Solution

- Mayank Gupta, Computer Scientist @ Adobe

Steps to add a custom service in Correspondence Management solution are as follows:

  1. The implementation for this user story involves code changes and rebuilt. So, one is required to setup the development environment via steps mentioned @ Setting up development environment.
  2. Add your sample custom service interface and implementation class in the CorrespondenceManagementSolutionTemplate/Services project for example @ com.adobe.icc package in the source code. See the sample @ http://blogs.adobe.com/LiveCycleHelp/files/2012/06/SampleCustomService1.zip.
  3. Now define your service as a spring bean. For this, add the following entry in your CorrespondenceManagementSolutionTemplateServicesresourcesMETA-INFspringcmadobe-cm-spring-config.xml file: <bean id=”sampleCustomService” class=”com.adobe.icc.SampleCustomServiceImpl” />
  4. Now expose your spring bean as a osgi-service. For this, add the following entry in your CorrespondenceManagementSolutionTemplateServicesresourcesMETA-INFspringosgi-context.xml file: <bp:service interface=”com.adobe.icc.SampleCustomService” ref=”sampleCustomService” > <bp:service-properties><entry key=”connectors.httpinvoker” value=”true” /> <entry key=”connectors.httpinvoker.alias” value=”/sampleCustomService” /> <entry key=”connectors.remoting” value=”true” /> <entry key=”connectors.remoting.id” value=”sampleCustomService” /> </bp:service-properties> </bp:service>
  5. Rebuild and redeploy the Solution template to view the changes. For information on rebuilding and redeploying, see Building and deploying the Solution Template.

Debugging Livecycle Data Services in Livecycle ES

The other day I was spending some time with a client of mine who ran into an issue with a Flex Remoting endpoint in Livecycle/ADEP

Essentially what happened was that within an object tree supposed to be sent from the Flex application to a Livecycle endpoint contained a lot of unexpected null references. Monitoring the AMF remoting traffic with Charles showed however that the data was serialised fine on the Flex side of things. At the other end of the wire though, something clearly went wrong. Even more confusing was that the serialisation seemed to work fine for non-complex data types which led us to the suspicion that the conversion of ArrayCollections to Java generics was setup incorrectly.

Without elaborating on details of coding and configuration switches that can modify how all that works in depth (hint: IExternalizable and java.io.Externalizable are your friends…), I rather want to explain some other configuration settings that a lot of people wouldn’t be aware of, but that are extremely helpful when you run into a possible serialisation problem.


Read the complete post at Blog In Black.

Accessing .properties files within a Livecycle ES/ADEP DSC

The other day Darren asked about how to access a properties file with some settings from within a Livecycle ES resp. ADEP DSC on the livecycle developers mailing list. I responded there, but I thought it’d be useful to post the solution here as well.

Essentially a Livecycle/ADEP DSC is nothing else but a .jar file that’s been crafted in a certain way. Darren wanted to have the .properties file within the DSC and needed to know how to access the file from Java code within the DSC. Here’s a working approach how this can be done:


Read the complete post at Blog In Black.