<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Chris Giametta &#187; Uncategorized</title>
	<atom:link href="http://www.appfoundation.com/blogs/giametta/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.appfoundation.com/blogs/giametta</link>
	<description>Rich Internet Apps</description>
	<lastBuildDate>Wed, 19 Oct 2011 22:22:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Adobe Flex Social Business Tool – AfConnect AIR Application</title>
		<link>http://www.appfoundation.com/blogs/giametta/2010/07/20/adobe-flex-social-business-tool-%e2%80%93-afconnect-air-application/</link>
		<comments>http://www.appfoundation.com/blogs/giametta/2010/07/20/adobe-flex-social-business-tool-%e2%80%93-afconnect-air-application/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 14:09:46 +0000</pubDate>
		<dc:creator>Chris Giametta</dc:creator>
				<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[FxConnect]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Dallas Texas]]></category>

		<guid isPermaLink="false">http://www.appfoundation.com/blogs/giametta/?p=196</guid>
		<description><![CDATA[I wanted to take some time to show one of AppFoundation’s internal applications we use to manage a variety of information such as clients, projects, and communication between the two. AppFoundation&#8217;s social business solution, Af Connect, applies the full potential of Web 2.0 models like communities, collaboration and user generated ...]]></description>
			<content:encoded><![CDATA[<p>I wanted to take some time to show one of AppFoundation’s internal applications we use to manage a variety of information such as clients, projects, and communication between the two. AppFoundation&#8217;s social business solution, Af Connect, applies the full potential of Web 2.0 models like communities, collaboration and user generated content in a secure, managed environment.</p>
<p>The application is built using the Adobe Flex and AIR platform, and utilizes a series of Spring services for persisting its data. The combination of Spring and AIR offers a powerful deployment model with due to the ease of configuration required. The simple, yet robust, deployment is possible because the AIR runtime runs on the client machine.</p>
<p>The AF Connect AIR application enables valid users to view projects they are tied to, messages for those projects, media, and client contact information if that are granted rights to those views. The list below shows what the application feature set is composed of:</p>
<ul>
<li>Social Media connection suite via FxConnect</li>
<li>Account and Project creation</li>
<li>Ability to assign members viewing privledges to selected accounts and projects</li>
<li>Account and Project level messages, connections, and media</li>
<li>Project management of project milestones, details, issues, and tasks</li>
<li>User profile management</li>
<li>Client details, notes, location, contacts, and URL links</li>
</ul>
<div id="attachment_197" class="wp-caption alignleft" style="width: 310px"><a href="http://www.appfoundation.com/blogs/giametta/wp-content/uploads/2010/07/ConnectTasks.png"><img class="size-medium wp-image-197" title="ConnectTasks" src="http://www.appfoundation.com/blogs/giametta/wp-content/uploads/2010/07/ConnectTasks-300x225.png" alt="Af Connect Task View" width="300" height="225" /></a><p class="wp-caption-text">Af Connect Task View</p></div>
<p> </p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Solution Overview</strong></p>
<p>With the power of the AIR and Spring platforms, it only took about 4 months to take the application from concept to a working production implementation. A team of designers, Flex developers, and Java developers worked on the application at different points throughout the implementation, working on both the backend data connectors and the user interface.</p>
<p>The client desktop application was built using Adobe Flex and runs in the AIR runtime. Adobe Flex is an application development framework that is used by developers to build applications that run in the Flash Player. Adobe AIR allows developers to create applications for the desktop using Web technologies such as HTML/CSS, Ajax, Flash, and Flex. In addition, AIR provides offline support and a simple deployment paradigm for delivering the client applications.</p>
<p>The mid-tier of this applications is a balance of Spring and Java Servlets to handle the heavy lifting for data processing. This allows for a deployment mechanism where the AIR application runs on the user&#8217;s computer and data is managed by Spring.</p>
<p>The pairing of AIR and Spring makes it possible to retrieve and visualize the data quickly for the users. With Flex and Spring, we can stand up applications at a very fast pace.</p>
<p>One of the features important to the application users was the ability to map the location of our client site. You can see how we integrated with Yahoo Maps in the image below.</p>
<div id="attachment_199" class="wp-caption alignleft" style="width: 310px"><a href="http://www.appfoundation.com/blogs/giametta/wp-content/uploads/2010/07/ConnectLocation.png"><img class="size-medium wp-image-199" title="ConnectLocation" src="http://www.appfoundation.com/blogs/giametta/wp-content/uploads/2010/07/ConnectLocation-300x225.png" alt="Af Connect Client Location View" width="300" height="225" /></a><p class="wp-caption-text">Af Connect Client Location View</p></div>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>This made it easy to add print functions that use the content in the Flex component to send the map to the printer.</p>
<p>To learn how <a href="http://www.appfoundation.com/">AppFoundation </a>can help your organization develop Business Intelligence tools like this one, please visit <a href="http://www.appfoundation.com/">www.appfoundation.com </a>and contact us now.</p>
<p><a href="http://adobe.flex.appfoundation.com">http://adobe.flex.appfoundation.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.appfoundation.com/blogs/giametta/2010/07/20/adobe-flex-social-business-tool-%e2%80%93-afconnect-air-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FxConnect Framework Diagram</title>
		<link>http://www.appfoundation.com/blogs/giametta/2010/07/06/fxconnect-framework-diagram/</link>
		<comments>http://www.appfoundation.com/blogs/giametta/2010/07/06/fxconnect-framework-diagram/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 16:17:16 +0000</pubDate>
		<dc:creator>Chris Giametta</dc:creator>
				<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Enterprise RIA Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[FxConnect]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Rich Internet]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Enterprise Application Development]]></category>
		<category><![CDATA[Enterprise Flex]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://www.appfoundation.com/blogs/giametta/?p=183</guid>
		<description><![CDATA[I wanted to release the core diagram for FxConnect. We have successfully used our framework on many large scale Adobe Flex and Adobe AIR application. The diagram below represents the core objects in FxConnect and their interrelations: 


FxConnect Framework

The FxConnect programming model is made up of:
• Application Framework: The Application Framework ...]]></description>
			<content:encoded><![CDATA[<p>I wanted to release the core diagram for FxConnect. We have successfully used our framework on many large scale Adobe Flex and Adobe AIR application. The diagram below represents the core objects in FxConnect and their interrelations: </p>
<dl id="attachment_184" class="wp-caption aligncenter" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://www.appfoundation.com/blogs/giametta/wp-content/uploads/2010/07/FxConnect_Diagram.png"><img class="size-medium wp-image-184" title="FxConnect_Diagram" src="http://www.appfoundation.com/blogs/giametta/wp-content/uploads/2010/07/FxConnect_Diagram-300x295.png" alt="FxConnect Framework" width="300" height="295" /></a></dt>
<dd class="wp-caption-dd">FxConnect Framework</dd>
</dl>
<p>The FxConnect programming model is made up of:<br />
<strong>•</strong> <strong>Application Framework:</strong> The Application Framework is the main wrapping component for the Application that contains application context and is responsible for the setup/initialization of the application.<br />
<strong>• View Components/Modules:</strong> Modules are used to chunk the application into smaller SWFs that are loaded through the Module Manager. These modules are the features and components of the application where you start to code the different views and flows.<br />
<strong>• Application State:</strong> The Application State is responsible for holding important application attributes in a memory cache that is accessible from any part of the application that gets an instance of this model.<br />
<strong>• Data Model/Sub-models:</strong> The model provides a layer to access and change application data through creating proxies.<br />
<strong>• Proxy:</strong> Proxies represent a layer of abstraction that exposes business functions to the application. They are a means to engage with remote services such as Spring beans to retrieve data. They contain the data result and fault handlers that are implemented through the IResponder class.<br />
<strong>• Module Manager:</strong> The module manager allows you to logically partition the application into manageable view modules. Effectively breaking download of the application into small chunks that allow the views to be displayed on demand.<br />
<strong>• Navigation:</strong> This is a business object that manages view state for components and modules. In this class, you set up constants that are maintained here.<br />
<strong>• Style Manager:</strong> The Style Manager allows you to dynamically load styles into the application and is initialized at run-time.<br />
<strong>• State Engine:</strong> This utility allows the definition of application states and the valid transition to which other states are available.<br />
<strong>• Resource Manager:</strong> This utility is used to handle internationalization (i18n) and localization (l10n) details. You specify a default resource bundle by component or by application that allows you to define string names for button labels, text areas, etc.<br />
<strong>• Error Manager:</strong> Error management allows you to capture and store errors from anywhere in the application as well as use its internal pop-ups to display error messages.</p>
<p>For more information please visit AppFoundation and contact us now.</p>
<p><a href="http://www.appfoundation.com">http://www.appfoundation.com</a></p>
<p><a href="http://adobe.flex.appfoundation.com">http://adobe.flex.appfoundation.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.appfoundation.com/blogs/giametta/2010/07/06/fxconnect-framework-diagram/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Render PDF in Adobe AIR with PDF Scaling</title>
		<link>http://www.appfoundation.com/blogs/giametta/2009/04/14/render-pdf-in-adobe-air-with-pdf-scaling/</link>
		<comments>http://www.appfoundation.com/blogs/giametta/2009/04/14/render-pdf-in-adobe-air-with-pdf-scaling/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 19:34:21 +0000</pubDate>
		<dc:creator>Chris Giametta</dc:creator>
				<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Rich Internet]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://www.appfoundation.com/blogs/giametta/?p=45</guid>
		<description><![CDATA[AIR can render PDFs using the HTMLControl as long as the host computer
has Acrobat 8 or later installed.
I have seen many examples of doing this, just without the ability to scale the PDF larger and smaller when a resize of the AIR application occurs. So I worked that issue out ...]]></description>
			<content:encoded><![CDATA[<p>AIR can render PDFs using the HTMLControl as long as the host computer<br />
has Acrobat 8 or later installed.</p>
<p>I have seen many examples of doing this, just without the ability to scale the PDF larger and smaller when a resize of the AIR application occurs. So I worked that issue out and wanted to share it with the Flex community.</p>
<p>To load a PDF into an AIR application, use the HTMLLoader class to load the PDF into your AIR window. Since you cannot add the HTMLLoader as a child, you will need to create a <em>UIComponent()</em> to add the PDF to a container.</p>
<p>If you look at the <em>addFile() </em>function, you will see that I first checked the PDF capability had a STATUS_OK before proceeding to the PDF loading steps with the following line of code:</p>
<p><code>if(HTMLLoader.pdfCapability == HTMLPDFCapability.STATUS_OK) {}</code></p>
<p>Once successful, I created an URLRequest to locate the PDF on my Tomcat server. You could easily add a parameter to set the PDF based on your content management as needed.</p>
<p>I then set the PDF&#8217;s initial height and width to that of the <em><mx:VBox></em> with the id of <strong>container</strong>. After that is done, I loaded the PDF to the HTMLLoader from the URLRequest.</p>
<p>Now that you have a handle on the PDF and it is loaded to the AIR application, you can use the <em>UIComponent.addChild </em>function to add the PDF to the UIComponent. After that, you need to add the child to the <em><mx:VBox></em> which is done by calling the <em>addChild() </em>function on <strong>container</strong>.</p>
<p>If you look at the example from the Adobe Livedocs you will notice they give the PDF&#8217;s height and width static numbers. What we want to do is allow the PDF to scale on window resize. To accomplish this, create a new function that is executed everytime the application is resized. In this example, I created the <em>scalePDF() </em>function that is called by the <strong>resize </strong>function on the <em><mx:VBox></em> as follows:</p>
<p><code><mx:VBox id="container" width="100%" height="100%" resize="scalePDF()"/></code></p>
<p>Since the width and height are set to 100% on the <em><mx:VBox></em> and I set the PDF&#8217;s height and width to the <em><mx:VBox> </em>height and width, the PDF will resize to fit the width and height of the <em><mx:VBox></em> every time it is resized. This will always give you the maximum reading space available for the PDF.</p>
<p>Here is the full source for this example. You can take this code and create a component that can be reused throughout your AIR applications. Enjoy.</p>
<pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:WindowedApplication
   xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"&gt;

   &lt;mx:Script&gt;
      &lt;![CDATA[
      import mx.core.UIComponent;

      private var pdf:HTMLLoader = new HTMLLoader();

      private function addFile():void
      {
         if(HTMLLoader.pdfCapability == HTMLPDFCapability.STATUS_OK)
         {
            var request:URLRequest =
               new URLRequest("http://localhost:8080/af_Central/a.pdf");

            pdf.height = container.width;
            pdf.width = container.width;

            pdf.load(request);

            var ui:UIComponent = new UIComponent();
            ui.addChild(pdf)

            container.addChild(ui);
         }
         else
         {
            trace("PDF cannot be displayed. Error code:",
               HTMLLoader.pdfCapability);
         }
      }
      private function scalePDF():void
      {
         pdf.height = container.width;
         pdf.width = container.width;
      }
      ]]&gt;
   &lt;/mx:Script&gt;

   &lt;mx:Button label="Do It" click="addFile()" /&gt;
   &lt;mx:VBox id="container" width="100%" height="100%"
      resize="scalePDF()"/&gt;

&lt;/mx:WindowedApplication&gt;</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.appfoundation.com/blogs/giametta/2009/04/14/render-pdf-in-adobe-air-with-pdf-scaling/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>

