Posts in Category "Tips and Tricks"

XFA-based PDF forms on Firefox 19

With the release of Firefox 19, Mozilla introduced a built-in PDF viewer. However, the XFA-based PDF forms do not open in the PDF viewer, by default. To open these forms using Firefox 19, you’d need to configure Firefox to open PDFs in Adobe Reader or Adobe Acrobat.

For more details on how to accomplish this, see the knowledge base article at http://helpx.adobe.com/livecycle/kb/xfa-forms-mozilla-firefox-19.html.

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

Importing LiveCycle DSCs using command-line

- Ankush Kumar, Lead Software Engineer @ Adobe

Many a times, we have the requirement to deploy single or group of system or custom DSCs. System DSCs are deployed by LiveCycle Configuration Manager. However, in the case of custom DSCs, we need to manually deploy the component through LiveCycle Workbench. Sometimes, launching Workbench for solely deploying component seems like too much effort. Moreover, it’s not very easy to automate.

You can use the attached sample tool to deploy a DSC using command-line.

  1. Download and extract the tool archive on your machine. It contains a folder libs, a runme.bat file, and an ImportDSC.jar file.
  2. Place <LiveCycle Installation Dir>\sdk\client-libs\thirdparty\*.jar files in libs folder.
  3. Place adobe-usermanager-client.jar and adobe-livecycle-client.jar files in libs folder.
  4. Modify runme.bat accordingly.

The ImportDSC.jar is used in the following way in the runme.bat file (provided classpath is set):

java com.adobe.livecycle.sample.ImportDSC appserver=<websphere|weblogic|jboss> serverhost=<name of machine> port=<port of LC> username=<user to install DSC> password=<password of mentioned user> dscpath=<absolute path till DSC> force=<true|false>

The source code is also included in the archive. Please review it in case of any doubt and modify as per your requirements.

DISCLAIMER: This sample code is not officially delivered or supported as part of Adobe LiveCycle product. One should verify this on a testing environment before employing in production environment.

 

 

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

Debugging LiveCycle – Working with logs (Part 2)

- Ankush Kumar, Lead Software Engineer @ Adobe

In Debugging LiveCycle – Working with logs (part 1), we covered how to handle logs at application server level. In this blog, we will cover a few areas where we can fine tune the logging in applications itself.

 LCM Logs

As you might have noticed LCM logs are found at <LiveCycle Installation Location>/configurationManager/log. Default logging level of this is INFO. This is governed by properties file kept inside adobe-lcm.jar: \com\adobe\livecycle\lcm\logging\log.properties.

Using this property file, you can:

  • Change Logging Level
  • Define file location and file name.
  • Define rotation policy

If you want to overwrite the default location of this file to a more convenient location, you can do so by modifying <LiveCycle Installation Location>/configurationManager/bin/ConfigurationManager.bat and specifying following system property:

-Djava.util.logging.config.file=<path to file>

 Generating ORB Trace

While working with natives like XMLForms, you can sometimes run into issues where an application abnormally terminates. Following parameters help in generating extra trace information for debugging such issues.

These are required to be placed as argument to the native application:

-ORBtraceLevel 25 -ORBtraceThreadId 1 -ORBtraceInvocations 1 -ORBtraceInvocationReturns 1 -ORBtraceTime 1 –ORBtraceFile <Path to log file>

Also, when we are debugging an issue related to native applications, in System Out logs we can find system natives being invoked and a large IOR is passed to them as input. This IOR can be analyzed by many easily available IOR parsers. (Just Google for them). This can be first step towards debugging natives related problem.

Variable Logging

In order to better understand and debug an orchestration, LiveCycle offers excellent process debug feature. Using workbench, one can easily trace every step of a process and find what exact values any variable hold. For more information, one can refer this blog.

http://blogs.adobe.com/shwetank/2011/11/21/process-recording-feature-of-livecycle-workbench/

But sometimes this gets difficult due to environment constraints and performance overheads. One may want to introduce a step which will log current state of all variables in either System Out log or the log of your choice.

This can be accomplished using Variable Logger service. One can introduce this while designing the orchestration. Now each time the orchestration runs, the values of variables will be logged as the step is executed.

Other Application Logging Locations

Content Services and CMSA Logs

Content Services and CMSA logs are created in working directory of the application server.

LiveCycle Installer Logs

Installer logs can be found in following two locations

  • <LiveCycle Installation Home>
  • <LiveCycle Installation Home>/logs

Service Pack Logs

Service pack logs can be found at <LiveCycle Installation Home>/patch/<Patch Name>/log

CRX and Correspondence Management Logs

From ES3 onwards, you will find CRX and CM logs at <CRX Repository Directory>/logs. (More on this will be covered in next part of blogs)

PDFG Configuration Logs

  • PDFG System Readiness Testing Logs:  <LiveCycle Installation Home>/pdfg_srt/reports
  • PDFG Config Logs: <LiveCycle Installation Home>/logs
VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 10.0/10 (1 vote cast)

Troubleshooting Common LiveCycle Configuration Errors

- Shishir Pandey, Software Engineer @ Adobe

The following lists the common configuration errors, why they occur, and steps to troubleshoot them.

  • Error: Component: com.adobe.xxx version: 10.0.3.20120511.1.316647 introduced a new service, it should not be patched
    Reason: This issue generally occurs when order of operation in Configuration Manager is incorrect after applying a patch. That is, the deployment of the component is performed before configuring and deploying of the EAR files. It usually occurs in command line execution because each step is run separately in this mode.
    Workaround: Re-run the Configuration Manager and ensure that configuration and deployment of ear is done before deploying components.
  • Error: In case of Weblogic, a “null” folder gets created after deploying EARs.
    Workaround: Stop the managed-server first, followed by the node manager, and finally stop the admin-server. Restart them in reverse order. You will see a folder Adobe gets created in the Weblogic domain.
  • Error: The following error occurred while executing this line: java.lang.OutOfMemoryError: Java heap space
    Reason:  This issue generally occurs if the XMX setting is missing from the server configuration.
    Workaround:  Increase the XMX value for the server or restart the server, and re-run Configuration Manager.
  • Error: weblogic.management.NoAccessRuntimeException: Access not allowed for subject: principals=[], on Resource AdobeService Operation: set , Target: EnableSSL at com.adobe.livecycle.bootstrap.bootstrappers.CoreBootstrapper.bootstrap(CoreBootstrapper.java:60)
    Reason:  This error generally occurs due to missing JMX policies in case of Weblogic during the Initialize LiveCycle step of the Configuration Manager.
    Workaround: Configure JMX as described in Creating JMX policies for database initialization. Restart the server and re-run the Initialize LiveCycle step.
VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 7.0/10 (4 votes cast)

Debugging LiveCycle – Working with Application Servers

- Ankush Kumar, Lead Software Engineer @ Adobe

Enabling Debugging

WebSphere

  1. Go to Websphere console -> Servers -> Application servers -> server1 -> Process Definition -> Java Virtual Machine.
  2. Enable the checkbox against Debug Mode.
  3. Fill in the following as debug arguments in the text box:
    Djava.compiler=NONE -Xdebug -Xnoagent
    -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777

Weblogic

  1. Go to Home >Summary of Servers >DocServer Server Start tab.
  2. Edit arguments and add:
    • For JRockit R28 and above -XX:
      agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787
    • For others:
      Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777

JBoss

Add following in run.conf (for Non-Windows) and run.conf.bat/run.bat (for Windows):

  • Non-Windows: JAVA_OPTS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n $JAVA_OPTS
  • Windows: set JAVA_OPTS=”-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n %JAVA_OPTS%”

Taking Thread Dump

If the server is started through a console/command line and not as a service, press a ctrl+z. The thread dump would be logged in the console window/console logs.

If the server is running as a service, do the following:

Windows

You can use a utility SendSignal. Follow the docs at this URL.

Unix

Identify the process id and then fire command

kill -3 <pid>

JBoss

Got to <jboss_home>\bin and execute following command:

twiddle.bat invoke “jboss.system:type=ServerInfo” listThreadDump > threaddump.html

Weblogic

For Weblogic 10 R3 you can use following way. Go to Weblogic Console -> Environment -> Servers On left side. Then select <your server> -> Monitoring tab -> Threads -> Dump Thread Stacks.

It will display the thread info.

Websphere 6

  1. Login to the machine where the WebSphere server is running.
  2. Open a command prompt and change directory to /WebSphere/AppServer/bin.
  3. Type wsadmin (will take a minute to connect – if authentication is enabled, it will prompt).
  4. Enter set jvm [$AdminControl completeObjectName,process=server1,*].
    • Replace server1 with the actual server you want to take a thread dump from (has to be local to this machine).
    • Enter $AdminControl invoke $jvm dumpThreads.

The thread dump is created in the profile folder for the server you created a dump for. There should be a “javacore.someText.txt” file created. If it’s a cluster, you’ll have to repeat the above steps for each server.

Websphere 7

Using JConsole. Connect the JConsole present in IBM JDK and trigger threaddump using that. You would have to follow the steps mentioned here for it to get to work.

Capturing SQL Logs

The SQL queries by UM can be logged using the default logging system for that system. Following two categories should be used:

  • com.adobe.idp.storeprovider.jdbc – Logs all the queries fired with the value populated.
  • storeprovider.stacktrace – This would also log the stacktrace of the thread which fired the query.

The logging level should be set to TRACE or the lowest for the queries to be logged. For the POF layer use the category com.adobe.pof.adapter for seeing the queries getting fired.

 

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

LiveCycle PDF Generator – Tips and Tricks

- Saurabh Kumar Singh, Computer Scientist at Adobe

 

Following are a few tips and workarounds for LiveCycle PDFG. Please note that the workaround marked as unsupported are not officially supported by Adobe.

  • [Unsupported] On UNIX servers customers can use 64-bit OpenOffice to do OpenOffice based conversions. The obvious benefit from this is the performance improvement we get. To achieve this just point JAVA_HOME_32 to 64 bit version of Java. Same can achieved on widows too but you may observe immediate conversion failures for other native file formats.
  • [Unsupported] Any file which can be opened by Acrobat (like a text file) can be converted to PDF using LiveCycle PDF Generator. You just need to add the comma separated file extension (for example txt for text files) in XPS to PDF file-type setting.
  • A user/administrator can directly jump to PDF Generator UI by hitting http(s)://<server-name>:<port>/pdfgui. This way a user can skip couple of clicks on UI to land on PDF Generator user interface.

Watch this space, for a lot more upcoming tips and tricks.

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

ADEP: Flex tile is blank? Use the supported Flex SDK version

I recently had the opportunity to help troubleshoot a Composite Application Framework issue. A member of our community worked through the Create a composite application module of the Create Your First ADEP Experience Server Application tutorial.

Problem: The Flex tile did not populate (it was blank), although the HTML tile appeared fine.

Solution: Use Flex SDK 4.5. Do not use version 4.5.1

Note: This problem/solution applies to ADEP 10.0.0.0. I don’t know what version of the SDK that future ADEP/CAF releases will support out-of-the-box.

If you used Flex SDK 4.5.1 by mistake, here is how to configure the project and tile to use Flex SDK  4.5.0:

  1. In Flash Builder, right-click the Flex project for ADEP and click Properties.
  2. In the properties tree, select Flex Compiler.
  3. At the top of the Flex Compiler panel, set the SDK version to Flex 4.5.
  4. Click OK and when the scary message about overwriting the html-template pops up, click OK.
  5. Open the catalog file (.cxml).
  6. Locate the tile:TileClass element for your tile and in the tile:Content child element, change the value of the flexSDKVersion attribute to 4.5.0.
    <tile:TileClass fitContent="true" height="300" label="WatchedFunds" name="WatchedFunds" width="600">
          <ct:Metadata>
               <ct:Description/>
          </ct:Metadata>
          <tile:Content contentType="application/x-shockwave-flash" flexSDKVersion="4.5.0" loadAs="module" uri="${catalogURL}/tiles/WatchedFunds/WatchedFunds.swf"/>
    </tile:TileClass>
  7. Save the file.

Scott (Brodersen)

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

Installing and working with the Windows service for the ADEP Experience Server

Although you can start your ADEP Experience Server by double-clicking the Quickstart JAR file or the Windows batch file, most people will find it convenient to install the Experience Server as a Windows service. It will configure the Experience Server to start automatically when your Windows restarts and, helps you control the start and stop operations of the Experience server by using the Services control panel.

Install Experience Server as a Windows service

To install a Windows service for your Experience Server:

  1. Open the command line interface and navigate to the [ExperienceServer root]/opt/helpers/ directory.
  2. Execute the instsrv.bat <serviceName> command to install the Experience Server as a Windows service.

Verify the installed Windows service

You can verify the installed Windows service in the Services control panel. To open the Services control panel,  execute the start services.msc command from the command line interface or select Start > Administrative Tools > Services.

Windows service operations

To start the Windows service, do one of the following:

  • In the Services control panel, select the Windows service and click Start.
  • In the command line interface, execute the net start <serviceName> command.

To stop or restart the Windows service for the Experience Server, click Stop or Restart, on the Services control panel.

Uninstall the Windows service

To uninstall the Windows service, execute the instsrv.bat -uninstall <serviceName> command on the command line interface. The Windows service gets removed from the Services control panel.

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

Exciting new articles on using Managed Review & Approval Solution Accelerator 9.5

Here are two more great posts from Alexandra Phillips on Managed Review & Approval Solution Accelerator 9.5. You will certainly find these post useful if you are implementing Managed Review & Approval as Alexandra shows you how to display a list of participants in the review emails and how to retrieve a RSS XML file to list all the comments made by reviewers for a document!

Check out the following articles:

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

Exciting new tutorial using LiveCycle Designer 9.5

Twin Technologies continues to share their knowledge with the Adobe LiveCycle community. Jack Freudenheim and Benjamin P. Lyons show you how to prepopulate drop-down lists in a dynamic PDF form using a back-end datasource in a tutorial. Check out this very informative tutorial here.

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