First Experiences with the Adobe Data Model – HelloWorld

Keep Reading ...

In the last post about the new Adobe Data Model codename Fiber First Experiences with the Adobe Data Model – Setup, I looked at the setup and installation process. This one will be a short post about how to run a first HelloWorld example, so let’s take a look if we can do a some click & drag and get some data on the screen.

First Experiences with the Adobe Data Model – Setup

Keep Reading ...

A week ago or so, Adobe has put LiveCycle DataServices 3 on labs (http://labs.adobe.com/technologies/livecycle_dataservices3/), and one of the new things is the Adobe Data Model and the Modeler plugin code name Fiber. In this post I want to take a look at the setup of Fibre. It’s not a complete tutorial, I’m just taking notes wile trying to figure out how it works.

First Experiences with the Adobe Data Model

Keep Reading ...

Over the past days I found the time to look at the Adobe LiveCycle Data Services 3 beta and in particular the new Adobe Data Model, and I thought I could make a small post series about my first experiences while I’m exploring the new possibilities.

How to get Youtube Movies in your Flex/Air application

Keep Reading ...

Everybody loves youtube, for its almost unlimited source of music video’s and its funny clips. So how can we get those clips into our Flex or Air app? Here’s one way how to do it:

Adding bookmarks in a PDF automatically with LiveCycle Designer

Keep Reading ...

Adding bookmarks automatically can be realized with Acrobat Javascript. It is possible to use Acrobat Javascript in LiveCycle Designer. You can use the Acrobat Doc object in a LiveCycle Designer form. You must adapt your code to use the following technique of assigning a variable to the target of, for example, a click event, to access the current document:
var myDoc = event.target;

Afterwards it is quite easy to add the bookmarks. Just suppose you want to add a bookmark with the name of “Management Summary” which refers to a subform with the same name. You must place the javacript code on the layout:ready event of the subform because you need the page number. You first need a reference to the bookmark Root like in the following example:
var root = myDoc.bookmarkRoot;

Now you can add a bookmark to the root through the createChild method. This method has one required and two optional parameters:
1)Name of the bookmark
2)Expression to evaluate: in this case the page number. We must subtract 1 from the page number because acrobat starts counting from 0.
3)The 0-based index into the children array

You can add the bookmark as follows:
root.createChild(”Management Summary”, “this.pageNum=” + (xfa.layout.page(this)-1),0);

If you want to add a child to the bookmark you just created, you can do it like this:
var bm = root.children[0];
bm.createChild(”Overview”, “this.pageNum=” + (xfa.layout.page(this)-1),0);

iDA MediaFoundry @ AUG Amsterdam 09

Keep Reading ...

Last week David and Maarten were speaking at the Adobe Usergroup NL event in Amsterdam. They did a session about Flash Builder 4 and Flash Catalyst user experience and demoed the Youtube Desktop Player, CrazyCam 3.0 and  (althoug very shortly ;) the Contact Manager. All were skinned in Flash Catalyst and coded in Flash Builder with the Flex 4 SDK. More information and downloads of these apps will be online soon after we clean them up and tweak them some more, but the broadcast of the session is already online and can be viewed at:

The Adobe Usergroup NL’s website.

You can also find some pictures of the event at Maarten’s Flickr Steam.

We loved the experience and hope to do more of these sessions.
Also we want to thank Bert Haagendooren once more for inviting us, we had a blast!

Showcase – Desktop Store

Keep Reading ...

This year’s trainees project was a desktop store build in AIR.  This is their story.

FITC Amsterdam 09, day 2: Cool shit!

Keep Reading ...

Tuesday 25 February I attended FITC in Amsterdam where I saw many interesting presentations and “cool shit” that I would like to share here.

FITC Amsterdam 09, day 1: Emotions > Technology

Keep Reading ...

Maybe I went to the “wrong” sessions, but the sessions I liked best were not about code samples or know-how or technical stuff. I was kind of surprised to find sessions like these because I expected to see a lot of code and other ingenious constructions.So here is an overview from the sessions I was able to attend

Memory problems with Spring/Hibernate applications

Keep Reading ...

For a long time many developers have experiences OutOfMemory: PermGen  errors when using/deploying an application that has both Spring and hibernate.

Initially it was said that this only occurs on Tomcat/JBossAS servers, but this also occurs on other application servers or containers like Jetty, OC4J, …

The culprit appeared to be Hibernate because it used CGLIB for creating proxies.

This library apparently has a memory leak which the developers did not fix for more than 2 years now.

If you ever experience this kind of problem with your application, there is a solution. Hibernate 3.3.x or higher no longer uses CGLIB, but javassist and Spring uses the standard JDK Proxy mechanism.

Hibernate 3.2 and 3.3 both support javassist but 3.3 uses it by default. Just make sure no cglib jar is present in your classpath but instead a javassist jar is there.

Also, Hibernate 3.3 now uses slf4j instead of commons logging because this library also holds classloader references and slf4j can use a different back-end instead of commons-logging.

Restarting the server every time after a deploy because it goes out of memory due to this problem is more than just an inconvenience,