360Flex – A Brief History

360Flex, our lil Flex conference, is open for registration. It’s hard to believe that less than 2 months ago, the idea for 360Flex wasn’t even there. One day while chatting with John Wilker I said, “You know, we need a Flex conference. MAX is good and all, but we need a conference dedicated just to Flex and nothing else.” John agreed and we decided to have a conference. Now, John will be the first to tell you that I tend to have Pie-in-the-Sky ideas and this sounded right up that alley. He probably thought I might bring it up once or twice afterwards, but it would more likely than not drop to the wayside.

Fast forward a couple weeks and I’m chatting with Ted Patrick. We’re just about to announce the whole Free Flex Training ditty. I tell Ted, “You know, we really need to take this to the next level.” Ted nods. “We need to have a full fledged Flex Conference.” Ted says he was thinking of the same thing. Ted and I are smart guys, relatively speaking. =) We realize that having two competing Flex Conferences would be pointless. Therefore, we decide to combine our efforts. I introduce Ted to John and the committee is born.

None of us had really done a conference before, so we just sort of asked people we know who do conferences for some pointers. I ask Doug and Dave of Mashup Camp fame for some pointers. Fate puts me next to Michael Smith of CFUnited fame at the MAX UGM dinner, so I pester him with some questions. I’m not sure who Ted and John talked to, but from there we had our base from which to jump.

October 17th 2006, we have our inaugural virtual meeting. December 6th 2006, the registration site goes live. March 5th 2007, the conference begins. I don’t know how fast most conferences go, but I think we’ve done pretty good for ourselves.

Luckily, I had Silvafug to bounce ideas off of. If you’re a UGM, don’t overlook the valuable resource that is your group. Throw things at them and see what sticks. They’ll let you know what’s good (free Flex Training, Flex Conferences) and what’s not (matching UG t-shirts to wear at MAX). I still think matching shirts woulda rocked! =)

Notes on Flex Training

For those of you who participated in the training tonight, I’m glad you were there. Now, it’s time for feedback.

There’s two items I must apologize for.

  1. I should have checked to make sure my debugger was working before the training
  2. I should have not ventured into unscheduled territory when my debugger broke.

The debugger caught me completely off guard. I had planned on spending a good amount of time on the debugger. When it didn’t work, I had to improvise. This led to me trying to hardcode data. I have not done that in a few months and it showed. Live and learn. Next time, just end the session early. =)

Other than those two bombs, I think the training went fairly well. I’d like to hear your feedback though. Tell me what I did wrong and what I need to improve. Be brutally honest here folks. I’m a big boy, so I can take it. Plus, there’s no use in me continuing to do this if I do a poor job. Help me improve so you can learn more. It’s in your hands. =)

Silicon Valley Flex User Group Meeting on October 12

I just wanted to drop a quick note to say that the Silvafug is having their next meeting on Thursday, October 12.  Since I’m the manager, I should be talking and hyping up the group more and more.  I will and this blog will be a venue for me to do so.

You can find out details of the meeting at http://www.silvafug.org .

There is going to be a huge announcement at the meeting.  We’re going to be announcing a new activity for the group that I think all User Groups should try to mimic.  I’m still working out the details with those involved, but believe me, it’ s going to be exciting news for the (growing) Flex community here in Silicon Valley.

Flex 2.0: Reopening a Tree after updating the dataProvider

So, I’m completely stoked! I’ve figured out something that I think might actually be useful to the world in Flex! If you’ve worked with trees before, they’re fun except when you have to update their dataProvider. Then it’s not so fun because it collapses the tree and does not reopen it. Well, my friends, now it will. Check out this lil snippet of code. Copy it, paste it into FlexBuilder and press “Run”.

The two key elements of the tree are the openItems property and the render event. When used in conjuction with a boolean flag, you’re all set for keeping your tree open. Enjoy!

To see how trees normally act when changing dataProviders, delete the render event from the tree tag.

<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml&#8221; layout=”vertical” creationComplete=”initFunc()”>
<mx:Script>
<![CDATA[
[Bindable]
public var tempOpen:Object = new Object();
[Bindable]
public var refreshSO:Boolean = false;

[Bindable]
public var secondObject:Object = new Object();
[Bindable]
public var tempObject:Object = new Object();
[Bindable]
public var tempObject1:Object = new Object();
[Bindable]
public var tempObject2:Object = new Object();
[Bindable]
public var currentDP:String = “tempObject”;

private function initFunc():void
{

tempObject = new Object();
tempObject.path = “somepathvalue”+2;
tempObject.label = “Node”+2;
tempObject.componentType = “Type”+2;
tempObject.children = new Array();
tempObject1.label = “test3”;
tempObject1.children = new Array();
tempObject2.label = “test4”;
tempObject1.children[0] = tempObject2;
tempObject.children[0] = tempObject1;
secondObject = tempObject;

}

public function switchDP():void
{
tempOpen = testTree.openItems;
refreshSO = true;
if (currentDP == “tempObject”)
{
currentDP = “secondObject”;
testTree.dataProvider = secondObject;
}
else
{
currentDP = “tempObject”;
testTree.dataProvider = tempObject;
}
}

public function renderFunc():void
{
if (refreshSO)
{
refreshSO = false;
testTree.openItems = tempOpen;
}
}
]]>
</mx:Script>
<mx:Tree id=”testTree” render=”renderFunc()” width=”250″ dataProvider=”{tempObject}” labelField=”label” />
<mx:Button label=”Switch DP” click=”switchDP()”/>
</mx:Application>

FlexArch

FlexArch

So, I was really hoping my next post would be a Flex 2 "hey check out this cool thing I made" post, but the cool thing hasn't quite been made yet. It's in the works, but still has a way to go.

In the meantime, you'll notice the link up top of this post. The link is for the FlexArch wiki. What is FlexArch? Well, it's a wiki where people can come talk and share code/experiences of creating new architectures for the Flex 2 platform. Flex is cool and the stuff we're doing with it in eBay is cool. If you want to learn how to create your own framework and API in Flex, then hopefully that will be the place to learn it. If you've already created your own framework/API in Flex 2, then you definitely need to go there and share your knowledge.