Can’t sleep, must blog. I’m thinking of rigging up a dart frog blow dart gun next to my office desk. I can basically lean forward to my right, pull a nylon + silk, 1 inch thick drape rope, much like the Adam’s Family did to summon Lurch, and I’ll promptly be knocked unconscious with the dart protruding from my neck. Insomnia sucks. Might as well put it to good use. I was accused of having a similar setup in high school, except, instead of a blow dart, it was red velvet curtains that would part, and a salt lick would slide down; a massive slab. Salt licks are stationary blocks of salt left to attract dear; typically used by hunters. Instead of salt, however, it was a massive slab of solid caffeine that I apparently licked every morning before arriving to school. This wasn’t true, although, red velvet curtains sounds h@wt! Drinking coffee at 14 isn’t such a good idea; note to self for future teenagers.
…anyway, Flash Player. Flash Player 8 had this (yet again) new security model put into place. They call it a “sandbox” so you think it’s this happy place to keep honest people honest. Basically, a SWF can (only) now:
– contact interweb sites, but not local files
– load local files, but not internet sites
– do both with a modified configuration file installed on a user’s computer in a special directory
An EXE, aka, a Projector, is exempt. If it’s not, you’ve got a virus, abort, abandon ship, JesterXLs’ and women first.
Granted, you “can” theortically get the 3rd option to work via Settings Manager, but I’ve never heard of anyone publicly getting it working. Using that tool myself makes me cringe. It’s easier to just ask someone that trusts you to run an .exe you made for them via a 3rd party Flash Projector. Unfortunately, a few people who published CD-ROM’s in the past without such projectors had their content break when their users updated.
I believe the Flash IDE allows this via the special player that it uses when you do a Test Movie ( Control + Enter). I could be wrong.
I DO know that Flex Builder 2 utilizes the config files I mentioned. It basically writes them to exempt your bin folder. That way, you can load XML files locally for configuration stuff AND have that same SWF access various back-end services, either local, or on the web. When you do a new project, it’ll point this config file to our bin directory, thus making a SWF in there capable of having a wonderful time… like Optimus Prime or Gman for example.
What if this ISN’T written? You’ll get a security error. You can compile SWF’s to do one or the other in Flash 8, as well as Flex Builder’s mxmlc. For both, you’ll need an EXE, or access to the user’s box. Naturally, the 3rd never happens for most of us. In development, though, it’s all us. I’ve seen this fail for the first time, today.
We’re not allowed to check in bin, html-template, .settings, .project, and .actionscriptSettings into CVS, which I agree with. However, apparently when you do an import project in Eclipse, it doesn’t do any Eclipse magic without the main project files in there. Even “Adding Flex Nature” to your newly created Eclipse project doesn’t seem to add the entry. If you delete the project, and then re-import with the goodie config files in there, it apparently goes and writes the config file. Example path on PC:
C:\Documents and Settings\[username]\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust
Why should you care?
If you start testing things in Flex Builder, and it starts bitching that your SWF “isn’t allowed to access” either local files or remote files, call bs on FB, promptly add the entry, and reboot your browser. The last part ensures that Flash Player reloads the .cfg files and knows who’s allowed to break the laws of nature. For me, there were 2 entries in 2 files. The flexbuilder_plugin.cfg and the flexbuilder_plugin.fbr files. The first is easy; you just paste the bin directory’s file path. The latter is… weird. Just copy and paste the one above it.
Granted, you’ll hopefully never have to do this. I only write for the poor sod searching late at night on Google for ytf his stuff isn’t working.
More specific information (still relevant to Flash Player 9).