WebORB as .NET Remoting for Flex

27 02 2008

When I started this Flex mission, one of the requirements for the RIA I am working on is, obviously, a server-backend.

I went and read all of Adobe’s docs on Flex and .NET (I’m sorry, but I do love C#) and found there were two main .NET Remoting options. The open-source Fluorine (now named FluorineFx) by The Silent Group and the commercial software WebORB by The Midnight Coders. [I’m not sure why both groups need a “The” prefix – maybe theirs is a highly competitive industry?]

I was somewhat non-plussed to go through Adobe Flex .NET tutorials on remoting that were specific to WebORB knowing that the overhead wasn’t going to be deemed appropriate by the upper-crust. I turned to FluroineFx, and found the community helpful, even if the documentation for Flex usage, quite lacking.

Only recently, has a followup from the Midnight Coders actually had me once again interested in WebORB. A representative from the company assured me that their product is now free-for-all, and that they will soon be changing their website to reflect this… WELL. That changes everything. I mean, it is an impressive tool for Flash/Flex Remoting in .NET (and they’ve released it in Java, PHP and Rails as well).





Flex 3 and AIR … Final versions are out.

27 02 2008

Finally. Flex 3 and AIR have been taken off Beta and are now shipping. So let’s get cracking.





link to code generation tool

19 02 2008

OK. So I’ve found a great tool that does exactly what I need in Flex.

Cheers to the writer.

C#/AS3/VB.NET Class Generator.





Flex Effects in Actionscript

13 02 2008

Ok, so there are a few things to keep in mind with applying events in ActionScript.

Firstly, when you want to add an effect to a custom component, you need to attach it to an Event. You’ll need the Event and the Effect metatags.

<mx:Metadata>
    //Handle the step event
[
Event(name=“step”, type=“flash.events.Event”)]
[
Effect(name=“stepEffect”, event=“step”)]
</mx:Metadata>

By dispatching the event, you will call the effect also.

Secondly, and which is somewhat unintuitive, is to set an effect with Actionscript, you set it like a style.

myComponent.setStyle(“addedEffect”,getStyle(“stepEffect”));

So, in the example above, we are inside our custom component, passing-on a custom effect to the built-in effect “addedEffect”.





Quickly Installing Subversion

9 02 2008

OK. So for most of you this is old hat. But still. I ran into some caveats, and wanna make this super simple.

Installing SVN on Win XP.

To start off, I want SVN as a service. Second, I want to use Tortise SVN as my client.

  1. Download SVN binaries for windows. Currently it is v1.4.5
  2. Install. This will automatically add the subversion binaries to your PATH.
  3. Add a new Environment Variable under System Variables (My Computer > Properties > Advanced > Environment Variables) called SVN_EDITOR and it is a path to some generic text editor (eg. c:\windows\notepad.exe)
  4. Create your repository in Command Prompt by this command (replacing the location with whatever you want)
    svnadmin create "c:\Justin\Subversion Repository"
  5. Goto that folder and edit the /conf/svnserve.conf file. You want to uncomment the following: (Note: no spaces before the entries)
    [general]
    anon-access = read
    auth-access = write
    password-db = passwd
  6. Open the password conf file /conf/passwd and add a user/password in the format [users]
    user = password
  7. Start the SVN server in a Command Prompt to test it
    svnserve --daemon --root "C:\Justin\Subversion Repository"
  8. This will stay open. So, open another Command Prompt window , and make a project in subversion
    svn mkdir svn://localhost/myproject
  9. Now Notepad will start asking for a commit comment. Add whatever you want before the comment line (the one starting with “– This line …”), save and exit.
  10. Your command prompt will prompt you (it does that) for a user/pass. Funny that. Enter those from before.
  11. Now if you don’t want SVN as a service, and would rather start it up manually via the daemon command in Step 7, then you can skip this step. Otherwise, you’ll want to use this command in a prompt (after closing the currently running daemon prompt from Step 7)
    sc create "Subversion Service" binpath= "\"c:\program files\subversion\bin\svnserve.exe\" --service --root \"c:\justin\subversion repository\" " displayname= "Subversion Repository" depend= Tcpip start= auto
    You’ll note that you can remove the start= auto command if you want the service start as manual (read Reference 2 below for more info)
  12. Now, if you’d rather not use the command-line and notepad to do your commits, download and install TortiseSVN. Apparently don’t need to restart your system. I’m not sure myself. TortisSVN client is accessed by right-clicking files in Windows Explorer.
  13. If you’re like me, you’ve already got code to enter into Subversion. So what I do, is to Import the code (right click the folder you want to import, goto TortiseSVN and then import). You enter the URL of your repository as svn://localhost/myproject or whatever project you want really. Note: If installing SVN onto a server, just use that IP instead of localhost, though you’ll need to modify firewall settings on that machine to allow SVN access. (TCP port 3690 i believe)
  14. Then you need to check this folder out to some location. Either start in another fresh place, or delete your source files from their original location, and check out back into that folder. Yes, I said you can delete your source files (cause they are now stored in SVN) – though I’d bacup first obviously. To checkout, you’ll see the option in the direct right-click menu.
  15. Personally, at this point, I’d prefer to browse my repository, keeping only the files within that project that i need (for example, removing any unnecessary .NET files, like app_offline.htm, etc).
  16. Booyah. You’re done. When you start the day, you’ll likely Update your checkout location with the most recent files (obviously if others are working on your files).
  17. I’ll update this with an option to deploy to a network soon. (essentially it involves how you create the service
  18. The usual deal – use Update to update your source files with any changes in the repository (when working on the project with others). Use Commit to commit your changes to the repository. If anyone else made changes since your last update, you’ll get the differences window and have to decide on a course of action…
  19. Good luck.

References:

  1. Team System : Setting up SVN
  2. Subversion docs: Windows Service




.NET cheaply

9 02 2008

Well, if you’re like me, and you like C# (and let’s face it, Microsoft did well with their version of Java – everything’s easier in hindsight aint it?), then you might wonder how to develop .NET cheaply.

First off, Visual Studio 2008. Comes in two flavours – Standard and Professional. After trawling round, I found this article on the product page comparing versions. The thing is, the trial is Pro, and so there isn’t any way to get a feel for the Standard version.  The trial is 90 days, so I’m not complaining.

At work, I’m using Standard, and lemme tell you, as a developer, I’m not seeing anything I miss. Even the Server Explorer is there in complete contradiction to the link above… huh. Well, as the difference in price is like AUD 400 to AUD 1200, I know which version I’m recommending.

While we’re here, what about SQL Server Express 2005? Well, again, there’s a product comparison,  however, for a standard developer, you’ll agree that 4GB max database size is pretty hefty. I mean, as long as you’re not storing binary files in there, you should be right. And hell, it’s free. Even if you want full-text searches – just download the larger package with Advanced Services. Management Studio is nice, but I’m running a Core 2 Quad Core at work with 4GB of RAM on XP and it finally runs nicely.

One funny thing I had missed with building a small .NET site, was how I could integrate the DB into the filesystem. I’d come to .NET from a larger production background and was used to connecting to existing DBs over the network. When I realised how trivial it was to deploy a DB into the App_Data folder of a website, and use an XSD DataSet to manage my interface to tables/views/sprocs, I was hitting myself. Funny enough, I realised it whilst watching an ASP.NET AJAX video.  (Incidentally, if you’re building an AJAX intensive website, that is more an application than site, take a look at Flex).

Well, live and learn.





Flex cannot find the Java Juice

8 02 2008

Well, strangely I was having troubles using the Flex command-line compilers… They couldn’t find the JRE.

First I got the following errors:

Error: Could not find JRE.

Error: Could not find Java Runtime Environment. 

Then, after learning I needed the Environment variable (My Computer > Properties > Advanced) JAVA_HOME set to my JRE path, i used

C:\program files\adobe\flex builder 3\jre\bin

No juice. I got an error

Error: could not find a JVM.

Dammit – I can’t win.

Then I found a blog stating to change backslashes to forward slashes on Windows.

Done.

Still giving me the JVM error. Huh.

Take off the “bin” folder? Solved.

Final Soln: Enviroment Variable

JAVA_HOME= c:/program files/adobe/flex builder 3/jre