<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Mind The Gap</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/" />
    <link rel="self" type="application/atom+xml" href="http://blogs.adobe.com/mtg/atom.xml" />
   <id>tag:blogs.adobe.com,2008:/mtg//83</id>
    <link rel="service.post" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83" title="Mind The Gap" />
    <updated>2008-04-22T14:13:38Z</updated>
    <subtitle>Attempting to bridge the Flex / ColdFusion and LiveCycle gap... </subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.2</generator>
 
<entry>
    <title>The Acrobat User Community is hosting a PDF Forms contest!</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2008/04/the_acrobat_user_community_is.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=5698" title="The Acrobat User Community is hosting a PDF Forms contest!" />
    <id>tag:blogs.adobe.com,2008:/mtg//83.5698</id>
    
    <published>2008-04-22T14:13:08Z</published>
    <updated>2008-04-22T14:13:38Z</updated>
    
    <summary>Forms creation, distribution and response tracking are one of the most popular uses for Acrobat.&amp;#160; But users need more samples of great forms and useful templates. The purpose of the PDF forms contest is to create a public library of...</summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="LiveCycle" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<p>Forms creation, distribution and response tracking are one of the most popular uses for Acrobat.&#160; But users need more samples of great forms and useful templates.</p>  <p>The purpose of the PDF forms contest is to create a public library of sample Forms and LiveCycle Designer templates that other PDF creators can use. The contest is open to qualified participants in any industry. You can even use a free 30-day trial copy of Acrobat 8 Professional to create your entries.</p>  <p>There are two entry categories:</p>  <p><b>Category: Fillable Forms</b></p>  <p>Show sophisticated and visually interesting fillable PDF Forms created using the forms toolbar in Acrobat 8 Professional, and may include interactive form elements, auto-formatting, calculations and Javascripting.</p>  <p><b>Category: LiveCycle Designer Templates</b></p>  <p>Develope form templates that can be used in LiveCycle Designer 8, and may include graphics, interactive form elements, library elements, auto-formatting, calculations and Javascripting. (LiveCycle Designer is included with every copy of Acrobat 8 Professional for Windows)</p>  <p>Notable entries will appear in the PDF Forms gallery. Entries may also qualify to win Adobe software, video cams and t-shirts. </p>  <p>The contest runs from Mar 10, 2008 until Apr 30, 2008.</p>  <p>Full details at <a href="http://www.acrobatusers.com/contests/forms/">http://www.acrobatusers.com/contests/forms/</a></p>]]>
        
    </content>
</entry>
<entry>
    <title>Implementing SOA Principals in LiveCycle ES</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2008/04/implementing_soa_principals_in.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=5539" title="Implementing SOA Principals in LiveCycle ES" />
    <id>tag:blogs.adobe.com,2008:/mtg//83.5539</id>
    
    <published>2008-04-02T12:51:29Z</published>
    <updated>2008-04-02T17:28:54Z</updated>
    
    <summary>A couple of months ago, I talked about how LiveCycle ES uncovers the holy grail of SOA. Pretty bold statement to make without any description of what exactly LiveCycle ES does and how it does it. So this is a...</summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="LiveCycle" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<p>A couple of months ago, I talked about how LiveCycle ES uncovers the holy grail of SOA. Pretty bold statement to make without any description of what exactly LiveCycle ES does and how it does it. So this is a first of several articles that will attempt to demystify Adobe LiveCycle ES and why I think it ROCKS! :)</p>  <p>Before talking about process serving and composite application development, we should spend a little time talking about architecture. Don't worry - I won't get into a long winded discussion about architecture and design patterns... That's what Duane Nickull is for :) In his <a href="http://technoracle.blogspot.com/2008/01/new-adobe-soa-white-paper.html" target="_blank">post about the new SOA Whitepaper</a>, Duane talks about Web 2.0 as a common set of architecture and design patterns. The bottom line is that Web 2.0 applications are made up of a Service Oriented Architecture which is accessed by a Service Oriented Client. </p>  <p><a href="http://blogs.adobe.com/mtg/WindowsLiveWriter/ImplementingSOAPrincipalsinLiveCycleES_ED0A/image_4.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="325" alt="image" src="http://blogs.adobe.com/mtg/WindowsLiveWriter/ImplementingSOAPrincipalsinLiveCycleES_ED0A/image_thumb_1.png" width="477" border="0" /></a>&#160; </p>  <p>In this diagram, we quickly recognize the Resource Tier and the Service Tier. This is where IT professionals have spent a vast amount of time and resources ensuring that backend resources are available and accessible. Web Services have been created, Java Beans developed, services were born. So, what's the problem? The problem is that the needs of the business often outpace the bandwidth of the IT department. New requirements flood the IT shop, new services are born to meet the demand. Seems harmless enough... right? Turns out, not so much. All of a sudden, specialized services are invading the once clean and sterile SOA scene. The reality is, service multiplication causes maintenance nightmares.</p>  <p><strong><em>Concept: Process Serving</em></strong></p>  <p>What books like <a href="http://www.secretsofsoa.com/" target="_blank">Secrets of SOA</a> are telling us is that we need to take a step back and re-evaluate SOA approaches and implement what we have learned. One of those key lessons learned is that we need the ability to &quot;string&quot; multiple generic services together in order to create specific composite services. This is what Terry Borden and Bill Mitlehner refer to as process serving. Process serving is the ability to link two or more services together, the execution path of these links are driven by business rules specific to the implementation, and deployed as a new &quot;composite&quot; service with the same availability and accessibility as the atomic services themselves.</p>  <p><strong><em>Theory: Service Container</em></strong></p>  <p>For process serving to occur, you need to have an extremely flexible environment that would be able to expose a &quot;workflow&quot; like process engine that could invoke generic services synchronously or asynchronously while maintaining complete control over execution flow and state. Among other things, this service container would require:</p>  <ul>   <li>Registry/Repository where all execution assets and state information can be stored. </li>    <li>Sophisticated foundation would be required to manage common tasks like logging, file system access </li>    <li>Job management to handle the various requests&#160; </li>    <li>Invocation layer that would be able to dynamically register endpoints for new composite services </li>    <li>Granular security model </li>    <li>Design tools to facilitate process definition and deployment </li> </ul>  <p><strong><em>Reality: LiveCycle ES</em></strong></p>  <p>This is exactly what Adobe LiveCycle ES provides. Sure, we talk about PDF documents and document services, that is our bread and butter. But when you take a serious look at what the LiveCycle ES platform delivers... you get process serving. LiveCycle ES implements a service container on top of the J2EE stack (Weblogic, WebSphere, JBoss) with a dynamic invocation layer which automatically exposes multiple endpoints for each new service or composite service. A sophisticated foundation with common services and integration points. A security model (User Manager) which leverages existing user registries. A service registry/repository to store and maintain service execution and state. Of course, LiveCycle ES comes with a complete set of design tools built on Eclipse (Workbench).</p>  <p>A good friend of mine, <a href="http://gregsramblings.com/" target="_blank">Greg Wilson</a>, has recently posted several interesting articles around LiveCycle ES.&#160; His <a href="http://gregorywilson.wordpress.com/2008/03/31/adobe-livecycle-es-an-intro-video-for-developers/" target="_blank">latest post</a> is particularly of interest since it is directly related to what I have begun to cover here. I highly recommend that you take 15 minutes and watch his <a href="http://my.adobe.acrobat.com/livecycledevoverview1/" target="_blank">introduction to LiveCycle ES video</a>. Also, take the time to have a look around the <a href="http://www.adobe.com/devnet/livecycle/" target="_blank">LiveCycle Developer Center</a>... Read some of the great content posted there and download a <a href="http://www.adobe.com/devnet/livecycle/trial/" target="_blank">trial copy</a>. The download is quite large, if you would like to receive a DVD shipped to you, please drop me an email with your shipping information.</p>  <p>In the next article, I will introduce LiveCycle Workbench ES and how it is used to create composite services that can be deployed to the service container.</p>]]>
        
    </content>
</entry>
<entry>
    <title>The Beta 3 Eagle Has Landed!</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2008/04/the_beta_3_eagle_has_landed.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=5529" title="The Beta 3 Eagle Has Landed!" />
    <id>tag:blogs.adobe.com,2008:/mtg//83.5529</id>
    
    <published>2008-04-01T14:16:02Z</published>
    <updated>2008-04-16T17:50:14Z</updated>
    
    <summary>Today, we are launching the public beta of LiveCycle ES Update 1. As I mentioned in my previous post - there is a lot to be excited about in the Update 1 release. In addition to LiveCycle. Make sure that...</summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="LiveCycle" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<p><a href="http://blogs.adobe.com/mtg/WindowsLiveWriter/TheEagleHasLanded_EA5C/image_4.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 15px 10px 0px; border-right-width: 0px" height="81" alt="image" src="http://blogs.adobe.com/mtg/WindowsLiveWriter/TheEagleHasLanded_EA5C/image_thumb_1.png" width="81" align="left" border="0" /></a>Today, we are launching the public beta of LiveCycle ES Update 1. As I mentioned in my previous post - there is a lot to be excited about in the Update 1 release. In addition to LiveCycle. <p>Make sure that you sign up for the pre-release program by visiting the <a href="http://www.adobe.com/devnet/livecycle/" target="_blank">LiveCycle Developer Center</a>. </p>]]>
        
    </content>
</entry>
<entry>
    <title>LiveCycle ES Update ONE is around the corner</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2008/03/livecycle_es_update_one_is_aro.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=5464" title="LiveCycle ES Update ONE is around the corner" />
    <id>tag:blogs.adobe.com,2008:/mtg//83.5464</id>
    
    <published>2008-03-24T14:00:25Z</published>
    <updated>2008-03-24T14:01:00Z</updated>
    
    <summary>A vast number of improvements have been made to LiveCycle ES. A sample of some of the new features includes: Improved development and authoring tools, including process record and playback, and validation of process definitions Improved end-user experience including 508-Compliance,...</summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="LiveCycle" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<p>A vast number of improvements have been made to LiveCycle ES. A sample of <b>some</b> of the new features includes: </p>  <table cellspacing="0" cellpadding="2" width="468" border="0"><tbody>     <tr>       <td width="157"><a href="http://blogs.adobe.com/mtg/WindowsLiveWriter/LiveCycleESUpdateONEisaroundthecorner_9967/LC_Box_4.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="240" alt="LC_Box" src="http://blogs.adobe.com/mtg/WindowsLiveWriter/LiveCycleESUpdateONEisaroundthecorner_9967/LC_Box_thumb_1.png" width="152" align="left" border="0" /></a></td>        <td valign="top" width="309">         <h6></h6>          <ul>           <li>Improved development and authoring tools, including process <b>record and playback</b>, and <b>validation </b>of process definitions </li>            <li>Improved end-user experience including 508-Compliance, single sign-on support, and <b>many </b>LiveCycle Designer enhancements </li>            <li>Improved process management tools such as business calendars, out-of-office support, and customized e-mail notifications </li>            <li>Improved installation with two turnkey options (JBOSS and WebLogic) as well as command-line installation </li>            <li>Improved administration and platform maturity with improved <b>backup and recovery support </b>(hot backup), expanded platform, database, and JVM support </li>            <li>Improved Web Service support within XFA-based forms </li>            <li>PDF/A Support </li>         </ul>       </td>     </tr>   </tbody></table>]]>
        
    </content>
</entry>
<entry>
    <title>The AIR rocket has launched</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2008/02/the_air_rocket_has_launched.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=5191" title="The AIR rocket has launched" />
    <id>tag:blogs.adobe.com,2008:/mtg//83.5191</id>
    
    <published>2008-02-25T13:41:26Z</published>
    <updated>2008-02-25T13:42:12Z</updated>
    
    <summary>Adobe has finally released Flex 3 and AIR 1.0. This is a major milestone in the evolution of RIA and business applications as we know them.&amp;#160; I&apos;ll be the first one to admit that I did not jump on the...</summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="AIR" />
            <category term="Flex" />
            <category term="LiveCycle" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<p>Adobe has finally released <a href="http://weblogs.macromedia.com/flexteam/archives/2008/02/its_on_-_flex_3.cfm" target="_blank">Flex 3 and AIR 1.0</a>. This is a major milestone in the evolution of RIA and business applications as we know them.&#160; I'll be the first one to admit that I did not jump on the AIR bandwagon from the start. Obviously, my focus on enterprise level applications has blurred my vision. As time passed and I actually tried building a couple LiveCycle ES applications using AIR as the client, I quickly realized that my initial &quot;poo poo&quot; opinion of AIR was dramatically incorrect. AIR is going to revolutionize the way enterprise applications are built and distributed. </p>  <p>Take the time to <a href="http://www.adobe.com/products/air/" target="_blank">check it out</a>. The buzz is all around consumer type applications for now, but as more and more enterprise developers discover the power and flexibility or AIR; it will spread like wild-fire.</p>]]>
        
    </content>
</entry>
<entry>
    <title>LiveCycle ES uncovers the holy grail of SOA</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2007/12/livecycle_es_uncovers_the_holy.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=4679" title="LiveCycle ES uncovers the holy grail of SOA" />
    <id>tag:blogs.adobe.com,2007:/mtg//83.4679</id>
    
    <published>2007-12-06T14:09:49Z</published>
    <updated>2007-12-06T14:10:36Z</updated>
    
    <summary><![CDATA[ &quot;The ultimate value of SOA is the ability to combine automated business services to create new market offerings that may reduce time-to-market and development costs.&quot; This statement was made by Terry Borden and Bill Mitlehner in chapter 4 of...]]></summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="LiveCycle" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<blockquote>   <p>&quot;The ultimate value of SOA is the ability to combine automated business services to create new market offerings that may reduce time-to-market and development costs.&quot;</p> </blockquote>  <p>This statement was made by Terry Borden and Bill Mitlehner in chapter 4 of the <a href="http://www.secretsofsoa.com/" target="_blank">Secrets of SOA</a>. I find this statement very interesting since this is exactly was <a href="http://www.adobe.com/products/livecycle/" target="_blank">Adobe LiveCycle ES</a> offers.&#160; This new release has been completely re-designed to enable you to visually &quot;string&quot; document services together to match your requirements. Now, I say document services because that's what we are in the business of selling. But don't let that fool you. The LiveCycle ES architecture is built on SOA principals which enable extensibility and flexibility beyond just documents. Mike Hodgson wrote up an excellent article on Adobe DevNet on <a href="http://www.adobe.com/devnet/livecycle/articles/dsc_development.html" target="_blank">how to deploy your own POJOs in LC ES</a>&#160;</p>  <p>Everything LiveCycle sits on what we have dubbed the <a href="http://www.adobe.com/products/livecycle/techsummary/foundation.html" target="_blank">Foundation</a>. The foundation is powered by a service container which exposes two types of services: </p>  <ul>   <li>Packaged POJO (Plain Old Java Objects) classes: Java class accompanied by a component.xml file which describes which methods, inputs and outputs are supported by the class. </li>    <li>Orchestrated services: Using Workbench (Eclipse based graphical editor), a designer drags the above mentioned packaged POJO classes onto a canvas and links them together based on business rules and/or application requirements. </li> </ul>  <p>In each case, once the service is activated, it is registered in the invocation layer which automatically creates invocation methods (endpoints) for that service. The default endpoints are: Web Service, Flex Remoting and EJB. Additional available endpoints (configured manually) are: Watched Folder, Email and Task Manager (only used in conjunction with LC Workspace ES).</p>  <p>The latter type of service (Orchestrated Service) is exactly what Terry and Bill are describing in their chapter. LiveCycle ES provides developers and business analysts with the ability to build processes in a graphical environment, set service properties using property pages and link services together based on their requirements. The key here is that the second that &quot;process&quot; is activated, it is deployed within the service container and from that moment on, is available just like any other service. Of course, there are security constraints that are applied, etc. The point is that very few people understand the power and flexibility that LiveCycle ES provides. With this introduction, I will post several examples in the next few weeks that illustrate my point.</p>  <p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 0px; border-right-width: 0px" height="45" alt="image" src="http://blogs.adobe.com/mtg/WindowsLiveWriter/LiveCycleESuncoverstheholygrailofSOA_12BAC/image_3.png" width="60" align="left" border="0" /> <a href="http://www.adobe.com/devnet/livecycle/trial/" target="_blank">Get the LiveCycle ES Trial now</a></p>]]>
        
    </content>
</entry>
<entry>
    <title>AIR provides new ways to do business</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2007/12/air_provides_new_ways_to_do_bu.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=4664" title="AIR provides new ways to do business" />
    <id>tag:blogs.adobe.com,2007:/mtg//83.4664</id>
    
    <published>2007-12-04T22:54:29Z</published>
    <updated>2007-12-04T23:10:33Z</updated>
    
    <summary> Regardless of the vertical that you are in, one of the most challenging obstacles to overcome is connecting mobile agents to back office processes. Once that agent leaves the connected world and begins his/her day interacting with customers, suppliers...</summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="AIR" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<p></p>  <p>Regardless of the vertical that you are in, one of the most challenging obstacles to overcome is connecting mobile agents to back office processes. Once that agent leaves the connected world and begins his/her day interacting with customers, suppliers or citizens - something bad happens... All that investment in technology in the back office to increase efficiencies and save money falls apart. </p>  <p>Those field agents are collecting valuable information that needs to be processed as soon as possible - but how does that information make it back into the SAPs of the world? OK, maybe I am going a little over-board here... Many organizations have built custom solutions to bridge that gap or have found some specialized application that does most of what is required. Hmmm, how do we get this application installed on all of the mobile devices the field agents use? And what happens when Fred (good old Fred who built the custom application) leaves the company or gets a promotion? Who is going to maintain that app?</p> ]]>
        <![CDATA[<p>  <p>OK, that was a long-winded intro for someone who hasn't posted on his blog for a while... I guess I have too much to say, and not enough time. But wouldn't it be cool if you could have an application that runs on a free runtime provided by a trusted vendor? And you could use this runtime to easily push new applications out to those laptops? And what if that application could automatically detect if it has connectivity to the network or not? And what if it could seamlessly continue to function as if it were connected and automatically store all of your work and automatically submit that work as soon as network connectivity is detected? Now that would be cool!</p>  <p>Well let me introduce you to a sample application I created to demonstrate all of that craziness. This application was built using <a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs%5Fadobeflexbuilder3" target="_blank">Flex Builder 3 Beta 2</a> and runs on <a href="http://labs.adobe.com/technologies/air/" target="_blank">AIR Beta 2</a> . The goal of this sample application is to <a href="http://blogs.adobe.com/mtg/WindowsLiveWriter/AIRprovidesnewwaystodobusiness_FAD3/request.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="257" alt="request" src="http://blogs.adobe.com/mtg/WindowsLiveWriter/AIRprovidesnewwaystodobusiness_FAD3/request_thumb.png" width="347" align="right" border="0" /></a> demonstrate how AIR can help you easily build Rich Internet Applications with the power of off-line and PDF integration.</p>  <p>I called this sample application the Equipment Requestor because I wanted a simple use case that would not overshadow the base message here. The idea is that you are a field agent that may or may not be connected to the network. Each request that is completed and submitted kicks off a business process within the back office. Of course, I am using LiveCycle ES as the process engine (more to come on that - I have lots to say about ES - believe me). The business process in this case is pretty lame - accept data in XML format, merge it with a form template to generate a PDF document. Then, apply Reader Extension rights to that document so that the user can digitally sign the document, etc.</p>  <p>Now, this sample app needs some way to store the information collected by the agent. Not to mention the submission data while off-line and the PDF documents that get returned by LC ES. Since beta 2, AIR provides an embedded database engine - <a href="http://blogs.adobe.com/mtg/WindowsLiveWriter/AIRprovidesnewwaystodobusiness_FAD3/queue_submit.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="276" alt="queue_submit" src="http://blogs.adobe.com/mtg/WindowsLiveWriter/AIRprovidesnewwaystodobusiness_FAD3/queue_submit_thumb.png" width="341" align="right" border="0" /></a>SQLLite. Sounds like a plan to me! When the sample app loads, it looks to see if a local database exists; if it doesn't - it creates one, if it does - it loads what's there. When the users enters data into the request module of the app and clicks submit,&#160; then we need to know if we are on-line of off-line. Well AIR to the rescue again. A NetworkMonitor API is provided that allows you to easily detect network availability. In the sample app, I indicate availability with a traffic light located in the bottom right corner. If there is network connectivity, then the submission is executed in real-time. LC ES is called, the form is rendered and rights are applied. The result is a PDF document send back to the app. That PDF document is then stored in the local database for later viewing.</p>  <p>Oh yeah, AIR does PDF too. So the PDF is stored in the database and we need to enable the end-user to view that document. Well, we use the HTMLControl included<a href="http://blogs.adobe.com/mtg/WindowsLiveWriter/AIRprovidesnewwaystodobusiness_FAD3/doc_view.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="240" alt="doc_view" src="http://blogs.adobe.com/mtg/WindowsLiveWriter/AIRprovidesnewwaystodobusiness_FAD3/doc_view_thumb.png" width="349" align="right" border="0" /></a> with AIR and tell it to display the PDF. The HTMLControl uses the Reader plugin (just like any other browser) to display the PDF. The user can interact with that PDF - digitally sign it, add comments, etc</p>  <p>.</p>  <p>&#160;</p>  <p>&#160;</p>  <p>&#160;</p>  <p><a href="http://blogs.adobe.com/mtg/AIR_Samples/EquipmentRequestor.air" target="_blank">Get the application here</a>.</p>  <p><a href="http://blogs.adobe.com/mtg/AIR_Samples/EquipmentRequestor_src.zip" target="_blank">Get the source here</a>.</p>  <p>For more details on the AIR features I mentioned, Mike Chambers authored an excellent article <a href="http://www.adobe.com/devnet/logged_in/mchambers_air_beta.html" target="_parent">here</a>.</p></p>]]>
    </content>
</entry>
<entry>
    <title>It&apos;s good to be back</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2007/11/its_good_to_be_back.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=4628" title="It's good to be back" />
    <id>tag:blogs.adobe.com,2007:/mtg//83.4628</id>
    
    <published>2007-11-30T16:36:46Z</published>
    <updated>2007-11-30T16:50:24Z</updated>
    
    <summary>After 8 months of hiatus, I&apos;m finally back and have a little time to post. We have been heads-down working on the LiveCycle ES launch. Might seem like no big deal, but the LC ES architecture is such a dramatic...</summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<p>After 8 months of hiatus, I'm finally back and have a little time to post.</p>
<p>We have been heads-down working on the LiveCycle ES launch. Might seem like no big deal, but the LC ES architecture is such a dramatic change from it's predecessors that the amount of work required to get our field organization trained and ready has been monumental. </p>
<p>With Adobe announcing AIR and releasing LC ES, there is so much to talk about. Within the last year we have gone from LiveCycle being a collection of server products to be <a href="http://www.adobe.com/devnet/livecycle/pdfs/LCES_architecture.pdf" target="_blank">re-architected to fit  the SOA reference model</a> and AIR being announced - the ultimate Service Oriented Client.</p>
<p>More to come soon...</p>]]>
        
    </content>
</entry>
<entry>
    <title>Get more out of xForms!</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2007/02/get_more_out_of_xforms.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=2585" title="Get more out of xForms!" />
    <id>tag:blogs.adobe.com,2007:/mtg//83.2585</id>
    
    <published>2007-02-20T02:54:19Z</published>
    <updated>2007-02-20T02:54:32Z</updated>
    
    <summary>Today, Adobe posted an alpha release of the xForm Converter utility on Adobe Labs. The converter will accept xForm container files such as HTML or XHTML but can be another language such as XML or XFDL. XFDL is IBM&apos;s propritary...</summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="LiveCycle" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<p>Today, Adobe posted an alpha release of the <a href="http://labs.adobe.com/wiki/index.php/XForms_Converter" target="_blank">xForm Converter</a> utility on <a href="http://labs.adobe.com" target="_blank">Adobe Labs</a>. The converter will accept xForm container files such as HTML or XHTML but can be another language such as XML or XFDL. XFDL is IBM's propritary form description language used in IBM Workplace Forms. The converter will extract the xForm definition from these host files and generate Adobe’s XML Forms Architecture (XFA) documents. Since xForms by definition does not specify the layout, the converter will place all form elements using left to right - top&nbsp;to bottom layout.&nbsp;Business logic will be converted to JavaScript and data bindings will be maintained. This&nbsp;will&nbsp;prove to be a huge head start to people that wish to&nbsp;take their xForms to the next level and leverage Adobe's&nbsp;presentation while maintaining&nbsp;xForm data sturcture for submitted transactions.</p> <p>To view the results of the conversion, get the free trial version of Adobe Designer <a href="http://www.adobe.com/products/server/adobedesigner/" target="_blank">here</a>.</p> <p>The xForm Converter will be part of the Adobe Designer 8.1 release scheduled for later this spring. At that point, it will no longer be a standalone utility. The coverter will be invoked when using the File/Open... menu option and selecting the xForm option in the file type dropdown. </p>]]>
        
    </content>
</entry>
<entry>
    <title>Join me in welcoming Christoph Rooms...</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2006/11/join_me_in_welcoming_christoph.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=2136" title="Join me in welcoming Christoph Rooms..." />
    <id>tag:blogs.adobe.com,2006:/mtg//83.2136</id>
    
    <published>2006-11-29T14:43:42Z</published>
    <updated>2006-11-29T14:43:51Z</updated>
    
    <summary>Finally, Christoph Rooms (a teammate of mine in Europe) has entered the blogsphere - I have been bugging him for months :) Christoph, much like myself, has a strong focus on LiveCycle and was introduced to Flex and Coldfusion when...</summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<p>Finally, <a href="http://christophrooms.com/" target="_blank">Christoph Rooms</a> (a teammate of mine in Europe) has entered the blogsphere - I have been bugging him for months :)</p> <p>Christoph, much like myself, has a strong focus on LiveCycle and was introduced to Flex and Coldfusion when Adobe acquired Macromedia. If you happen to be hanging out in Antwerp (Belgium) the week of December 11th, you can meet him at <a href="http://www.javapolis.com/" target="_blank">Javapolis</a>. He will be&nbsp;hosting&nbsp;a couple of Flex sessions and one of those will focus on <a href="http://www.springframework.org/" target="_blank">Spring</a> and <a href="http://www.hibernate.org" target="_blank">Hibernate</a>. &nbsp;</p> <p>Welcome Christoph, we all look forward to your contribution to LiveCycle and Flex communities.</p>]]>
        
    </content>
</entry>
<entry>
    <title>LiveCycle Productivity Kit... Get your copy now!</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2006/10/livecycle_productivity_kit_get.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=1942" title="LiveCycle Productivity Kit... Get your copy now!" />
    <id>tag:blogs.adobe.com,2006:/mtg//83.1942</id>
    
    <published>2006-10-26T01:00:44Z</published>
    <updated>2006-10-26T01:00:53Z</updated>
    
    <summary>I am pleased to announce a new project on RIAForge - the LiveCycle Productivity Kit. The LiveCycle Productivity Kit is a collection of Java classes that implement common programming tasks when using the Adobe LiveCycle APIs. This kit will serve...</summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="LiveCycle" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<p>I am pleased to announce a new project on <a href="http://www.riaforge.org">RIAForge</a> - the <a href="http://lpk.riaforge.org">LiveCycle Productivity Kit.</a> The LiveCycle Productivity Kit is a collection of Java classes that implement common programming tasks when using the Adobe LiveCycle APIs. This kit will serve more than the LiveCycle developer community, it will also be essential for Flex and ColdFusion developers that wish to invoke LiveCycle from their applications. </p> <p>The LiveCycle Productivity Kit is an open-source project. The source is also posted in <a href="http://svn.riaforge.org/lpk/LiveCycleProductivityKit/">subversion</a>, so feel free to download, update and extend :)</p> <p>I will be posting some Flex and CF samples using the kit in the near future. I am working on a Flex sample right now that uses the LiveCycle Productivity Kit to communicate with LiveCycle Workflow. The potential for enterprise applications is impressive!</p>]]>
        
    </content>
</entry>
<entry>
    <title>A great day - Adobe LiveCycle Developer Toolbox now available.</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2006/10/a_great_day_adobe_livecycle_de.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=1883" title="A great day - Adobe LiveCycle Developer Toolbox now available." />
    <id>tag:blogs.adobe.com,2006:/mtg//83.1883</id>
    
    <published>2006-10-14T19:27:30Z</published>
    <updated>2006-10-14T19:27:40Z</updated>
    
    <summary>This is a big deal folks!!! All of you now have access to the Adobe LiveCycle Toolbox. &quot;What is the Adobe LiveCycle Toolbox&quot; you ask? It&apos;s a self-extracting zip file of a pre-configured and pre-deployed LiveCycle 7.02 installation on JBoss...</summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="Integration" />
            <category term="LiveCycle" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<p>This is a big deal folks!!! All of you now have access to the <a href="http://www.adobe.com/devnet/livecycle/toolbox/index.html" target="_blank">Adobe LiveCycle Toolbox</a>. "What is the Adobe LiveCycle Toolbox" you ask? It's a self-extracting zip file of a pre-configured and pre-deployed <a href="http://www.adobe.com/products/livecycle" target="_blank">LiveCycle 7.02</a> installation on JBoss and MySQL. With the Adobe LiveCycle Toolbox, you will have local access to the Adobe LiveCycle platform; you will be able to teast the samples I post on this blog locally - not just take my word for it :) </p> <p>All you have to do is download the self-extracting EXE file and run it on&nbsp;your machine.&nbsp;You'll be able to play with all of the super cool features available in LiveCycle without having to engage in a formal pilot.&nbsp;I stongly recommend that you get the toolbox and try out the <a href="http://blogs.adobe.com/mtg/2006/09/flex_meets_livecycle_forms.html" target="_blank">Flex Meets Adobe LiveCycle Forms</a>&nbsp;sample I posted a few weeks ago.</p>]]>
        
    </content>
</entry>
<entry>
    <title>My First Hibernate Enabled Flex App - Part Deux!</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2006/09/my_first_hibernate_enabled_fle_1.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=1752" title="My First Hibernate Enabled Flex App - Part Deux!" />
    <id>tag:blogs.adobe.com,2006:/mtg//83.1752</id>
    
    <published>2006-09-28T02:51:53Z</published>
    <updated>2006-10-02T14:24:20Z</updated>
    
    <summary><![CDATA[If you have not done so, start with the first part of this tutorial. This is&nbsp;part 2 of&nbsp;the Employee Manager&nbsp;application that I created a month ago. I think this is good timing&nbsp;since&nbsp;Milan&nbsp;added a comment asking about how we would add...]]></summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="Flex" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<p>If you have not done so, start with the <a href="http://blogs.adobe.com/mtg/2006/08/my_first_hibernate_enabled_fle.html">first part of this tutorial</a>. This is&nbsp;part 2 of&nbsp;the Employee Manager&nbsp;application that I created a month ago. I think this is good timing&nbsp;since&nbsp;Milan&nbsp;added a comment asking about how we would add new employees to the database, not just edit and delete. So here&nbsp;we go, in this post, we will&nbsp;start where we left off in my <a href="http://blogs.adobe.com/mtg/2006/08/my_first_hibernate_enabled_fle.html">initial tutorial.</a> </p> <p><a href="http://blogs.adobe.com/mtg/WindowsLiveWriter/MyFirstHibernateEnabledFlexAppPartDeux_13439/popup_screen%5B5%5D.jpg" atomicselection="true"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://blogs.adobe.com/mtg/WindowsLiveWriter/MyFirstHibernateEnabledFlexAppPartDeux_13439/popup_screen_thumb%5B5%5D.jpg"  border="0"></a> </p> ]]>
        <![CDATA[<p><strong>Section 4 - Adding New Employees </strong>So now we have a Flex Data Services 2 application that allows us to display and edit database records. What if we want to add new records? This is Flex, obviously there are many ways to do this. In this tutorial, I have chosen to use the PopUpManager. The Flex PopUpManager alows us to design MXML dialogs that can be displayed as modal or non-modal windows. We will use this feature to display a non-modal window that will capture the new employee information and persist it into the database.</p> <p><strong>4.1 Define the non-modal window:</strong> Since we have walked though the Hibernate code previously, I will not repeat myself here. Let's create the AddEmployeePopUp.mxml file. Copy and paste the following MXML into a new file in your application called AddEmployeePopUp.mxml.</p> <div class="Code">&lt;?xml version="1.0"?&gt;<br>&lt;mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="doInit();" title="Add Employee" width="362" height="186" borderColor="#408080" alpha="1.0" backgroundAlpha="1.0" layout="absolute"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;mx:Script&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;![CDATA[<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; import mx.managers.PopUpManager;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; import mx.rpc.events.FaultEvent;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; import EmployeeManagement.*;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; import mx.rpc.AsyncToken;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; import mx.data.*;<br>&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [Bindable]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private var employee:Employee;<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private function doInit():void {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Center the TitleWindow container&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // over the control that created it. <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PopUpManager.centerPopUp(this);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private function addEmployee():void {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Add the employee to the database, then kill this window.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; employee = new Employee();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; employee.firstname=newfirstname.text;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; employee.lastname=newlastname.text;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var ir:ItemReference = hibernate.createItem(employee);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hibernate.commit();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PopUpManager.removePopUp(this);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private function handleFault(event:FaultEvent):void {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mx.controls.Alert.show(event.message.toString());<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]]&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/mx:Script&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;mx:DataService id="hibernate" destination="employee.hibernate" fault="handleFault(event)"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;mx:Form x="4" y="4"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mx:FormItem label="First Name"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mx:TextInput id="newfirstname" width="100%"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/mx:FormItem&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mx:FormItem label="Last Name"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;mx:TextInput id="newlastname" displayAsPassword="false" width="100%"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/mx:FormItem&gt;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/mx:Form&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mx:HBox x="4" y="92"&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mx:Button click="addEmployee();" label="OK"/&gt;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;mx:Button click="PopUpManager.removePopUp(this);" label="Cancel"/&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/mx:HBox&gt; <br>&lt;/mx:TitleWindow&gt;<br></div> <p>&nbsp;</p> <p>Take time to look at the AddEmployee() function in the above MXML. This function demonstrates how to add a new entry in the database. </p> <p><strong>4.2 Make the non-modal window appear: </strong>Now that we have defined our popup window, we need to call it so it will be displayed. To do this, we will add a new function to the Main.mxml application called showAddEmployeeWindow(). This function will use the PopUpManager to display our add employee window. Copy and paste this code in the script block of your Main.mxml file:</p> <p>&nbsp; </p> <div class="Code"> <p>...</p> <p><strong>private function showAddEmployeeWindow():void {<br>&nbsp;&nbsp;&nbsp;&nbsp; // Create a non-modal TitleWindow container.<br>&nbsp;&nbsp;&nbsp;&nbsp; var helpWindow:IFlexDisplayObject = PopUpManager.createPopUp(this, AddEmployeePopUp , false);<br>}</strong></p> <p><strong>...<br></strong></p></div> <p>&nbsp;</p> <p><strong>NOTE:</strong> You only need to copy the function highlighted in bold. All of the other functions are already in your Main.mxml file.</p> <p>So now we have a function that will displat the popup window, we need to add a button to our control bar which will display the window to add an employee. Locate the ApplicationControlBar in the Main.mxml file and add a new button:</p> <p>&lt;mx:Button label="Add New Employee" id="button1" click="showAddEmployeeWindow()"/&gt; </p> <p>That's it! Our application now has the ability to add new records in the database. </p>]]>
    </content>
</entry>
<entry>
    <title>Flex meets LiveCycle Forms...</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2006/09/flex_meets_livecycle_forms.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=1709" title="Flex meets LiveCycle Forms..." />
    <id>tag:blogs.adobe.com,2006:/mtg//83.1709</id>
    
    <published>2006-09-19T18:10:09Z</published>
    <updated>2006-10-02T14:39:35Z</updated>
    
    <summary>Similar to my previous ColdFusion sample that uses LiveCycle Forms, this is part 1 of a Flex and LiveCycle Forms sample. The goal of this sample is to demonstrate how you can create a Flex application that can use LiveCycle...</summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="Flex" />
            <category term="Integration" />
            <category term="LiveCycle" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<p>Similar to my previous <a href="http://blogs.adobe.com/mtg/2006/09/coldfusion_and_livecycle_forms.html">ColdFusion sample</a> that uses LiveCycle Forms, this is part 1 of a <a href="http://www.adobe.com/products/flex/" target="_blank">Flex</a> and <a href="http://www.adobe.com/products/server/formserver/" target="_blank">LiveCycle Forms</a> sample.</p> <p><a href="http://blogs.adobe.com/mtg/WindowsLiveWriter/FlexmeetsLiveCycleForms_A9F7/LCFFlex-screenshot%5B1%5D.jpg" atomicselection="true"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px"  src="http://blogs.adobe.com/mtg/WindowsLiveWriter/FlexmeetsLiveCycleForms_A9F7/LCFFlex-screenshot%5B1%5D_thumb.jpg"  border="0"></a> </p> <p>The goal of this sample is to demonstrate how you can create a Flex application that can use LiveCycle Forms to render PDF and HTML forms from XML form templates (<a href="http://partners.adobe.com/public/developer/xml/index_arch.html" target="_blank">XDP</a>)&nbsp;created in <a href="http://www.adobe.com/products/server/adobedesigner/" target="_blank">Adobe Designer</a>. The Flex application will display a list of pre-designed forms, sample xml data files (that can be used to pre-populate the forms)&nbsp;and available transformations. Once a form and optional XML data file have been selected, click on the Render Form button. This will make a call to LiveCycle Forms which will render the form on the server and return the result to the Flex application. Since Flash cannot&nbsp;embed PDF or HTML, I have lifted Christophe's <a href="http://coenraets.com/viewarticle.jsp?articleId=95" target="_blank">IFrame sample</a>. Basically, the PDF and HTML content returned from LiveCycle Forms is displayed in an IFrame on top of Flash. There are still some issues I have to work out regarding re-sizing etc. I'll post an update as soon as I have time to look into it. </p> <p>An optional part of this sample is to display performance numbers. When LiveCycle Forms is rendering the form template into PDF or HTML, I collect the number of milliseconds that it took to render the form. That performance data can be pushed to the flex application using JMS. This option is turned off by default, please read the <a href="http://blogs.adobe.com/mtg/README.html">README.HTML</a> file to see what needs to be done to turn this option on.</p> <p>This sample will showcase several <a href="http://www.adobe.com/products/flex/dataservices/" target="_blank">Flex Data Services 2</a> capabilities. The first one being <a href="http://www.adobe.com/devnet/flex/articles/rpc_service.html" target="_blank">RPC Services</a>. This sample uses a Java Object named FileUtils that I created that implements several file I/O functions. One of these function&nbsp;is listFilesFromURL(url). This function will return a string&nbsp;array&nbsp;of files available at the provided URL. That is the function that is used to display the list of available forms and XMl data files. This function was tested with JRun as well as WebLogic directory listings. If there any issues with the code, let me know.&nbsp;The other Flex Data Services 2 capability showcased in this sample is real-time messaging. If you choose to enable the JMS capabilities of this sample, everytime a form is rendered, the performance data is sent to a JMS topic and Flex will detect that message and grab the value which will be displayed in the graph. The really cool thing about this feature is that every person running this application will see all of the performance data, not just their own.</p> <p>You will need LiveCycle Forms as well as Flex Data Services. Check out these links to get access to the software.</p> <p><a href="http://www.adobe.com/devnet/livecycle/toolbox/index.html" target="_blank">Get the LiveCycle Developer Toolbox</a>&nbsp;</p> <p><a href="https://www.adobe.com/cfusion/tdrc/index.cfm?product=flex" target="_blank">Get Flex Data Services 2 Trial</a></p> <p>I'm working on getting the application hosted somewhere accessible to you can try it... Stay tuned.</p> <p><a href="http://blogs.adobe.com/mtg/README.html">Sample Installation Instructions</a></p> <p><a href="http://blogs.adobe.com/mtg/LCFFlex_Sample.zip">Download the Sample Files</a></p>]]>
        
    </content>
</entry>
<entry>
    <title>Flex for Java</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/mtg/2006/09/flex_for_java.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=83/entry_id=1645" title="Flex for Java" />
    <id>tag:blogs.adobe.com,2006:/mtg//83.1645</id>
    
    <published>2006-09-13T14:04:31Z</published>
    <updated>2006-09-13T14:42:00Z</updated>
    
    <summary>Are you a Java developer interested to know what&apos;s all the fuss about Flex? Then I highly recommend that you take 30 minutes from your busy schedule and try Christophe&apos;s 30 minute Flex Test-Drive for Java Developers. This comprehensive test-drive...</summary>
    <author>
        <name>Marcel Boucher</name>
        
    </author>
            <category term="Flex" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/mtg/">
        <![CDATA[<p>Are you a Java developer interested to know what's all the fuss about Flex? Then I highly recommend that you take 30 minutes from your busy schedule and try Christophe's <a href="http://coenraets.org/blog/2006/09/30-minutes-flex-test-drive-for-java-developers/" target="_blank">30 minute Flex Test-Drive for Java Developers</a>. This comprehensive test-drive will walk you through connecting java backends to Flex. This will give you a&nbsp;glimpse on how you can break out of the limitations of the browser and pimp up the interface to your applications.</p>]]>
        
    </content>
</entry>

</feed> 

