Archive for the 'Uncategorized' Category

Mar 13 2010

LiveCycle ES2 Guides – Adding custom validation classes to your model

The Modeler in LiveCycle ES2 ships with several built-in validation classes, which you can apply to the models properties using the Styles definition. Obviously these standard classes don’t cover all use cases, especially not validation behavior that is specific to a non-US region for example. One of the cool things about Fiber models is that you can extend them using custom ActionScript code, so that you can use your custom validation classes in your projects (I plan to write another article on working with custom methods in your model by overwriting the generated value objects).

So, you can add and apply your own validation classes to the model. You just need to refer to your custom class in the Style validation annotation of the property. First, copy the validation class itself into the correct folder of your Workbench project. That’s also the trickiest part within the LiveCycle Modeler (compared to doing this for the Flash Builder modeler). The FB modeler generates the code into your Flex project folder and you can easily find it, but Workbench doesn’t generate the code in the directory where all your other projects are located (on Vista/Win7 that is C:\Users\username\Workbench ES2\). I am not exactly sure why, but I think because the model generated classes are mostly temp files that don’t have to be checked into the server (downside is that you need to backup modifications of custom classes yourself).

That ‘temp’ folder that stores all model generated classes is much deeper on your disk drive. On my system it’s C:\Users\username\AppData\Roaming\Adobe\LiveCycle\ES2\Guides\generated\. Here you find subfolders structured per LiveCycle application. For your project, find the folder where the generated myModel.as and myModel.swf files are located. Consider this folder the ‘root’ that is used by the compiler, so this is where yoy copy your custom validator classes to.

The last step is to define the style validation annotations within the property. Basically you’d define your property like this:

<property type=”string”>
<style>
<validation>
<annotation name=”ActionScriptValidator”>
<item name=”ValidatorClass”>mx.validators.SocialSecurityValidator</item>
<item name=”allowedFormatChars”>”-()”</item>
</annotation>
</validation>
</style>
</property>

The ValidatorClass item defines the class path, and in this case the ‘allowedFormatChars’ is one of the parameters that is used by that class. Now make sure that Workbench recompiles your class (just move an entity a few pixels, save and the recompile will hapen). Now your custom validator class is compiled into the model itself and you are ready to use the related properties within your guide!

ps: Workbench will inform you on compilation errors if you made errors in your class.

No responses yet

Feb 18 2010

Amsterdam March 16th – Introduction to LiveCycle ES workshop

Published by Marcel Van Espen under Uncategorized

On Tuesday March 16th from 13:00 to 16:00 we will be hosting an additional session on LiveCycle ES under the hood. No slides, no clickthrough demo’s… the real thing. We’ll build an application that will touch on all of the important features within LiveCycle ES. That means, we will use tool as Flash Builder, Workbench, Designer to create an application. You can sit in and watch and come with questions and remarks…. Let me know if you want to join. The session is at our office in Amsterdam.

No responses yet

Oct 23 2008

Adobe on Business Process Modelling Notation (BPMN)

Recently I was asked by a large system integrator about Adobe’s standpoint on the Business Process Modelling Notation (BMPN) specification.

Not many people know that Adobe participates in quite some industry standards and supports their maturity/evolution such as BPMN, BPEL, BPDM and XPDL and that we are voting members of standard bodies such as OMG, OASIS and WFMC. Adobe is represented in all these standards bodies and actively participates in reviewing and authoring of these standards. We take a lot of that knowledge back into the decisions we make when developing our enterprise products, especially Adobe’s LiveCycle Enterprise Suite.

BPMN (Business Process Modelling Notation) is a specification for a couple of things:

  • A graphical notation. E.g. How different activities are represented in a process diagram.
  • Semantics of the graphical notation. E.g. What does it mean when you connect activities with a line.

From wikipedia:

The primary goal of BPMN is to provide a standard notation that is readily understandable by all business stakeholders. These business stakeholders include the business analysts who create and refine the processes, the technical developers responsible for implementing the processes, and the business managers who monitor and manage the processes. Consequently BPMN is intended to serve as common language to bridge the communication gap that frequently occurs between business process design and implementation.

Using the Process perspective in LiveCycle Workbench, one can visually create process maps that define and control your automated business processes. Since Workbench implements the main constructs for the graphical notation and the semantics of that notation as specified by BPMN, business analysts can create process diagrams using swimlanes, activities, events and associations following common modeling methodologies (we still have a gap to cover when it comes to modeling of Gateways).

LiveCycle Process Designer

To summarize: if you have been trained in BPMN, you will find it easy to model a process using LiveCycle Workbench.

If you want to read more on Adobe’s comments on BPEL and general standards, you should read this article on de LiveCycle DevNet:

ps: One should know that the current BPMN spec (v1.1) does not specify how a process diagram should be persisted by a modeling tool. There is no XML schema for example. However, there is another specification – XDPL – which does provide this and the BPMN v2 specification currently in review also has a defined schema for persistence. Since standards have not been defined or widely accepted, LiveCycle Workbench currently persist that process definition using custom XML for which Adobe has publish the XML Schema (which after installation can be found under the LiveCycle SDK/schema directory).

One response so far

Oct 13 2008

Extending Adobe Document Management with even more functionality

If you have installed and deployed Adobe LiveCycle Content Services ES for Document Management and/or Archiving purposes you have already seen the out-of-the-box features that are included in the product. Now, if you have written your own extensions and want to package these, the easiest way to do this is by creating a so called AMP file. This is a format that can be imported in another instance of Adobe LiveCycle Content Services ES.

Now without going into details on how to create these AMP files, you should know that there are also AMP files available in the community that you might want to evaluate. If you have installed the full LiveCycle ES Suite you will also get, as part of the SDK, a couple of sample packages such as records management, blog integration (including WordPress), and others.

Now the documentation is not very clear on how to deploy the included samples (or other available AMP files) to your deployed Content Services application. Below you will find a couple of steps on how to import AMP files.

1. Locate the C:\Adobe\LiveCycle8.2\LiveCycle_ES_SDK\misc directory

2. In there you will find a couple of AMP files and a utility called Module Management Tool. (adobe-contentservices-mmt.jar)

3. Locate the C:\Adobe\LiveCycle8.2\jboss\server\all\deploy\adobe-contentservices.ear

4. Retrieve the contentservices.war file from the ear file above

5. Open a command line tool and goto the directory C:\Adobe\LiveCycle8.2\LiveCycle_ES_SDK\misc

6. Run: java -jar adobe-contentservices-mmt.jar install yourfilename.amp contentservices.war (Before doing this is is recommended to make a backup of the ear file!)

7. After this, copy back the contentservices.war file into the adobe-contentservices.ear file and copy it back to the LiveCycle ES Deployment directory (C:\Adobe\LiveCycle8.2\jboss\server\all\deploy)

7a. To validate wether the AMP is included in the war file, you can run the following command for a list of extensions: “java -jar adobe-contentservices-mmt.jar list contentservices.war”

8. Restart your jboss services to be 100% sure that you have the extensions available

If you find any interesting AMP files in the community, please share them with us. Have fun in trying the above.

One response so far

Sep 29 2008

Load test Flex and LiveCycle Data Services enabled applications

Disease:
You have built an amazing cool and data intense Rich Internet Application with Adobe Flex and expect many users to work with your application. Suddenly you get concerned; how will the server behave when hundreds or even thousands of users visit your site?

Prescription:
Some more background on this problem first; You probably know that a server in production will behave differently when interacting with a RIA than compared to serving traditional HTML apps that you have been building before.  This is mainly because UIs are not generated on the server any more. Though on the other side, there is probably increased data exchange between the client and server and most of all…. ideally you use the ActionScript Message Format (AMF) and Data Management cause it is easier to develop or faster on the client.  But how does it impact the server, can it handle the load and do traditional load testing tools still work?

LiveCycle Data Services Stress Testing Framework admin UI screenshot

Adobe currently hosts the LiveCycle Data Services Stress Testing Framework on Adobe Labs which addresses lots of these questions. The framework helps developers that use LiveCycle Data Services ES 2.6 to load test the server-side implementation of their LCDS applications. The page is stuffed with information on how to use the Framework so definitely spend some time going through all the details. The Data Services Stress Testing Framework is currently in beta form, but available for testing and evaluation. You can download and test the framework and we obviously hope you will provide us your feedback through the Adobe Labs page.

Tips to stay healthy:
The stress / load testing problem itself has been around for long, and many software vendors have created solutions to help web developers test their servers for large rollouts. However, most of these solutions are still based on the traditional HTML web metaphor and do not work well with AMF. Also, the Data Services Stress Testing Framework currently does not support BlazeDS or other AMF server implementations. Adobe is currently working with a number of testing tool vendors to implement all of the data transport protocols available in Flash. It seems that Borland’s SilkPerformer is one of the first to have AMF3 support. I have not worked with it myself and would love your feedback. Obviously if you know of other tools that are useful for load testing your Flex applications, feel free to leave a comment!

ps: I heard internally that we are working on a new Capacity Planning Guide for LiveCycle Data Services ES 2.6 whitepaper, but it has not yet been finalized. I assume it will be posted in the coming weeks on the LiveCycle Development Center so stay tuned.

UPDATE: You can download the Capacity Planning Guide for LiveCycle Data Services 2.6 from www.adobe.com/go/lcds26_cap_planning_guide.

4 responses so far