//-->

Mar 12 2010

LiveCycle ES2 Guides – Adding custom validation classes to your model

Published by Waldo Smeets under Adobe LiveCycle ES

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 name=”socialSecNum” 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

Mar 22 2009

Working around a “Turnkey service JBoss for Adobe LiveCycle does not exist” error

Published by Waldo Smeets under Adobe LiveCycle ES

After installing a new Jboss turnkey instance of Adobe LiveCycle, some people run into an issue when the LiveCycle Configuration Manager is doing it’s work. At about 40%, the configuration manager might display the following error:

Failed on ‘Verifying JBoss for Adobe LiveCycle ES service is installed’
Windows turnkey service JBoss for Adobe LiveCycle ES does not exist

When checking in the Windows Service Panel, indeed there is no such service defined, even though the installer should have created it. I have not been able to replicate this issue, but it happened to me at a customer site and by searching Google it seems that others have run into it as well.

The Google search results tells us that some people forget to set the Java_Home system variable and that you should be using the right version of the JDK. However, this did not seem to be the problem in this case.

Through the install documentation you can find the steps needed to re-create the JBoss for Adobe LiveCycle ES service (page 62). You can use those to try and create the service ‘manually’. For our install, the problem seemed to be in the [LC_INSTALL_ROOT]\jboss\InstallJBossService.bat script file. Somehow the username / password did not seem to work, whatever we tried it failed. Well, sort off: strangely enought the command prompt output first mentions that there was an error, though still reports that the script was executed succesfully. Still no service created though.

The solution was too simple to come up with: just remove the username / password parameters from the script and execute it. This time the script did not fail and as expected created the service for us. Next thing to do is go into the service panel, select the ‘JBoss for Adobe LiveCycle’ service, right click to go to it’s Properties and in the Log On tab specify Log In As This Account. Then specify the username password (in my case “.\administrator” and the password), click OK and you are done.

Now run the LiveCycle Configuration Manager again and most likely it won’t fail anymore cause of the missing service. This seemed to have overcome our issue.

ps: When installing the turnkey solution, it is highly recommended to keep the right documentation at hand: Installing and Deploying LiveCycle® ES Using Turnkey.

Did you run into this issue as well? Please let us know if this worked for you or if you have additional tips for our readers.

___
This post was originally placed at the DrLiveCycle blog.

Comments Off

Oct 24 2008

Adobe on Business Process Modelling Notation (BPMN)

Published by Waldo Smeets under Adobe LiveCycle ES

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).

Adobe LiveCycle WorkBench

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 15 2008

Load test Flex and LiveCycle Data Services enabled applications

[from my DrFlex blogpost]

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.

[For more DrFlex and DrLiveCycle related posts check www.drflex.eu and www.drlivecycle.eu.]

2 responses so far

Oct 15 2008

Call for papers for Flex Camp Amsterdam

I received an email (in Dutch) from one of the members of the Dutch Flex user group FLUGR with a call for papers (sorry, Dutch only). If you have cool ideas to present during the Flex Camp they’d love to receive your submissions!


Op 13 november 2008 vindt een “Flex Camp” plaats, met onder andere grote sprekers als Christophe Coenraets en James Ward.

Vanwege het speciale karakter en de grote sprekers, hebben we er voor gekozen de reguliere meeting van 13 november te “upgraden” naar een FlexCamp. Dit houdt in dat de dag gevuld is met veel korte sessies over een concreet onderwerp, met veel ruimte voor interactie. Naast presentatie-sessies is er ook ruimte voor zogenaamde “un-conference” sessies waar over een specifiek onderwerp gediscussieerd kan worden. De dag wordt zo opgezet dat er op elk moment voor iedereen iets interessants te doen of te beluisteren is.

Naast de bekende namen vanuit Adobe, willen we als Nederlandse usergroup laten zien wat we in huis hebben. Naast de al geplande onderwerpen hebben we de mogelijkheid gecreëerd voor een aantal kortere, specifieke sessies. Voor jou dé kans om een Flex gerelateerd onderwerp uit te diepen voor collega Flex ontwikkelaars. Denk daarbij aan sessies van 20 minuten tot een half uur over onderwerpen als “Offline Reporting in Rich Internet Applications”, “High Performance Data Manipulation & Visualization with Flex” of “Financial Portals with Flex: challenges and solutions”.

Het publiek bestaat uit ervaren en beginnende Flex ontwikkelaars. Hoe concreter het verhaal des te interessanter. Kennisdeling is door veel FLUGR leden opgegeven als reden om zich aan te melden. Grijp deze kans en vertel anderen wat je weet.

Denk je er over om een sessie voor je rekening nemen? Meldt je aan met de volgende gegevens

  • Titel van de sessie
  • Naam / namen van de spreker(s)
  • Korte omschrijving van de sessie (minimaal 100 woorden)
  • Niveau (beginner / intermediate / advanced)

Twijfel je of je een sessie voor je rekening wilt nemen? Laat het ons weten. Misschien kunnen wij je in contact brengen met een andere twijfelaar zodat je gezamenlijk een interessante sessie kunt neerzetten.

Stuur je aanmelding uiterlijk vrijdag 17 oktober 2008 naar sieto-apestaart-flugr.nl. Wij verzamelen de inzendingen en nemen vóór woensdag 22 oktober contact met je op.

Comments Off

Next »