SWX: SWF Data Format

Icon

SWX is the native data format for Adobe Flash. This blog is about all things SWX, SWX RPC, SWX PHP and the SWX APIs (Flickr, Twitter, etc.)

SWX v2 beta Released, Public Gateway Updated

We have just pushed SWX v2.00 beta live on the project's Google Code page!

Along with this release the public gateway has also been updated to use SWX PHP v2.00 beta and allow for AS3 support. You can find documentation here, which shows how to use the new AS3 API as well as provides an introduction to the new Simple Call and Custom Call methods of interacting with your SWX gateway.

Lastly, Folkert Hielema has contributed an updated Twitter service and a new Identi.ca service. Both of these services are live on the public gateway (you can test them in the Service Explorer) and also available in the SWX PHP download available on the Google Code page under "Featured Downloads".

We will continue to work on updating this blog with new documentation, but until then please refer to this documentation - it should provide you with everything you need to get started with v2.

If you notice any issues, please log them here. For support or to discuss the new release, please use the project's mailing list.

This release has been a huge effort by the SWX development team, and has been in the works since September. I'm sure you'll enjoy using it as much as we've enjoyed coding it.

Can't wait to see what you build!

SWX Bug with Flash Player 10 Fixed

If you have been using the Flash Player 10 RC and came across a site or widget using SWX, you undoubtedly noticed that it wasn't working. After a couple of days of back-and-forth on the SWX mailing list, the issue has been found and a solution posted.

[Update September 5, 2008 - a different fix was suggested in an attempt to allow SWX to continue to be used by hitting the gateway directly, allowing for easier debugging. Code below reflects this update.]

The problem is that FP 10 does not like one of the headers returned from SWX. To fix the issue, open SwxAssembler.php and change line 538 from:

header('Content-Disposition: attachment; filename="data.swf"');

to:

header('Content-Disposition: inline; filename="data.swf"');

This seems to fix the issue, as all SWX sites this has been tested on now work in FP 10 again.

Thanks to Fabrício Kolling for finding the proper solution, and to Folkert Hielema and Ben Lagoutte for helping test broken sites and debug the issue.

While this issue has not yet been fixed in the project's SVN or downloads, we hope to make this addition soon and release an updated version with the last couple of minor fixes.

SWX .Net reaches a milestone

Swx dot net Testdatatypes

Greg Brant informed me recently that he's reached an important milestone with the SWX .Net (C#) implementation of SWX RPC: he now has the SWF Assembler working to a point where the TestDataTypes test is passing.

Read Greg's post for more information.


generic paxil

christina ricci prozac nation

imitrex nasal spray

carisoprodol href

prozac

crestor

diflucan online

cialis compare levitra

cheap prednisone

phentermine no prescription

doxazosin 4 mg

celebrex canadian

paxil on line

prosac

effexor tablets

tramadol online

online pharmacy tramadol

levitra blog

herbal hoodia phentermine

lipator

diflucan 1

buy rimonabant

imitrex patent

crestor

diflucan 1

emea rimonabant

fluconazole diflucan

buy carisoprodol cheap online

buy cialis link

discount paxil

generic levitra online

order proscar

rimonabant

clonidine prescription

cheap proscar

imitrex online

purchase rimonabant

buy proscar

furosemide and digoxin

buy proscar

natural viagra

diflucan online

stopping prednisone

lipitor side effects

buy carisoprodol

proscar drug

generic imitrex

effexor antidepressant

buy carisoprodol

lipitor uk

Instructions for updating your applications to SWX PHP RC1

I am updating the SWX public gateway to RC1, ahead of today's release of SWX PHP RC1. As I mentioned earlier, this will break some existing applications that use the SWX public gateway. Here are some instructions on updating your applications for RC1:

If your service method returns a simple datatype (number, string, boolean, null):

Change your client-side code to reference result instead of result[0].

If your service method returns a complex datatype (array or object), you do not need to change your code.

This change is because simple data types are no longer returned wrapped in an array.

Example

Pre-RC1:

function resultHandler(event:Object)
{
	// Simple data type is wrapped in an array
	myTextField.text = event.result[0];
}

Becomes, in RC1:

function resultHandler(event:Object)
{
	// The returned simple data type is simply the result itself
	myTextField.text = event.result;
}

I do apologize for making such a radical change this late in the beta program but it was one that simply had to be made.

Note: The SWX Data Analyzer has also been updated to display simple data types correctly.


effexor weight

lipitor and grapefruit

generic viagra

phentermine 37.5 mg

oral prednisone

imitrex

paxil online

paxil medication

proscar finasteride

kamagra oral jelly

cheap levitra online

crestor tablets

furosemide dose

order phentermine

cost levitra

proscar for hair loss

doctor lipitor vs zocor

buy neurontin

buy celebrex online

digoxin action

phentermine diet

side effects of furosemide

furosemide renal

ultram tramadol

celebrex medicine

dose of prednisone

melphalan prednisone

buy neurontin online

fluoxetine prozac

prozac alcohol

cheap rimonabant

venlafaxine

phentermine prescription

effexor tablets

viagra side effects

side effects of prednisone

diflucan side effects

lipitor side effect

buy cialis

proscar hair

effexor 37.5 mg

10 levitra

rimonabant smoking

prednisone in dogs

buy effexor

buy cheap cialis online

viagra for women

fluconazole diflucan

discount paxil

crestor meteor

Twitter API updated: featured() method

I just updated the Twitter API so that the featured() method no longer takes a username and password and no longer states that the method does not work in the documentation.

Test it out using the SWX Service Explorer.

Thanks, Folkert, for pushing me on this! :)


tramadol

generic cialis price

prednisone dose pack

cost levitra

diet hoodia pill product

clonidine epidural

clonidine use

buy prozac online

prednisone dose pack

prednisone steroids

diflucan uk

phentermine prescription

diet hoodia pill

buy furosemide

rimonabant tablets

purchase tramadol

order paxil

clonidine hydrochloride

prednisone use

kamagra energy gell

prozac anxiety

fluconazole diflucan

melphalan prednisone

buy carisoprodol where

celebrex stroke

phentermine diet

digoxin dosage

cheapest cialis generic

neurontin drug

lipitor vs zocor

clonidine flushing

commercial levitra

celebrex order

carisoprodol withdrawal

hoodia uk

furosemide infusion

prednisone and alcohol

lipitor zocor

pharmacy celebrex

lipitor statins

phentermine on line

crestor side

kamagra uk

lipitor cholesterol

about tramadol

rimonabant fda approval

cost levitra low

paxil medicine

prozac

purchase effexor

Question: When’s a string not a string?

Answer: When it's not surrounded by quotation marks in the SWX Service Explorer.

If you the data type of a parameter that you're passing is string, please make sure that you enclose the argument you're entering with quotation marks. This is especially important for long numeric IDs (such as those used by the Flickr API) as, otherwise, Service Explorer will interpret these as integers and you'll end up with the wrong ID and failing call.

So, for instance, if a call takes a string ID, enter "72157600948554269" not 72157600948554269 into the input box for the ID parameter in the SWX Service Explorer.

Remember, when in doubt, enclose in quotes. :)

(By the way, I am aware that the SWX Service Explorer should be smarter about this and enclose string arguments in quotes for you. It should be smarter in a few other areas too and these are on my to-do list for Version 1 as they catch me out from time to time too.)

What is SWX, how does it work, and where is it going?

I just made a comprehensive blog post describing what SWX is (with new definitions for SWX, SWX RPC, SWX PHP, etc.), how it works and the current roadmap on my blog: What is SWX, how does it work, and where is it going?

Oops, I broke the Flickr samples. (Now fixed).

I replaced the custom getUserPhotos() method with swxGetUserPhotos() on the Flickr API on the public SWX gateway instead of deprecating it so existing sample applications in Beta 1.3 will have failed if you tried them in the last week or so. I've now updated the public gateway (and the Flickr API in SVN). getUserPhotos() is back (and deprecated). In the future please use the swxGetUserPhotos() method in your applications.

This change is part of an API sweep to make the various APIs more consistent. All official API methods mirror the names in the official API spec and all custom API methods begin with "swx" to clearly separate them from the official methods.

I will implement this naming convention in the Twitter API as well in the near future and deprecate the old methods.

Thanks to Alessandro Pace for bringing this to my attention.

Notes following the first SWX Monday

I found last night's SWX Monday very useful as Seb and Ribot uncovered some issues with SWX that just weren't present on my own machine.

Here are a list of notes that I made during the meeting. Consider these an unofficial roadmap for the next point release of Beta 1.2 as I will be looking into them this week.

  • SWX MAMP Bundle does not default to the correct start page. The SWX MAMP bundle defaults to http://localhost:8888/MAMP instead of http://localhost:8888/. For the time being the workaround is to set the start page yourself to http://localhost:8888/ using the MAMP control panel -> Preferences -> Apache -> set document root to /Applications/MAMP/htdocs/. Update: This should now be fixed in SWX Beta 1.3. If you still see this behavior, please contact me as I'm finding it very difficult to reproduce this on my system.
  • Some Flash examples do not have the class path set in the FLA. The minimal API and full API examples do not have the class path set in the FLA and will not compile until you set the classpath to point to the /flash folder. To do this, go to Flash -> Preferences -> ActionScript -> ActionScript 2.0 Settings... and add the /flash folder (in the MAMP installation, this will be at /Applications/MAMP/htdocs/flash/) to your classpath. This folder contains the org.swxformat package that contains the SWX class used by the minimal API as well as the ExternalAsset and LoadManager classes used by the SWX full API. Update: Fixed in SWX Beta 1.3
  • The Flash Lite examples are set to publish for Flash Lite 2.1. Flash 8 doesn't come with this profile installed by default and, in a moment of temporary insanity, Adobe have made the installer for this Windows-only so Mac users with Flash 8 have no way of installing the Flash Lite 2.1 publish profile. Thankfully, the examples also work in Flash Lite 2.0 and the publish profile will be set to that version in future releases. In the meanwhile, set the publish profile to Flash Lite 2.0 yourself if you are using Flash 8. This should not affect you if you are using Flash CS3. Update: Fixed in SWX Beta 1.3.
  • The Data Analyzer does not work with mobile SWFs being tested in Device Central. Device Central appears to block LocalConnection requests. This stops you from seeing debug data in the Data Analyzer if you're testing your SWF from Device Central. I will be talking to some friends at Adobe about this so that it gets fixed in future releases of Device Central. In the meanwhile, a workaround is to publish your mobile application for Flash 7 or 8 while testing (remember to comment out fscommands so as not to get errors).
  • Flickr.getUserPhotos() failing on PHP 5. The Flickr.getUserPhotos() method fails when run on PHP 5 (the default in the current version of the SWX MAMP Bundle). In the meanwhile, you can use the SWX Public gateway (http://swxformat.org/php/swx.php) as it works from there (test it out using the public SWX Service Explorer) or run it on PHP4. The next release will fix this. Update: Fixed in SWX Beta 1.3.

As previously mentioned, I will be looking into these issues and releasing a new point release sometime this week.

Update: I've fixed the issues above in SWX Beta 1.3 (apart from the Device Central issue, which is something Adobe has to fix.) This latest Beta also introduces better error handling (a fault handler is available for you to use in the SWX Full API and separate fault codes and messages are returned in the fault object.

SWX Beta 1.2.1 released

I just released a minor point release of SWX, version Beta 1.2.1, in response to issues reported by Folkert (thanks as always, man) on Beta 1.2.

The changes in this minor point release are:

  • Explorer: Fixed name of Explorer SWF so it doesn't break on case-sensitive systems.
  • Explorer: Explorer: The results panel now hides when changing methods.

I will update the SWX MAMP Bundle shortly to Beta 1.2.1 but feel free to use Beta 1.2 in the interim as the case-sensitivity issue does not affect it.