Tuesday, January 7, 2014

Troubleshooting LiveCycle Workbench Compatibility errors

I've come across a problem a few times using Workbench when trying to connect to servers only to be told I can't because there is a version number mismatch (even though both Workbench and the server are at the same service pack level).  One way around this temporarily (if you know the versions are the same but for some reason the server version is being reported incorrectly) is to disable the compatibility check in Workbench:

  1. Open your workbench.ini file (usually located in C:\Users\<user_name>\Apps\Adobe LiveCycle Workbench ES3\workbench
  2. Locate the line "-Dcom.adobe.connection.compatibilitycheck.disable=false
  3. Change the value to "true"
  4. Open Workbench and try to connect to the server again

Wednesday, April 3, 2013

Setting up WebLogic as a Windows Service

A common requirement when dealing with any application server install on Windows is to set it up as a Windows service.  It's a bad idea to rely on the command line for running the server as it makes it far harder to administer.

For WebLogic the steps to do this are available on Oracle's website:
http://docs.oracle.com/cd/E11035_01/wls100/server_start/winservice.html

A useful diagnostic if the service doesn't appear to be working is to try and invoke the service using the beasvc command.  See the section "Verifying the Setup" in the above link for more information.  More times than not if your service isn't starting then there was an error in the script you used to create the service in the first place (e.g. JVM argument).

Friday, March 1, 2013

JS Libraries

Below is a list of libraries I've come across which in all my reading and investigation recently into HTML5 / JS which should come in handy.  More of a "remember these for later" post:

  • http://underscorejs.org/
  • http://modernizr.com/
  • http://angularjs.org/
  • http://qunitjs.com/
  • http://momentjs.com/
  • http://requirejs.org/ (and http://requirejs.org/docs/api.html#text)
  • http://html5boilerplate.com/
  • http://fortawesome.github.com/Font-Awesome/
  • http://blueimp.github.com/jQuery-File-Upload/
For more popular projects GitHub's starred repository list is a good place to start (gives an idea of highly active/popular projects):
  • https://github.com/popular/forked
  • https://github.com/popular/starred

Monday, January 14, 2013

Vertical clustering in LiveCycle ES3

Quick note for future reference: the document for ES2 (http://help.adobe.com/en_US/livecycle/9.0/clustering_jboss.pdf) explains how to change the necessary ports in order to get a vertical JBoss cluster up and running.  In ES3 (and therefore JBoss 5) the paths for a number of the ports has changed:

JBoss 4:
jboss-service.xml file located in [appserver root]\server\[profile]\conf

JBoss 5:
bindings-jboss-beans.xml file located in [appserver root]\server\[profile]\conf\bindingservice.beans\META-INF

Saturday, October 27, 2012

AJAX Style file uploads using an iFrame

I was recently trying to solve a strange issue with Internet Explorer 8 (it's always IE...) on redirecting the user after successfully uploading a file.  Couldn't use HTML5's FileUpload API as we had to be able to support older browsers but what we wanted was AJAX style in place uploads without having to redirect users back to the page after they had uploaded a file.

Then I came across the following blog post:
http://www.alfajango.com/blog/ajax-file-uploads-with-the-iframe-method/

This method feels like a bit of a hack but is a decent solution to the problem.  Target the empty iFrame and you can keep users on the same page.  It seems to be a popular method and one I'll use again until we can finally move to using the proper HTML5 API for doing this.

Friday, September 21, 2012

Working with lists

This is more a note to remind me in future but when dealing with lists in LiveCycle it can sometimes be a little tricky to just keep adding to a list without creating a loop.  An easy way to do this within one set value step is to use the collection size to determine the index for adding something to the list.

Here's an example XPath statement which will add to the end of the list (where "listAttachments" is your list variable):

/process_data/listAttachments[number(get-collection-size(/process_data/listAttachments)+1)]

Thursday, September 20, 2012

WebLogic LiveCycle ES3 Installation

On a recent installation of LiveCycle ES3 on WebLogic I realized that I had started creating a list of "extras" which I often needed to do before the installation would work properly.  These might not always be required and may in fact be buried in the documentation somewhere but here's the list regardless:


  • Setting up the servers (both Admin and Managed Server) as Windows Services.  Not strictly a LiveCycle step but useful nonetheless.  Just don't forget to copy the lines you added to "startManagedServer.cmd" into your new service. 
  • Adding the SQL driver to the classpath.  When using SQL Server we need the sqljdbc4 JAR file in the CLASSPATH.  Unfortunately the text LiveCycle gives you during the installation to copy into your startup script doesn't include this.  Again this might be the way we had configured WebLogic but I needed to add the path onto the end of the CLASSPATH supplied in order to get us talking to the database (we had setup the data source manually in WebLogic rather than bundling it into the LiveCycle EAR files.  
I'll keep adding to this as and when I come across other configurations.