<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>LiveCycle Product Blog</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/" />
    <link rel="self" type="application/atom+xml" href="http://blogs.adobe.com/livecycle/atom.xml" />
   <id>tag:blogs.adobe.com,2008:/livecycle//90</id>
    <link rel="service.post" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90" title="LiveCycle Product Blog" />
    <updated>2008-08-27T20:23:59Z</updated>
    <subtitle>Adobe® LiveCycle® Enterprise Suite software is an integrated J2EE server solution that blends electronic forms, process management, document security, and document generation to help you create and deliver rich and engaging applications that reduce paperwork, accelerate decision-making, and help ensure regulatory compliance.

Follow this blog to find out how to do more with Adobe® LiveCycle®.  Questions and comments are always welcome.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.2</generator>
 
<entry>
    <title>Correspondence Management</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/08/correspondence_management.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=7211" title="Correspondence Management" />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.7211</id>
    
    <published>2008-08-27T20:08:29Z</published>
    <updated>2008-08-27T20:23:59Z</updated>
    
    <summary>There are some activities that all businesses need to do. Two of those are corresponding with customers and enrolling them into new services (they could be simple processes or they could be very complicated depending on various requirements). Adobe has...</summary>
    <author>
        <name>Stefan Cameron</name>
        <uri>http://forms.stefcameron.com/</uri>
    </author>
            <category term="Correspondence Management" />
            <category term="Solution Accelerators" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>There are some activities that all businesses need to do. Two of those are corresponding with customers and enrolling them into new services (they could be simple processes or they could be very complicated depending on various requirements). Adobe has recognized this need and has added a new segment to it&#8217;s <a href="http://www.adobe.com/products/livecycle/">LiveCycle Enterprise Suite</a> called <a href="http://www.adobe.com/products/livecycle/solutionaccelerators/">Solution Accelerators</a>. </p>  <p>These Solution Accelerators come in the form of development kits that provide tools, built on top of LiveCycle ES, that are designed to help businesses, enterprises and government agencies quickly get started on a correspondence (eg. building letters and sending them to customers) and/or enrollment (eg. opening a new bank account) solution tailored to their business requirements. </p>  <p>For the past few months now, I&#8217;ve been working on the <a href="http://www.adobe.com/products/livecycle/solutionaccelerators/correspondence.html">Correspondence Management</a> Team at Adobe. We&#8217;re building some really cool tools that leverage many aspects of LiveCycle, <a href="http://www.adobe.com/products/flex/">Flex</a> and <a href="http://www.adobe.com/products/air/">AIR</a>.</p>  <p>To get things started, I'll be posting a series of articles related to the Correspondence Management Solution Accelerator. They will show how to install the kit into your LiveCycle environment and then use it to build a new letter solution.</p>  <p>Stay tuned!</p>]]>
        
    </content>
</entry>
<entry>
    <title>Security Series II - User&apos;s Identity in LiveCycle</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/08/security_series_ii_users_ident.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=6847" title="Security Series II - User's Identity in LiveCycle" />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.6847</id>
    
    <published>2008-08-07T12:38:10Z</published>
    <updated>2008-08-15T06:06:23Z</updated>
    
    <summary>In this post we would talk about a User&amp;#8217;s identity in LC once he has authenticated. Any service operation exposed by a DSC can be invoked either anonymously or after performing authentication. Authentication can be performed in two ways Implicit...</summary>
    <author>
        <name>Chetan Mehrotra</name>
        
    </author>
            <category term="Adobe LiveCycle ES" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>In this post we would talk about a User&#8217;s identity in LC once he has authenticated.</p>

<p>Any service operation exposed by a <span class="caps">DSC </span>can be invoked either anonymously or after performing authentication. Authentication can be performed in two ways</p>

<h3>Implicit authentication</h3>

<p>Implicitly via creation of <code>ServiceClientFactory</code> - When you create a <code>ServiceClientFactory</code> instance you can provide the credentials through the poperties. This information is later used by the <span class="caps">DSC </span>container for authentication purpose. Here you are limited to username/password based authentication.</p>




<code><pre style="overflow: auto;">
    Properties props = new Properties();
    props.setProperty("DSC_DEFAULT_EJB_ENDPOINT", "jnp://localhost:1099");
    props.setProperty("DSC_TRANSPORT_PROTOCOL","EJB");          
    props.setProperty("DSC_SERVER_TYPE", "JBoss");
	
	//Here we are setting the credentials which would later be used while invoking the services
    props.setProperty("DSC_CREDENTIAL_USERNAME", "administrator");
    props.setProperty("DSC_CREDENTIAL_PASSWORD", "password");

    //Create a ServiceClientFactory object
    ServiceClientFactory myFactory = ServiceClientFactory.createInstance(props);
</pre></code>




<h3>Explicit authentication</h3>

<p>Explicitly via obtaining an <code>AuthResult</code> by authenticating using one of the methods exposed by <code>AuthenticationManager</code>. The <code>AuthenticationManagerServiceClient</code> implements this interface and you would use it for performing authentication. It provides methods for</p>


<ul>
<li>Username/password based authentication</li>
<li>Certificate based authentication</li>
<li>Impersonating a user</li>
</ul>



<p>Apart from that there are overloaded methods for performing <i>domain based authentication</i>. We would discuss these modes in later parts of this series. For now lets authenticate a user</p>




<code><pre style="overflow: auto;">
    ...
    //Create a ServiceClientFactory object
    ServiceClientFactory myFactory = ServiceClientFactory.createInstance(props);
    AuthenticationManagerServiceClient authClient = new AuthenticationManagerServiceClient(myFactory);

    //Now use the client to perform authentication using the username and password
    <b>AuthResult authResult = authClient.authenticate(username, password.getBytes());</b>
</pre></code>




<p>Once you authenticate you get an <a href="http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/javadoc/com/adobe/idp/um/api/infomodel/AuthResult.html@"><code>AuthResult</code></a>. It contains an <code>assertion</code> which acts as a sort of security token in LiveCycle. If this token is passed through any of the supported remote access mechanism then LiveCycle would use it for authentication purpose. Before examining the assertion contents lets see how it can be used </p>




<code><pre style="overflow: auto;">
   //Create an instance of com.adobe.idp.Context 
   Context context = new Context();
   context.initPrincipal(authResult);

   //Set the context in your ServiceClientFactory instance. 
   myFactory.setContext(context);
</pre></code>




<p>Here we create a <code>Context</code> and initialized it with the <code>AuthResult</code> obtained previously. This context is then set in the <code>ServiceClientFactory</code> instance. Now any call made using this factory instance would carry the context and at server side the user&#8217;s identity would be established using this context object. At first instance it would look more complicated than the implicit authentication but soon we would see how it can be more useful for us.</p>

<h3><span class="caps">SAML</span> Assertion</h3>

<p>The <code>assertion</code> which is present in the <code>AuthResult</code> object is actually a serialized <span class="caps">SAML </span>assertion. As a user you need not have to interpret its content. You can treat it as an opaque object and just pass it back to LiveCycle for each invocation. </p>




<code><pre style="overflow: auto;">
&lt;Assertion xmlns=&quot;urn:oasis:names:tc:SAML:1.0:assertion&quot;
    xmlns:saml=&quot;urn:oasis:names:tc:SAML:1.0:assertion&quot;
    xmlns:samlp=&quot;urn:oasis:names:tc:SAML:1.0:protocol&quot;
    AssertionID=&quot;fd4bd0c87302780e0d9bbfa8726d5bc0&quot; IssueInstant=&quot;2008-04-17T13:47:00.720Z&quot; Issuer=&quot;LiveCycle&quot;
    MajorVersion=&quot;1&quot; MinorVersion=&quot;1&quot;&gt;
    &lt;Conditions NotBefore=&quot;2008-04-17T13:47:00.720Z&quot; NotOnOrAfter=&quot;2008-04-17T15:47:00.720Z&quot;&gt;
    &lt;/Conditions&gt;
    &lt;AuthenticationStatement
        AuthenticationInstant=&quot;2008-04-17T13:47:00.720Z&quot;
        AuthenticationMethod=&quot;urn:oasis:names:tc:SAML:1.0:am:unspecified&quot;&gt;
        &lt;Subject&gt;
            &lt;NameIdentifier NameQualifier=&quot;DefaultDom&quot;&gt;administrator&lt;/NameIdentifier&gt;
            &lt;SubjectConfirmation&gt;
                &lt;ConfirmationMethod&gt;urn:oasis:names:tc:SAML:1.0:cm:sender-vouches&lt;/ConfirmationMethod&gt;
            &lt;/SubjectConfirmation&gt;
        &lt;/Subject&gt;
    &lt;/AuthenticationStatement&gt;
    &lt;ds:Signature xmlns:ds=&quot;http://www.w3.org/2000/09/xmldsig#&quot;&gt;
        &lt;ds:SignedInfo&gt;
            &lt;ds:CanonicalizationMethod Algorithm=&quot;http://www.w3.org/2001/10/xml-exc-c14n#&quot;&gt;&lt;/ds:CanonicalizationMethod&gt;
            &lt;ds:SignatureMethod    Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#hmac-sha1&quot;&gt;&lt;/ds:SignatureMethod&gt;
            &lt;ds:Reference URI=&quot;#fd4bd0c87302780e0d9bbfa8726d5bc0&quot;&gt;
                &lt;ds:Transforms&gt;
                    &lt;ds:Transform Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#enveloped-signature&quot;&gt;&lt;/ds:Transform&gt;
                    &lt;ds:Transform Algorithm=&quot;http://www.w3.org/2001/10/xml-exc-c14n#&quot;&gt;
                        &lt;ec:InclusiveNamespaces    xmlns:ec=&quot;http://www.w3.org/2001/10/xml-exc-c14n#&quot;
                            PrefixList=&quot;code ds kind rw saml samlp typens #default&quot;&gt;
                        &lt;/ec:InclusiveNamespaces&gt;
                    &lt;/ds:Transform&gt;
                &lt;/ds:Transforms&gt;
                &lt;ds:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;&gt;&lt;/ds:DigestMethod&gt;
                &lt;ds:DigestValue&gt;hVrtqjWr+VzaVUIpQx0YI9lIjaY=&lt;/ds:DigestValue&gt;
            &lt;/ds:Reference&gt;
        &lt;/ds:SignedInfo&gt;
        &lt;ds:SignatureValue&gt;UMbBb+cUcPtcWDCIhXes4n4FxfU=&lt;/ds:SignatureValue&gt;
    &lt;/ds:Signature&gt;
&lt;/Assertion&gt;
</pre></code>




<p>Following are the important aspects for this assertion</p>


<ul>
<li>It is valid for certain duration - By default for 2 hrs</li>
<li>It is issued for a particular user - Here its for <code>administrator</code></li>
<li>It is digitally signed. So any modification done to it would break the signature - This is an imporatant point. This assertion content is protected by a xml signature. So any modification done to it would make it invalid. </li>
<li>It can be presented to LiveCycle as a token of user&#8217;s identity similar to username,password</li>
</ul>



<p>This assertion is confirming to the <a href="http://en.wikipedia.org/wiki/SAML"><span class="caps">SAML</span> 1.0</a> specification. As it is xml based you can also pass it as a part of the Web Service Security Header<sup class="footnote"><a href="http://blogs.adobe.com/livecycle/2008/08/security_series_ii_users_ident.html#fn1">1</a></sup>. </p>

<h3>Benefits of explicit authentication</h3>

<p>Explicit authentication is beneficial in following ways</p>

<p>Firstly you can use it to authenticate using more secure ways like certificates - How would be part of some future post </p>

<p>Secondly you can use it to invoke the LiveCycle services in a more secure way - Lets say you are creating a custom application which invokes the services exposed by LiveCycle. In that a typical requirement is that User A login to the system. Here he authenticates say by providing his credentials. Now at later stage you want to invoke some LiveCycle service on behalf of this user. For this you have following options</p>


<ul>
<li>Store the user&#8217;s credential locally and make a call to LiveCycle using them - This has an issue that you are holding the user&#8217;s credentials in memory. Which is not a good practice in terms of security. If you pass these credentials <strong>everytime</strong> to the LiveCycle server then you risk them being exposed. You can make it secure by using a secure way to communicate</li>
<li>Authenticate against the LiveCycle server and store the <code>assertion</code> obtained. Reuse this assertion everytime you communicate with the server. This way even if someone obtains this assertion he can only use it for a certain period time (before the assertion expires). This provides a better level of security than the previous option</li>
<li>Have a trust relationship with the LiveCycle server and obtain an assertion on behalf of that user. This is called as impersonation and we would talk about it in later part of the series</li>
</ul>



<p>Hence the <span class="caps">SAML </span>assertion stored in <code>AuthResult</code> acts as a security token for a user in LiveCycle. In later part of this series we would see how it can be passed as a part of WS-Security header to impersonate a user. The next post in series would talk of one of the <span class="caps">SSO </span>mechanism supported by LiveCycle which is <span class="caps">HTTP</span> Header based <span class="caps">SSO.</span></p>

<p class="footnote" id="fn1"><sup>1</sup> Using <span class="caps">SAML </span>assertion in web service authentication is explained at <a href="http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/help/001503.html">Using <span class="caps">SAML </span>based authentication</a> at LiveDocs</p>]]>
        
    </content>
</entry>
<entry>
    <title>Security Series I - Terms used in LiveCycle User Management</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/07/security_series_i_terms_used_i.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=6661" title="Security Series I - Terms used in LiveCycle User Management" />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.6661</id>
    
    <published>2008-07-23T14:24:06Z</published>
    <updated>2008-07-28T10:46:47Z</updated>
    
    <summary>Starting with this post I would talk about various Authentication features provided by LiveCycle. To start, lets understand few terms that are used as part of this series. The User Management component (henceforth referred as UM) of LiveCycle handles all...</summary>
    <author>
        <name>Chetan Mehrotra</name>
        
    </author>
            <category term="Adobe LiveCycle ES" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>Starting with this post I would talk about various Authentication features provided by LiveCycle. </p>

<p>To start, lets understand few terms that are used as part of this series. The User Management component (henceforth referred as UM) of LiveCycle handles all the security related items like handling authentication, managing Users, Groups , Roles etc. It provides three important services</p>


<ul>
<li><a href="http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/javadoc/com/adobe/idp/um/api/AuthenticationManager.html">AuthenticationManager</a> - Provides the authentication related methods. </li>
<li><a href="http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/javadoc/com/adobe/idp/um/api/AuthorizationManager.html">AuthorizationManager</a> - Provides methods for determining access and authorization. </li>
<li><a href="http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/javadoc/com/adobe/idp/um/api/DirectoryManager.html">DirectoryManager</a> - Provides methods to query the UM domain model. Also provides methods to create, update, search User, Roles etc</li>
</ul>



<h4>Domain model</h4>

<p>In brief following are few of the important domain objects provided by UM</p>


<ul>
<li><a href="http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/javadoc/com/adobe/idp/um/api/infomodel/Principal.html">Principal</a> - The most basic entity in UM is a Principal. You can assign Roles to a Principal or assign task. A Principal is extended by User or Group</li>
<li><a href="http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/javadoc/com/adobe/idp/um/api/infomodel/User.html">User</a> - The name says it all. An User can be created locally or it can be synched from an external repository like Directory Server. </li>
<li><a href="http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/javadoc/com/adobe/idp/um/api/infomodel/Group.html">Group</a> - A Group represent a set of users or groups. One can assign permission, roles to a group which then get percolated to the group members. Groups can be nested. They can be created locally or synched from an external repository. </li>
</ul>



<h4>User Types</h4>

<p>For authentication purpose we are more concerned with User. User&#8217;s can be broadly classified in two ways</p>


<ul>
<li><em>Local User</em> - These are user&#8217;s which are created and managed by <span class="caps">UM.</span> You can create such user&#8217;s through the AdminUI or through apis exposed by the <a href="http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/javadoc/com/adobe/idp/um/api/DirectoryManager.html">DirectoryManager</a>. These users can only be authenticated through username/password mechanism</li>
<li><em>Enterprise Users</em> - These user&#8217;s are synched from an external repository. There authentication is also handled by an external authentication service like a <i>Directory Server</i>. For creating such user you typically create a Domain and <i>synch</i> the users from such external sources </li>
</ul>



<p>Again our focus would be more on such external users. The concepts would also apply to the local users also (in a limited way)</p>

<h4>User Attributes</h4>

<p>An enterprise user has following important attributes</p>


<ul>
<li><em>userid</em> - This is the user&#8217;s login identifier. Say while authenticating using username and password a user would provide the <i>userid</i> as his username. A user&#8217;s userid can change</li>
<li><em>canonicalName</em> - This serves as a user&#8217;s unique identifier. Refer to <a href="http://blogs.adobe.com/livecycle/2008/06/what_is_dn_and_what_is_the_not_1.html">this</a> post to understand what constitute as unique identifier. In brief this value should <span class="caps">NEVER </span>change for a user</li>
</ul>



<h4><span class="caps">SSO</span></h4>

<p><span class="caps">SSO </span>stands for Single Sign On. In LiveCycle <span class="caps">SSO </span>means two things</p>


<ul>
<li><span class="caps">SSO </span>between End User UI - This is a new feature introduced in ES <span class="caps">U1.</span> It means that if you log into one of the LiveCycle application like Workspace, Content Services etc then you can navigate to any other component&#8217;s ui seamlessly.  Say if you are in Content Services UI and click on Task&#8217;s link then it should open the workspace without you providing your credentials again. This is something which is internal to LiveCycle so as a user you would not have to configure it</li>
</ul>




<ul>
<li><span class="caps">SSO </span>within Enterprise - Cannot think of a better phrase. Anyway it means that if your company already has a <span class="caps">SSO </span>solution in place then LiveCycle can integrate with that. Next few post in this series would deal with this area only and we would also discuss about the new <span class="caps">SPNEGO </span>based <span class="caps">SSO </span></li>
</ul>



<p>This was in brief a small introduction to UM <i>lingo</i>. The next post would talk about Users Identity in LiveCycle</p>]]>
        
    </content>
</entry>
<entry>
    <title>Foundation and Licensed Services</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/07/foundation_and_licensed_servic.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=6660" title="Foundation and Licensed Services" />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.6660</id>
    
    <published>2008-07-23T12:49:59Z</published>
    <updated>2008-07-23T13:07:53Z</updated>
    
    <summary>Foundation services are those services that are included with all the solution components. Services outside of the foundation are part of other individually (or packaged) licensed products. If you would like to find out which LiveCycle ES 8.2 services are...</summary>
    <author>
        <name>Lee Sutton</name>
        <uri>www.adobe.com</uri>
    </author>
            <category term="Adobe LiveCycle Process Management ES" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>Foundation services are those services that are included with all the solution components.  Services outside of the foundation are part of other individually (or packaged) licensed products.</p>

<p>If you would like to find out which LiveCycle ES 8.2 services are available with the Foundation and which services come with other licensed products, keep this document bookmarked: <a href="http://help.adobe.com/en_US/livecycle/8.2/solutioncomponents_services.pdf ">http://help.adobe.com/en_US/livecycle/8.2/solutioncomponents_services.pdf </a></p>]]>
        
    </content>
</entry>
<entry>
    <title>PDF Portfolios and Beyond</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/07/pdf_portfolios_and_beyond.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=6596" title="PDF Portfolios and Beyond" />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.6596</id>
    
    <published>2008-07-14T19:52:56Z</published>
    <updated>2008-07-14T20:02:30Z</updated>
    
    <summary>Adobe Acrobat 9 allows you to package and distribute your forms in some new and interesting ways. Lori has posted a great sample of this on her blog at: http://blogs.adobe.com/loridefurio/Portfolio2withMovie.pdf. If you are interested in learning more about how to...</summary>
    <author>
        <name>Lee Sutton</name>
        <uri>www.adobe.com</uri>
    </author>
            <category term="Adobe LiveCycle Designer ES" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>Adobe Acrobat 9 allows you to package and distribute your forms in some new and interesting ways.  Lori has posted a great sample of this on her blog at: http://blogs.adobe.com/loridefurio/Portfolio2withMovie.pdf.</p>

<p>If you are interested in learning more about how to put portfolios together, register for the upcoming "PDF Portfolios and Beyond" session here: <a href="http://www.acrobatusers.com/events/online/257/">http://www.acrobatusers.com/events/online/257/</a><br />
</p>]]>
        
    </content>
</entry>
<entry>
    <title>Adobe Reader 9 Download</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/07/reader_9_reader_for_download.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=6521" title="Adobe Reader 9 Download" />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.6521</id>
    
    <published>2008-07-02T17:12:06Z</published>
    <updated>2008-07-03T14:43:51Z</updated>
    
    <summary>As you are probably aware, Adobe Reader 9 is now available on the download site. You can find out more about Adobe Reader 9 here: http://www.adobe.com/products/reader/features/. If you are looking for reasons to upgrade, then start here: http://www.adobe.com/products/reader/reasons_to_upgrade/and for general...</summary>
    <author>
        <name>Lee Sutton</name>
        <uri>www.adobe.com</uri>
    </author>
            <category term="General Interest" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>As you are probably aware, Adobe Reader 9 is now available on the download site.  You can find out more about Adobe Reader 9 here:  <a href="http://www.adobe.com/products/reader/features/">http://www.adobe.com/products/reader/features/</a>.  If you are looking for reasons to upgrade, then start here: <a href="http://www.adobe.com/products/reader/reasons_to_upgrade/">http://www.adobe.com/products/reader/reasons_to_upgrade/</a>and for general questions go to: <a href="http://www.adobe.com/products/reader/faq/">http://www.adobe.com/products/reader/faq/</a>.</p>

<p>If you are a LiveCycle customer with external facing forms you should ensure your customer-facing teams are familiar with the new version.</p>]]>
        
    </content>
</entry>
<entry>
    <title>A Different Perspective on Digital Signatures with Reader 9</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/06/a_different_perspective_on_dig.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=6407" title="A Different Perspective on Digital Signatures with Reader 9" />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.6407</id>
    
    <published>2008-06-26T20:18:47Z</published>
    <updated>2008-06-26T20:24:24Z</updated>
    
    <summary>Adobe Reader 9 offers a great new perspective on Digital Signatures and how they are viewed by end-users. You will notice that the validity of the signature is no longer indicated by an icon directly on the signature itself (the...</summary>
    <author>
        <name>Lee Sutton</name>
        <uri>www.adobe.com</uri>
    </author>
            <category term="Adobe LiveCycle Digital Signatures ES" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>Adobe Reader 9 offers a great new perspective on Digital Signatures and how they are viewed by end-users.  You will notice that the validity of the signature is no longer indicated by an icon directly on the signature itself (the famous yellow triangle).  Instead, you will find a new bar provided at the top of the PDF indicating the validity and status of the signatures on the form.  For additional detail on individual signatures a new side-bar gives you a full view of individual signature status along with form changes that may have occured between signatures (for example).</p>

<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="pxplayer" width="640" height="480" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"><br />
  <param name="movie" value="https://static.photoshop.com/express/embed/pxplayer.swf"/><br />
  <param name="flashvars" value="uid=home_330ede037f0647278115decc6a7507f4&gid=1cbe7e0165984e8295797cddbd335386"/><br />
  <param name="quality" value="high"/><br />
  <embed src="https://static.photoshop.com/express/embed/pxplayer.swf" flashvars="uid=home_330ede037f0647278115decc6a7507f4&gid=1cbe7e0165984e8295797cddbd335386" quality="high" width="640" height="480" name="pxplayer" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer">ﾠ</embed><br />
</object><br />
</p>]]>
        
    </content>
</entry>
<entry>
    <title>What is &quot;dn&quot; and what is the notion of &quot;unique id&quot; in LiveCycle enterprise domains? </title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/06/what_is_dn_and_what_is_the_not_1.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=6452" title="What is &quot;dn&quot; and what is the notion of &quot;unique id&quot; in LiveCycle enterprise domains? " />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.6452</id>
    
    <published>2008-06-26T09:44:15Z</published>
    <updated>2008-06-26T10:37:56Z</updated>
    
    <summary>dn is the fully qualified name for any object present in the directory server. Depending on the directory server they may be of different formats * Active Directory - CN=sampleuser,CN=Users,DC=companydomain,DC=global,DC=company,DC=com * Sun One - uid=sampleuser,ou=People,O=company.com For users/groups belonging to an...</summary>
    <author>
        <name>Gitesh Malik</name>
        
    </author>
            <category term="Adobe LiveCycle ES" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>dn is the fully qualified name for any object present in the directory server. Depending on the directory server they may be of different formats</p>

<p>    * Active Directory - CN=sampleuser,CN=Users,DC=companydomain,DC=global,DC=company,DC=com<br />
    * Sun One - uid=sampleuser,ou=People,O=company.com</p>

<p>For users/groups belonging to an Enterprise domain an unique id is required. This unique id as the name implies uniquely identifies the user/group in the directory server from where it has been synched. Any attribute which is used for unique id should have following two properties</p>

<p>   1. Should uniquely identify the user/group - No two unique identifier must be same ever i.e. even if the object gets deleted the same id SHOULD NOT be issued to any new object<br />
   2. Should remain constant throughout the object's life time</p>

<p>At a first glance dn of any directory object looks like a perfect fit for unique id. But it does not satisfy the second requirement. Depending on directory server configuration the users may be divided by there departments or any other criteria. So following scenarios may arise</p>

<p>    * A user sampleuser belonging to sales dept would initially have dn as cn=sampleuser,ou=sales,ou=example,ou=com. Later the person moves to a different dept and as such his dn would then change and would thus break rule 2<br />
    * A user tuser having dn as cn=sampleuser,ou=sales,ou=example,ou=com leaves the company. Another user then joins having the name sampleuser and thus assigned same dn. In that case when that user gets synched in the UM would get the roles given to earlier user which is not correct.</p>

<p>So admin must use an attribute which satisfies both the above conditions. Our recommendations are</p>

<p>    * Active Directory - objectGUID<br />
    * Sun one - nsuniqueid<br />
    * IBM Tivoli - ibm-entryuuid<br />
    * Novell directory - guid<br />
</p>]]>
        
    </content>
</entry>
<entry>
    <title>Running LiveCycle in Debug Mode on WebLogic</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/06/running_livecycle_in_debug_mod.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=6403" title="Running LiveCycle in Debug Mode on WebLogic" />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.6403</id>
    
    <published>2008-06-19T16:52:00Z</published>
    <updated>2008-06-20T13:45:06Z</updated>
    
    <summary>Using the WebLogic Admin Console, navigate to the &apos;Server Start&apos; properties of the managed server that hosts LiveCycle. Add the following to the &apos;Arguments&apos; field. The port used (1044) should be available on the node: -Xdebug -Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=n Re-start the managed...</summary>
    <author>
        <name>Jayan Kandathil</name>
        
    </author>
            <category term="Adobe LiveCycle ES" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>Using the WebLogic Admin Console, navigate to the 'Server Start' properties of the managed server that hosts LiveCycle.  Add the following to the 'Arguments' field.  The port used (1044) should be available on the node:<br />
<font color=blue>-Xdebug -Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=n</font></p>

<p>Re-start the managed server.  Point your debugger at the debug port (1044 in the example above).</p>

<p>If the managed server is being started from a script, the debug arguments should be added to the startup script, instead of within the Admin Console.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Clearing a Signature Field on an Invalid Document</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/06/clearing_a_signature_field_on.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=6078" title="Clearing a Signature Field on an Invalid Document" />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.6078</id>
    
    <published>2008-06-03T02:33:53Z</published>
    <updated>2008-06-03T02:39:42Z</updated>
    
    <summary>If you would like to ensure that users do not apply Digital Signatures to incomplete forms, after the signature is applied, reset the Signature field using the &quot;resetForm&quot; method along with the full name of the signature field: var doc...</summary>
    <author>
        <name>Lee Sutton</name>
        <uri>www.adobe.com</uri>
    </author>
            <category term="Adobe LiveCycle Digital Signatures ES" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>If you would like to ensure that users do not apply Digital Signatures to incomplete forms, after the signature is applied, reset the Signature field using the "resetForm" method along with the full name of the signature field:</p>

<p>var doc = event.target;<br />
doc.resetForm("XMLExampleForm[0].XMLExamplePage1[0].SignatureField1[0]");</p>

<p>In this example the user must enter the Name field to apply a valid signature.  If the Name is removed or the Name is not entered, the signature field is cleared.</p>

<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0" width="365" height="500"> <param name="movie" value="https://share.acrobat.com/adc/flex/mpt.swf" /> <param name="quality" value="high" /> <param name="wmode" value="transparent"/> <param name="allowFullScreen" value="true"/> <param name="flashvars"  value="ext=pdf&docId=62d439c1-20e0-42bd-b43f-f54204a35e52"/> <embed src="https://share.acrobat.com/adc/flex/mpt.swf"  quality="high"  pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"  type="application/x-shockwave-flash" width="365" height="500" wmode="transparent" allowFullScreen="true" flashvars="ext=pdf&docId=62d439c1-20e0-42bd-b43f-f54204a35e52"> </embed> </object><br />
</p>]]>
        
    </content>
</entry>
<entry>
    <title>Using WebSphere Proxy Server for Load-Balancing LiveCycle Clusters</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/05/using_websphere_proxy_server_f.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=6008" title="Using WebSphere Proxy Server for Load-Balancing LiveCycle Clusters" />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.6008</id>
    
    <published>2008-05-28T17:11:35Z</published>
    <updated>2008-05-28T17:11:56Z</updated>
    
    <summary>IBM introduced Proxy Server in version 6.0.2 of its WebSphere Application Server ND. This can be used as a load-balancer to load-balance user requests to a cluster of LiveCycle ES appserver nodes. In addition, the Proxy server can be configured...</summary>
    <author>
        <name>Jayan Kandathil</name>
        
    </author>
            <category term="Adobe LiveCycle ES" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>IBM introduced Proxy Server in version 6.0.2 of its WebSphere Application Server ND.  This can be used as a load-balancer to load-balance user requests to a cluster of LiveCycle ES appserver nodes.  In addition, the Proxy server can be configured as a caching proxy to improve performance.</p>

<p>Unlike IBM HTTP Server, the Proxy Server does not require a lot of configuration.  There is no HTTP Plugin to configure and to copy to all nodes.  All that is needed is that:<br />
1) you create and run a proxy server, and<br />
2) when the LiveCycle EAR files are deployed, you should map them to the proxy_host virtual host.</p>

<p>The following steps apply to WebSphere 6.1.0.15.</p>

<p>Create Proxy Server<br />
-------------------------<br />
1) Login to the WebSphere Admin Console<br />
2) On the left navigation pane, expand the 'Servers' node<br />
3) Click on 'Proxy Servers'<br />
4) Click the 'New' button<br />
5) Select the node on which you want to run the Proxy Server java process from the dropdownlist of avaiable nodes<br />
6) type in the name of the server (eg: proxy1), click Next<br />
7) uncheck the checkbox for SIP<br />
8) Choose the proxy_server template<br />
9) Click 'Finish' and save the changes</p>

<p>Configure Proxy Server<br />
-----------------------------<br />
1) Click on the Proxy Server you just created<br />
2) In the 'Proxy Settings' section on the right, expand the 'HTTP Proxy Server Settings' node<br />
3) Click on 'Proxy Settings'<br />
4) Check the checkboxes for 'Cache SSL content', 'Cache Aggressively' and 'Cache Dynamic Content' if you desire<br />
5) Save the changes.</p>

<p>For more details, please see Erik Burckart's <a href="http://www.ibm.com/developerworks/websphere/techjournal/0706_col_burckart/0706_col_burckart.html">article</a> in the IBM WebSphere Developer Technical Journal and <a href="http://www.webspherementor.com/resources/Turaga_Ch27$28Proxy-Server$29.pdf">excerpt</a> from the book <a href="http://www.mc-store.com/5077.html">WebSphere Application Server: Step by Step</a>.</p>

<p>When deploying LiveCycle EAR files, ensure that you map them to the proxy_host virtual host which has the default port of 80 for HTTP and 443 for HTTPS.</p>

<p>Assuming that the node hosting the proxy server (this can be on the same node as Deployment Manager) is nodeA.company.com, the URL for the LiveCycle AdminUI would be this:<br />
http://nodeA.company.com/adminui</p>]]>
        
    </content>
</entry>
<entry>
    <title>Choice of Video Card Can Improve Acrobat and Reader Performance</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/05/choice_of_video_card_can_impro.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=5950" title="Choice of Video Card Can Improve Acrobat and Reader Performance" />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.5950</id>
    
    <published>2008-05-21T19:30:44Z</published>
    <updated>2008-05-21T19:29:00Z</updated>
    
    <summary>Adobe Acrobat and Reader (version 8) now have built-in support for GPU acceleration which will improve the viewing performance of a PDF document on a desktop client. Not all video cards are supported. Please also see article from NVIDIA. GPU-Z...</summary>
    <author>
        <name>Jayan Kandathil</name>
        
    </author>
            <category term="Adobe LiveCycle ES" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>Adobe Acrobat and Reader (version 8) now have built-in <a href="http://kb.adobe.com/selfservice/viewContent.do?externalId=333447&sliceId=1">support</a> for <a href="http://en.wikipedia.org/wiki/Graphics_processing_unit">GPU</a> acceleration which will improve the viewing performance of a PDF document on a desktop client.  Not all video cards are supported.  Please also see <a href="http://www.nvidia.com/object/testimonial_adobe_acrobat8.html">article</a> from NVIDIA.</p>

<p><a href="http://www.techpowerup.com/downloads/1059/TechPowerUp_GPU-Z_v0.2.1.html">GPU-Z</a> is a free utility that can help you determine your video card type.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Drop-down List Samples</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/05/dropdown_list_samples_1.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=5845" title="Drop-down List Samples" />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.5845</id>
    
    <published>2008-05-09T02:14:35Z</published>
    <updated>2008-05-09T02:36:54Z</updated>
    
    <summary>The &quot;Countries&quot; custom drop-down list object in the Custom object library in Designer only has 55 countries listed. With well over a hundred missing I thought it would be worth sharing the complete list that I had to put together...</summary>
    <author>
        <name>Lee Sutton</name>
        <uri>www.adobe.com</uri>
    </author>
            <category term="Adobe LiveCycle Designer ES" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>The "Countries" custom drop-down list object in the Custom object library in Designer only has 55 countries listed.  With well over a hundred missing I thought it would be worth sharing the complete list that I had to put together for a recent project.  This includes the complete UN list of countries as well as the States & Provinces in North America.  Thanks to <a href="http://openconcept.ca/blog/mgifford/text_list_all_countries">http://openconcept.ca/blog/mgifford/text_list_all_countries</a> for the text list.</p>

<p><a href="https://share.acrobat.com/adc/document.do?docid=ed4d8b81-1d64-11dd-9f39-71802d2d28dd">Download the sample</a> below and then open with Designer.  Once loaded, drag each of the objects from the PDF into the Custom Object Library.  Once there, you will be able to drag and drop these on to any of your forms.  Better yet, create Form Fragments so if any changes occur you only have to update the data in one place.</p>

<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0" width="365" height="500"> <param name="movie" value="https://share.acrobat.com/adc/flex/mpt.swf" /> <param name="quality" value="high" /> <param name="wmode" value="transparent"/> <param name="allowFullScreen" value="true"/> <param name="flashvars"  value="ext=pdf&docId=ed4d8b81-1d64-11dd-9f39-71802d2d28dd"/> <embed src="https://share.acrobat.com/adc/flex/mpt.swf"  quality="high"  pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash"  type="application/x-shockwave-flash" width="365" height="500" wmode="transparent" allowFullScreen="true" flashvars="ext=pdf&docId=ed4d8b81-1d64-11dd-9f39-71802d2d28dd"> </embed> </object></p>]]>
        
    </content>
</entry>
<entry>
    <title>Customizing Workspace in Under 5 Minutes</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/04/customizing_workspace_in_under.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=5723" title="Customizing Workspace in Under 5 Minutes" />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.5723</id>
    
    <published>2008-04-25T17:26:47Z</published>
    <updated>2008-04-25T19:47:49Z</updated>
    
    <summary>If you would like to do some simple customizations with WorkSpace 8.0.1 such as switching out the corporate logo and login screens, these steps should make your life easier. First, download this sample WorkspaceCustomizationBatchFiles.zip from https://share.acrobat.com/adc/document.do?docid=bf6c4f37-12e5-11dd-acd1-65538200e0b2. This will provide you...</summary>
    <author>
        <name>Lee Sutton</name>
        <uri>www.adobe.com</uri>
    </author>
            <category term="Adobe LiveCycle Process Management ES" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>If you would like to do some simple customizations with WorkSpace <b>8.0.1</b> such as switching out the corporate logo and login screens, these steps should make your life easier.</p>

<p>First, download this sample WorkspaceCustomizationBatchFiles.zip from <a href="https://share.acrobat.com/adc/document.do?docid=bf6c4f37-12e5-11dd-acd1-65538200e0b2">https://share.acrobat.com/adc/document.do?docid=bf6c4f37-12e5-11dd-acd1-65538200e0b2</a>.   This will provide you with batch files to help extract and then repackage the WorkSpace EAR file (these are not part of LC ES). </p>

<p>Download and unzip the file onto your C:\ drive into a folder of your choosing.  No spaces in the folder name.  In the directory you will find 4 batch files marked with easy to follow steps.  (The last three could have been combined but I wanted to explain what goes on behind the scenes.)</p>

<p><b>Preparation</b><br />
Before running any of these steps, you must have the 2.0.1 Flex JDK in your path as well as your Java SDK.  <b>Take note that the compile step will not work with the 3.0.0 JDK compiler.</b><br />
<li>C:\Program Files\Adobe\Flex Builder 3\sdks\2.0.1\bin</li><br />
<li>C:\Program Files\Java\jdk1.5.0_12\bin</li></p>

<p><b>Step1-CreateCustomizableWorkspaceEnvironment.bat</b><br />
The first step takes the EAR file from your J2EE deploy directory and extracts the files you need to customize the look and feel of WorkSpace.  Although not required, you may want to change the WORKING_DIR to direct output to another location.  What you will need to do is change the JBOSS_DIR to the directory where your LC EAR files are deployed.  If you are using the default turn-key installation you won't need to change this.</p>

<p>The first batch file covers these steps:<br />
<li>Set some variables so we're not hard-coding everything</li><br />
<li>Create the required directories</li><br />
<li>Backup the original EAR file</li><br />
<li>Extract the EAR file to a WAR file</li><br />
<li>Extract the WAR contents out to something we can use</li></p>

<p>Once the first step is complete you can quickly make changes to the images and style sheet that provide you with the look and feel of the default Workspace.</p>

<p>The first image to start with would be the "login_splash.png" which gives you the background on the login screen.  You can find this image under <b>C:\WorkspaceCustomization\ExpandedWAR\images\login_splash.png</b>.  The next most obvious change would be the "corp-logo.png" image that is displayed at the top left hand corner of WorkSpace.  This is found under <b>C:\WorkspaceCustomization\ExpandedWAR\images\corp-logo.png</b>.</p>

<p>You have a choice to change the images by overwriting the existing files or simply change the HeaderPane or loginSplash sections in the C:\WorkspaceCustomization\ExpandedWAR\lc.css style sheet.  </p>

<p><b>Step2-CompileNewSWF.bat</b><br />
Once the images and style sheet have been changed we need to recompile the workspace-theme.swf file.  This can be done by running the step 2 batch file.  Again, be sure you are using the 2.0.1 SDK.  To check, drop to a command line and run mxmlc.exe to see which version you are using.</p>

<p><b>Step3-CreateNewWARFile.bat></b><br />
The next step is to package up the changes into a WAR file.  This step will create a new WAR file under C:\WorkspaceCustomization\NewWAR.</p>

<p><b>Step4-CreateNewEARFile.bat</b><br />
Lastly, run step 4 and the new adobe-workspace-client.ear will be created under C:\WorkspaceCustomization\NewEAR.  </p>

<p><b>Deploy the new EAR file</b><br />
Backup and then delete the original adobe-workspace-client.ear file (Do NOT backup the ear file in the deploy directory or it will remain deployed).  Under the default turn-key installation this can be found under C:\Adobe\LiveCycle8\jboss\server\all\deploy\adobe-workspace-client.ear.  When you remove the file, you should receive a message in your log that indicates that the application has been undeployed:<br />
<i>2008-04-25 13:14:19,041 INFO  [org.jboss.deployment.EARDeployer] Undeploying J2EE application, destroy step: file:/C:/Adobe/LiveCycle8/jboss/server/all/deploy/adobe-workspace-client.ear</i></p>

<p>Now copy the C:\WorkspaceCustomization\NewEAR\adobe-workspace-client.ear into the C:\Adobe\LiveCycle8\jboss\server\all\deploy directory to deploy the newly customized WorkSpace application.</p>

<p>When deployed correctly your log should indicate that the new application has been deployed:<br />
<i>2008-04-25 13:16:58,364 INFO  [org.jboss.deployment.EARDeployer] Started J2EE application: file:/C:/Adobe/LiveCycle8/jboss/server/all/deploy/adobe-workspace-client.ear</i></p>

<p>To test your new application, go to http://yourmachine:8080/workspace and make sure the changes have taken place (be sure to close and reopen your browser in case any caching has occurred).</p>

<p><b>You should now have a slightly customized version of WorkSpace deployed!</b></p>

<p>If you would like to go one step further and create a separate URL for your new WorkSpace, do the following BEFORE running the step 4 batch file.<br />
<li>Open the C:\WorkspaceCustomization\ExpandedEAR\META-INF\application.xml file</li><br />
<li>Change the value between the <context-root>anotherdepartment</context-root> tags to a URL that you require</li><br />
<li>Run the step 4 batch file</li><br />
<li>Rename the EAR to something that does not conflict with the already deployed WorkSpace file C:\WorkspaceCustomization\NewEAR\another-adobe-workspace-client.ear</li></p>

<p>This is useful when creating Workspace versions that look slightly different for different groups or departments without having to change the underlying Flex application.</p>]]>
        
    </content>
</entry>
<entry>
    <title>Easy Web Service Calls to LiveCycle from Flex 3</title>
    <link rel="alternate" type="text/html" href="http://blogs.adobe.com/livecycle/2008/04/easy_web_service_calls_to_live.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.adobe.com/cgi-bin/mt-atom.cgi/weblog/blog_id=90/entry_id=5703" title="Easy Web Service Calls to LiveCycle from Flex 3" />
    <id>tag:blogs.adobe.com,2008:/livecycle//90.5703</id>
    
    <published>2008-04-23T01:29:02Z</published>
    <updated>2008-04-23T01:44:23Z</updated>
    
    <summary>If you would like to facilitate accessing LiveCycle Web Services (or any for that matter) in Adobe Flex Builder 3, take a look at the Import Web Service function. From within Flex click on the &quot;Data&quot; menu option and then...</summary>
    <author>
        <name>Lee Sutton</name>
        <uri>www.adobe.com</uri>
    </author>
            <category term="Tips and Tricks" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.adobe.com/livecycle/">
        <![CDATA[<p>If you would like to facilitate accessing LiveCycle Web Services (or any for that matter) in Adobe Flex Builder 3, take a look at the Import Web Service function.</p>

<p>From within Flex click on the "Data" menu option and then select "Import Web Service".  When the wizard starts you will be prompted for a folder where the Action Script is to be generated.  Click on the folder of your choice and then select Next.  Now enter the location of your WSDL.  Under LiveCycle the default WSDL location is as follows: "http://yourservername:theport/soap/services/servicename?wsdl"  (a great reason not to use spaces in your service names).</p>

<p>If your WebService is successfully reached you will then need to select the operation (invoke by default), your package name, and the main class name.  If you have problems at this point make sure you can reach the WSDL by using your favorite browser.</p>

<p>If you are not sure where to start with the code that is generated, open the "yourservicenameServiceService.as".  It describes the next steps and provides you with sample code.</p>

<p>Don't modify the code.  When you make changes to your service on the server, select "Data", "Manage Web Services" and then simply click on the update button.  This will prompt you to regenerate the code associated with the service (you will need to change your application yourself of course).</p>]]>
        
    </content>
</entry>

</feed> 

