News

Adobe Flex - Mini Cookbook update

Posted in Flex, News, Snippets, Tutorials on October 21st, 2008 by Jonnie – Be the first to comment

Hey I just posted another section of the mini cookbook, it is titled Web Service Recipes and solutions include.

I will be making more additions to this when I find some more time. Take a look.

Adobe Flex - FlexpatternAir Coming Soon!

Posted in Air, Applications, Flex, News on September 28th, 2008 by Jonnie – 4 Comments

So when the original idea came into my head about mixing Textpattern and the Flex Framework, I was just thinking about keeping it all in the browser. But why keep a Flex based administrator panel for Textpattern still in the browser? I have no idea, that’s why I am taking Flexpattern to the desktop via Adobe Air.

This is going to be for the power-users of Textpattern with tons of features that are going to make every Textpattern users life a whole lot easier.

Features Include:

  • Full Control over Textpattern Administrator Area
  • Flex Charting of site stats and logs
  • Drag and Drop image download/upload
  • File upload/download
  • Image editing
  • Export articles to file
  • Local copy of all Articles, Categories, Links, Options, Plugins, Styles, Pages, Forms, etc. in a SQLite Database
  • Offline support (write or edit article, save it, then when online sync it)
  • Yahoo YUI Rich Text Editor with added features 

Any requests.. let me know.

Here is screen shots from the app.

1LoginView 2ArticleView 
3ArticleOptionsWithSidebar  4ImagesView
5FilesView 6LinksView
7CommentsView 8SectionsView
9PagesView 10FormsView
11StylesView 12VisitorLogView
13VisitorLogViewGraph 14VisitorLogViewGraph
15PluginsView

I hope that was enough, if not I will be glad to take more. Even though I have started school again I am still working hard and things are coming together really well. I might need a few tips though when I get into the file handling and user login.

I have to do some more things before we all can use it.

Run-time endpoints
Tidy up the amfphp services
If anyone can build a plugin to access the amfphp services that would be awesome

And here is the list of to dos:

Fix colors, layout, icons, words, effects, validation, size, sqlite, image management, file management, graphs, php services, deletion of records not properly taking from the arraycollection, and a few other little ones.

Anyways, I need some encouragement for me to finish this, and I thought that it was time to show some of my progress. I hope that I can make some people really put textpattern to work. ;)

Adobe Student RIA Rep

Posted in Flex, News on September 15th, 2008 by Jonnie – Be the first to comment

StudentRIA 

Yours truly is an official Adobe Student RIA Rep, I am really excited about this, and I will be doing a lot of posts on the new things that Adobe has coming to us. I strongly advise any students out there head on over to Adobe and fill out this really simple form and get Flex Builder 3 for FREE, after than then go to Flex.org and sign up to become an RIA rep.

If anyone lives around the Sacramento area, or attends any colleges around here, let me know because I want to gather enough heads so we can have the Flex team or who ever will come and have a Flex Camp over at my college. This is something that they want us to do, is to gather people so we can get the word out that Adobe and RIA’s are like the Ying and Yang of the Internet, because they are.

If you want to join my Facebook group for Student RIA Flex Developers just follow the link and join, this is going to be a great adventure, and there is going to be events and news that you are not wanting to miss.

Adobe Flex Builder 3 / Coldfusion 8 for FREE

Posted in Flex, News on September 15th, 2008 by Jonnie – Be the first to comment

I suggest any student out there that wants to get Flex Builder 3 Pro for FREE head over to Free RIA Tools at Adobe. All you have to do is send in three things.

  1. School ID
  2. School Schedule
  3. Photo ID

I am not positive about the photo id, but I sent in my licence and I received a email the next day, I guess it just speeds up the process. They also have Coldfusion 8 on there as well and I just got a copy yesterday, so I am excited to start tinkering with Coldfusion.

 

Head over there now

Free RIA Tools at Adobe

Plans for this Week

Posted in Flex, News on September 15th, 2008 by Jonnie – Be the first to comment

Its been awhile since I have been on this thing and I apologize, I have just started my Fall semester of school and things have been kind of busy. But I will still finish my tutorials that I have started and my projects. I just don’t know when.

Anyway’s Here is the schedule for this week.

Thursday is my 22nd birthday, and It also is the day of my Flex User Group meeting, which I will be presenting on Amfphp and Flex.

If anyone is around the Sacramento/Fair Oaks area, please join us as it will be a fun night with a lot of learning involved, :).

I am going to be posting the exact location and time of the event, so if you want anymore information please check back in a day or so. Also this presentation hopefully will be recorded, and I will make a pod cast or something from it. I am really nervous, but yet excited at the same time.

Wish me luck

Flex Project Updates

Posted in Flex, News, Projects on September 6th, 2008 by Jonnie – Be the first to comment

First off I would like it has been awhile since my last post and that is because I have just started school, but i continue to work on all of my projects. Anyways here is a little update on some.

Flexpattern ( Textpattern Flex Admin )
Last night I was up to the crack of dawn trying to figure out why I kept getting a compiler error, of stack overflow, I found that bug and decided to call it a night. Then today after I cleaned up all of the code from before ( which by the way was horrible, and i am sorry for presenting that to you all ) I just kept running into alot of backend errors, and it was really frustrating. Anyways, I am going to post some updated interface pics and hopefully a demo.

Flexpress ( Wordpress Flex Admin )
This is going great, just besides the fact of the whole saving posts and stuff. I want to some how be able to use the xml-rpc to do all of the posts with comments and tags, but i have been too busy to figure that out. I will post some pics and demos of this as well.

Textpattern and Flex = Flexpattern

Posted in Amfphp, Applications, Flex, News, Projects on August 27th, 2008 by Jonnie – 2 Comments

Here is something that I have been messing around with for the last week. It is a Flex and Textpattern Mashup/Whatever, I don’t really know, but here it is.

Here is the Link Page screen shot:

LinkScreen_small

And the Page Edit screen shot:

PageScreen_small

View Demo Here

Advanced Guide to Flex 3 (Community Edition)

Posted in Air, Flex, News on August 25th, 2008 by Jonnie – 2 Comments

Since it seems like every time an amazing publisher like O’Reilly or Friends of Ed comes out with a new Flex book I am so excited I need to rush to the nearest Borders books or Barnes and Nobles, to purchase this new "amazing" book. Little to my knowledge to know what is in store for me.

Upon getting home, to open up my new book and read over the chapters, and then it happens, another Flex book, with nothing to benefit from it, I don’t understand while these top authors and publishers keep coming out with basic Flex books, it’s all beginner information, nothing advanced in there, I’m sure by now everyone knows how to drag a panel to the main application and absolute position it.

Don’t get me wrong it’s not just Flex books; it seems to be the same with a lot of different languages. (Php, Ajax, rails, ActionScript, etc.) Trust me I admire what those authors do but… am I the only programmer that likes these beginner books? It seems like that every time a Flex book comes out, it is just the same old’ thing but with different pictures, and in different words.

When will someone release a Flex book that from chapter 1 it shows you how to set up a new project with WebORB for PHP, and detailed for that matter, not one of those one line references to the creators’ web site for documentation, you can’t find anything useful there. Instead of wasting a chapter on installing Flex builder, then another chapter on setting up your first project, and then one more on displaying current web sites that are using Flex. Save the paper that you would waste on those 3 chapters and create some great ones.

Like

  • "Creating You Own API Service Class for Google"
  • "Connecting to Wordpress through XML-RPC"
  • "REST Calls to Del.icio.us"
  • "POST with ATOM to the Server"
  • "Extending ActionScript Classes"
  • "Creating Your Own Library"

That is a book that I am sure developers will be lined up to buy, I know I would. Does that make me an advanced programmer? No, but it does make me want to extend my skills to doing/creating usefully applications that an everyday Internet user will be able to use, including myself.

With that said, I have decided to take things into my own hands, it’s time to create a book ( PDF ).

Here are a few questions that you’re probably asking yourself. (Hopefully)

  • Q: When is it going to be released?
  • A: I have no idea, with the help of you, sooner than later.
  • Q: How much will it cost?
  • A: Free! I am a fan of open source
  • Q: Great so how can I help?
  • A: Well send me an email and we can discuss some of the details on plan of attack, I have a set number of chapters, but that can always change.
  • Q: Why are you/we doing this?
  • A: Because it will be fun, beneficial, helpful, and a great tool to add to any Flex developers pocket book. Why not, what else would I/you be doing if we didn’t create something like this? Starting projects and never finishing them, because I know that’s what I would be doing. Let’s be productive, and create something useful.

So send me a message, and join me on creating this, I you don’t want to help that’s ok too. I still am going to create this, so check back often to see which chapters are completed and which ones are left.

Thanks for letting me get that steam off my chest.

*News - Flexible Docs? Back in action

Posted in Flex, News, Projects on August 21st, 2008 by Jonnie – Be the first to comment

Ok, listen up. This is exciting, I was digging threw my old Ruby on Rails homework files, and I came across my final project that I never turned in. I wanted to get an A in my Rails class so I decided to use Flex as the front end because it looks amazing. And still use rails as the back-end. So I could make my professor happy and all. To make a long and I mean long story short, I found my old flex/rails app called Flexible Docs, I have about of documents describing all about the application and what it does, but I’ll save that for tomorrow.

Here is a screenshot of my old app. ( pretty ugly and dull I know )

 

I am going to go threw all of the code, and fix tons of things. This all happen last year, when I didn’t know that much about flex, now its time to have some fun. I will keep you posted on the status and other bs like that, If you want to peak at the code, Flex or Rails, let me know. Anyway’s I am out a here, so until next time.

Flex, AMFPHP, and Cairngorm..

Posted in Amfphp, Cairngorm, Flex, News on August 7th, 2008 by Jonnie – 2 Comments
  • Topic: Flex Email Form
  • Info: Though this won’t as extensive as other tutorials, I promise you, you will understand the way the Cairngorm works, and how easy it is to create applications with this design pattern.
  • Description: We will create a Flex based email from, that uses Amfphp to send the email information to the recipients.
  • Frameworks: Cairngorm 2.2
  • Others: Amfphp
  • Prerequisites:
  1. PHP enabled web server
  2. Some PHP background
  3. Some Flex background

Steps:

  1. Create Flex Application, add Cairngorm Framework, and create our Folders
  2. Implement the Model Locator and Service Locator
  3. Implement the Cairngorm Events
  4. Implement the Delegates
  5. Implement the Commands
  6. Implement the Front Controller
  7. Implement the Value Objects and Views
  8. Create services-config.xml, make changes to Views
  9. Wire up Application Controller, and Upload PHP Classes
  10. Let it run!

Let’s get to this already.

 

Step 1 – Flex, Cairngorm, Folders of My!

Open up Flex builder and Click File->New->Flex Project.

Enter in whatever name you would like as it does not matter. Make sure this is a basic application using no server-side language. Now open up Cairngorm folder after you have unzipped it (hopefully), then drag and drop the cairngorm.swc file into the libs folder in your flex application and we are ready to rock.

To create the folders just right click and select:

New->Folder

When the new folder box opens up I want you to type this:

“com/yourdomain/ProjectName"

Then click enter.

Now create the folders like the image below.

 

 

Step 2 – Model Locator

Ok here we are going to create our Model Locator file; this is where all of our data is going to be stored in a central place for access from any other view or screen. Make sure your ModelLocator.as file is as follows:

ModelLocator.as

   1: package com.jonniespratley.tutorials.FlexibleEmail.model
   2: {    
   3:     import com.adobe.cairngorm.model.IModelLocator;
   4:     import com.jonniespratley.tutorials.FlexibleEmail.model.vo.EmailVO;    
   5:     
   6:     [Bindable]
   7:     public class ModelLocator implements IModelLocator
   8:     {
   9:         //Instantiate the ModelLocator
  10:         private static var _instance:ModelLocator;
  11:     
  12:         //Get the instance of the ModelLocator
  13:         public static function getInstance():ModelLocator
  14:         {
  15:             if( _instance==null )    _instance = new ModelLocator();
  16:             return _instance;
  17:         }    
  18:         
  19:         public function ModelLocator()
  20:         {            
  21:             if( _instance != null ) 
  22:             throw new Error( "Error: Singletons can only be instantiated via getInstance() method!" );
  23:             ModelLocator._instance = this;
  24:         }
  25:                 
  26:         ///////////////////////////DEFINE VARIABLES HERE\\\\\\\\
  27:         public var emailVO:EmailVO;
  28:         public var message:String;
  29:     }
  30: }

 

Let’s go ahead and create our Services.mxml file inside of the business folder while we are at it.

Create a new Component

File->New->Component,

Name is Serivces.mxml, and it is based on Service Locator. Cairngorm’s service locator, make you’re your add in the correct namespace check my Services.mxml to see how to do it.

Serivces.mxml

   1: <?xml version="1.0" encoding="utf-8"?>
   2: <!--Service Locator-->
   3: <cairngorm:ServiceLocator xmlns:mx="http://www.adobe.com/2006/mxml"    xmlns:cairngorm="com.adobe.cairngorm.business.*">
   4:     
   5: <mx:RemoteObject id="flexMailService"
   6:     destination="amfphp" 
   7:     source="FlexMail"
   8:     showBusyCursor="true"
   9:     makeObjectsBindable="true"/>
  10:      
  11: </cairngorm:ServiceLocator>

Step 3 - Cairngorm Events

Now it’s go time to create our events, Create a new Action Script Class that extends Cairngorm Event, Name this file SendEmailEvent.as make sure this file is created in the event folder of your project. Also make sure your SendEmailEvent.as file is as follows:

SendEmailEvent.as

   1: package com.jonniespratley.tutorials.FlexibleEmail.control.events
   2: {
   3:     import com.adobe.cairngorm.control.CairngormEvent;
   4:     import com.jonniespratley.tutorials.FlexibleEmail.model.vo.EmailVO;
   5:  
   6:     public class SendEmailEvent extends CairngormEvent
   7:     {
   8:         public static const SEND_EMAIL:String = "sendEmailEvent";
   9:         public var email:EmailVO;
  10:         
  11:         public function SendEmailEvent( email:EmailVO )
  12:         {
  13:             super( SEND_EMAIL );
  14:             this.email = email;
  15:         }        
  16:     }
  17: }

Step 4 – Delegate

Create a new ActionScript file called EmailDelegate.as in the delegate folder, this class doesn’t extend anything it is just used to make the call to the server. Make sure your file looks as follows:

EmailDelegate.as

   1: package com.jonniespratley.tutorials.FlexibleEmail.business.delegates
   2: {    
   3:     import com.adobe.cairngorm.business.ServiceLocator;
   4:     import com.jonniespratley.tutorials.FlexibleEmail.model.vo.EmailVO;
   5:     
   6:     import mx.rpc.IResponder;
   7:     
   8:     public class EmailDelegate
   9:     {
  10:         private var responder:IResponder;
  11:         private var service:Object;
  12:         
  13:         public function EmailDelegate( responder:IResponder )
  14:         {
  15:             this.service = ServiceLocator.getInstance().getRemoteObject( "flexMailService" );
  16:             this.responder = responder;    
  17:         }
  18:         
  19:         ///////////////Email Service Calls\\\\\\\\\
  20:         public function sendEmail( email:EmailVO ):void
  21:         {
  22:             var call:Object = service.sendEmail( email );
  23:                 call.addResponder( responder );
  24:         }
  25:     }
  26: }

Step 5 - Commands

Now it is time to create our commands, this command is what is going to be called on when the user clicks the send button from the view. This command is going to call the EmailDelegate.as and execute a services call to amfphp sending our EmailVO (that we will create) along with it as arguments. Anyway’s this is how your file should look:

SendEmailCommand.as

   1: package com.jonniespratley.tutorials.FlexibleEmail.control.commands
   2: {
   3:     import com.adobe.cairngorm.commands.ICommand;
   4:     import com.adobe.cairngorm.control.CairngormEvent;
   5:     import com.jonniespratley.tutorials.FlexibleEmail.business.delegates.EmailDelegate;
   6:     import com.jonniespratley.tutorials.FlexibleEmail.control.events.SendEmailEvent;
   7:     import com.jonniespratley.tutorials.FlexibleEmail.model.ModelLocator;
   8:     
   9:     import mx.controls.Alert;
  10:     import mx.rpc.IResponder;
  11:     import mx.rpc.events.FaultEvent;
  12:  
  13:     public class SendEmailCommand implements ICommand, IResponder
  14:     {
  15:         //Get the ModelLocator in here so we 
  16:         //can refresh the ArrayCollection
  17:         private var model:ModelLocator = ModelLocator.getInstance();
  18:         
  19:         //Execute the call once this command is called from the
  20:         //CreateLinkEvent, sent form the controller
  21:         public function execute( event:CairngormEvent ):void
  22:         {
  23:             var delegate:EmailDelegate = new EmailDelegate( this );
  24:             var sendEmailEvent:SendEmailEvent = SendEmailEvent( event );
  25:                 delegate.sendEmail( sendEmailEvent.email );                
  26:         }
  27:         
  28:         //Handle the result and add it to the linkAc on the model
  29:         public function result( event:Object ):void
  30:         {            
  31:             model.message = "Email Sent, Thank You!";
  32:         }
  33:         
  34:         //Catch any faults that may happen
  35:         public function fault( event:Object ):void
  36:         {
  37:             var faultEvent:FaultEvent = FaultEvent( event );
  38:                 Alert.show( faultEvent.fault.faultString, "Service Error" );
  39:         }        
  40:     }
  41: }

Step 6 – Front Controller

Now it is time to create the one thing that makes any Cairngorm Application work, and that is the Controller.

Right-Click your project and Create a new Action Script Class name it Application Controller be sure that it extends Front Controller.

Flex builder will import the necessary class for you, we are going to make this controller on called instantiate map our Events to Command. Make sure your ApplicationController.as looks as follows:

ApplicationController.as

   1: package com.jonniespratley.tutorials.FlexibleEmail.control
   2: {
   3:     import com.adobe.cairngorm.control.FrontController;
   4:     import com.jonniespratley.tutorials.FlexibleEmail.control.commands.SendEmailCommand;
   5:     import com.jonniespratley.tutorials.FlexibleEmail.control.events.SendEmailEvent;
   6:  
   7:     public class ApplicationController extends FrontController
   8:     {
   9:         public function ApplicationController()
  10:         {
  11:             //Add Commands
  12:             addCommand( SendEmailEvent.SEND_EMAIL, SendEmailCommand );
  13:         }                
  14:     }
  15: }

Step 7 – Value Object and Views

Next we need to create a new ActionScript class Called EmailVO.as this file will go in your model/vo folder, inside the EmailVO.as file, make sure you make the entire class Bindable, because we are going to use this in the model and elsewhere for data binding. Make sure your file is as follows:

LinkVO.as

   1: package com.jonniespratley.tutorials.FlexibleEmail.model.vo
   2: {    
   3:     [Bindable]
   4:     public class EmailVO
   5:     {
   6:         public var emailTo:String;
   7:         public var emailFrom:String;
   8:         public var emailSubject:String;
   9:         public var emailMessage:String;
  10:         
  11:         public function EmailVO()