As many of you know, the project panel in Flash CS4 is a rebuilt version of the gProject panel that Adobe acquired from us. For a variety of reasons, the project panel shipped with a few rough edges that I was never entirely happy with. So when we had some free time here at the office, we looked to rectify some of those issues. Here are the major changes:
- Skinned to match the CS4 interface (based on Library panel)
- Tightened up the actions menu
- Added a utilities submenu, which you can add your own utilities to
- Specify whether to open files in Flash or via the OS on a per file type basis in Panel Preferences > Settings
- Option to import assets to stage or library in Panel Preferences > Settings
- Shrunk some dialogs, and made them scroll to reduce minimum panel size
- Added more file type icons
- Added an API for scripting the panel with JSFL (details below)
- Minor UI tweaks
Note that this update is unrelated to Adobe (though it is distributed with their blessing), and is provided as a friendly service of gskinner.com. We are not getting paid to make these updates, and are not officially supporting them (though please feel free to provide feedback in the comments, and we'll see what we can do).
There are a few things I would still like to address, but its unlikely to happen in the near future:
- Making it so directories don't collapse when you compile or refresh (requires time)
- Enhance project portability (requires time)
- Making all of the panel icons consistent with other panels (requires time or assets from Adobe)
- Multi-compile without opening FLAs (requires JSAPI support from Adobe)
- Move dialogs out of panel (requires bug fixes from Adobe)
- Support scroll wheel on Mac (requires support from Adobe)
- Remove default items from context menu (requires support from Adobe?)
You can download the updated project panel by clicking here.
Project Panel JSAPI
There are a couple of limitations with the swfPanel API in JSFL that have forced us to use some unusual approaches:
- Due to a bug with the JSFL swfPanel api only one parameter can be sent, and that parameter must be of type string. Therefore multiple parameters are passed as a semi colon separated string. createProject("uri;name;asVersion"); instead of createProject(uri, name, version);
- The swfPanel.call method can only return string values, so boolean or numeric values will be returned as a string. Actual string values are returned as a string, but within quotation marks. Arrays are returned as a semi-colon delimitated string (within quotation marks). For example, the actual value of a returned array will be a string: "value1;value2;value3" (including the quotation marks).
We have documented the the API below as though these limitations did not exist. Note that where an API supports a "path", it will accept both URIs and relative paths.
createProject(uri:String, name:String, asVersion:Number) // asVersion can be 2 or 3, uri can point to an FLA or a directory createQuickProject() openProject(uri:String) // Recent project list: getRecentProjectList():Array // Project settings (affect current project): getName():String setName(value:String) getURI():String setURI(value:String) getASVersion():Number setASVersion(value:Number) // value can be 2 or 3 getClassTemplate():String setClassTemplate(uri:String) getSymbolClassTemplate():String setSymbolClassTemplate(uri:String) runCompileList():Boolean getCompileList():Array addToCompileList(uri:String):Boolean removeFromCompileList(uri:String):Boolean getLocationNames():Array getLocationURIs():Array addLocation(uri:String, name:String) removeLocation(uri:String):Boolean getFlexSDKPath():String setFlexSDKPath(value:String) // for source, library, and external lib: getLibraryPaths():Array addLibraryPath(uir:String) removeLibraryPath(uri:String); getSourcePaths():Array addSourcePath(uri:String) removeSourcePath(uri:String) getExternalLibraryPaths():Array addExternalLibraryPath(uri:String) removeExternalLibraryPath(uri:String)
You can also download a sample JSFL file that uses the API here.

Comments (33)
Thanks Grant, looks like good times.
Posted by: Alan Klement at March 19, 2009 10:31 AMURL:
Just a quick note on install: if you double-click the installer and it tells you that you need Flash 10 or greater to use, it is because it tried to open it in the CS3 Extension Manager instead of the CS4 Extension Manager.
The quick fix is to open the CS4 Extension Manager and then open the MXP file within the Extension Manager. It will then install without issue.
HTH
Posted by: Jon MacDonald at March 19, 2009 10:34 AMURL: http://www.jonnymac.com/blog
it would be nice to be able the default publish path for the project.
Posted by: simon at March 19, 2009 12:05 PMURL:
grant + team, thanks for putting the time into this. it's a great update, just still wishing it had some bug fixes plus mouse scroll wheel support, but looks like that is more on adobe than you guys.
has anyone experience a weird triplication of any folder or files below the first item when expanding a folder in the first item of the panel? i've had it happen on several different machines, with fresh project files.
first i thought it was related to .svn files being present, but even using a fresh clean project folder structure produces this. anyone else seeing this? if you have, have you found a solution?
it's really making working with a project annoying to have stuff tripled whenever you expand a folder.
but thanks again.
Posted by: dmac at March 19, 2009 01:57 PMURL:
dmac - I haven't seen that behaviour. If you're able to come up with a consistent way to replicate the problem, we'll take a look at it.
Posted by: Grant Skinner at March 19, 2009 01:59 PMURL: http://gskinner.com/blog/
Works Great, thanks Grant!
Posted by: Jerry Chabolla at March 19, 2009 02:10 PMURL: http://www.influxis.com
Nice update, I didn't know you created that window, its really helpful whenever I use it.
Thanks =D
Posted by: Clemente G at March 19, 2009 02:24 PMURL: http://blog.kreativeking.com
Hi Grant,
thanks for helping all the community with you work. You are an inspiration for a lot of people.
I love the gProject panel, I bought the first version and I'm always happy with it.
I notice in this update that the font in all the panel is really bad looking. I'm on Windows and the font is not clear.
If you need I can upload a screenshot on my website.
Thanks
Posted by: Riccardo Bartoli at March 19, 2009 07:01 PMURL: http://www.rblab.com/blog/
I'll have one of my guys take a look at the font rendering on Windows. Not sure what's up with that.
Posted by: Grant Skinner at March 20, 2009 09:44 AMURL: http://gskinner.com/blog/
Riccardo; I've just uploaded a new version of the Project Panel that resolves the Font issue for windows. Just use the same download link and re-install the .mxp
Posted by: Wes at March 20, 2009 03:34 PMURL: http://www.gskinner.com
great news!
but still, on mac os mouse wheel doesn't work
Posted by: marpi at March 21, 2009 05:35 AMalthough i think it's the same flash player bug
and there isn't a simple solution for it :/
URL: http://marpi.pl
I cannot apply the update on mac. The extension manager just crashes.
Posted by: Jason Peinkofer at March 22, 2009 07:11 PMURL:
grant, here's one way i've consistently gotten the bug to appear.
1. reset panel to default settings.
2. create a clean project (fla + a couple of folders for AS classes, with two main roots, such as com.test and org.test).
for example:
com/
com/test
com/test/TestProject.as
org/
org/test
testproject.fla
testproject.swf
3. create a new project, set the project root to your test folder.
4. expand either the com or org folder, they should only appear once.
5. go into the panel preferences, turn off "show recent files" checkbox.
6. quit flash
7. reopen flash, project should still remain open in project panel, minus the "recent files" folder.
8. expand either the com or org folder. all files/folders below the first item (com folder in my example) will be duplicated
com
org/
org/test/
testproject.fla
testproject.swf
org/
org/test/
testproject.fla
testproject.swf
org/
org/test/
testproject.fla
testproject.swf
the com folder structure remains intact, with only the single folder showing up.
in order to reset it normal behavior, reset the panel to the default settings, and don't uncheck the "show recent files". if you zip up the project, or check it into SVN, it remains fine on the other machines, but only if the "show recent files" checkbox is left intact.
i think that is the crux of the matter, the "show recent files". i didn't discover that until tonight when I was reseting everything to try and reproduce this bug for you and noticed it didn't happen when I had that checked.
i guess that's a stop gap for now, but i hope these steps can help you and your team solve it.
thanks again.
Posted by: dmac at March 22, 2009 11:12 PMURL:
Hi Grant
i was one of those wishing for the Utilities menu.
I've now installed the update, and i still don't have it (the U. submenu).
Am i missing somethinig? Where is it supposed to be located?
Actually, now that i checked, i don't see the items in Panel prefs/Settings you're mentioning, so it seems my panel is not updated at all.
(i'm not 100% sure if there's differences from before i installed the update, because i haven't actually started to use my recently installed CS4 - needing gProject being the main reason!)
I installed the update from inside the Extension Manager CS4, and not by doubleclicking the mxp file, in light of Jon MacDonald's comments above. However, the X Manager tells me the update was successful.
But from what i can see, nothing actually changed in the Panel.
I'm on Win XP.
Anyone else experiencing this?
Posted by: Karo at March 25, 2009 12:30 PMURL: http://ovoono.blog.hr
Karo - If it installed correctly, your project panel should have a small "g" logo in the top right corner. Did you restart Flash after installing (just to be on the safe side)?
Posted by: Grant Skinner at March 25, 2009 01:53 PMURL: http://gskinner.com/blog/
No g logo :(
Restarted Flash of course, and then in desperation even the computor.
Then removed the extension, and reinstalled it via doubleckick (there was no version issues after all - CS4 xmanager opened on doubleclick)
Restart, reinstall, reboot, reinstall, restart, re, re, re... no help.
Can't imagine what could be the issue.
And to think that i was literally waiting for this update to start using CS4...!
I wish i could provide more info or a way to 'reproduce the bug'. But how do you reproduce this on a machine where the install simply works...?
Posted by: Karo at March 25, 2009 02:22 PMURL: http://ovoono.blog.hr
Good news for you, bad for me: it's not a gPanel thing, it's my Extension Manager... I'm installing (other) components, and they don't appear either in Flash, although everything seems fine in XManager...
well, at least it's not your problem anymore ;)
Posted by: Karo at March 25, 2009 04:05 PMURL: http://ovoono.blog.hr
Hey guys,
just want to say thanks gTeam for the update to the panel.
Couple things that I would be interesting in seeing in the next revision if at all possible:
1) Being able to run a Publish Project without it collapsing my tree list.
2) Being able to have "Test Project" act more as a batch compile instead of just compiling the Default FLA. This way i can check off what files i need to be compiled and hit Test Project. I work with a lot of projects that use Shared Libraries and those need to be compiled before the root fla gets compiled, this would be a handy feature.
just my two cents. cheers!
Posted by: Kyle jeske at March 26, 2009 10:15 AMURL: http://northkode.com
Thank you guys for resolving the font issue on Windows. Now it looks a lot better!
Posted by: Riccardo Bartoli at March 27, 2009 10:13 AMURL: http://www.rblab.com/blog/
Thanks Grant, it is great improvement:)
Karo, I believe it has to do with non-us OS, you can find the solution at my post: http://www.xllusion.net/ed/2009/03/29/components-not-shown-up-in-flash-cs4/
cheers
Posted by: Ed at March 31, 2009 04:13 AMURL: http://www.xllusion.net/ed
> No g logo :(
> Restarted Flash of course, and then in desperation even the
> computor.
> Then removed the extension, and reinstalled it via doubleckick
> (there was no version issues after all - CS4 xmanager opened
> on > doubleclick)
> Restart, reinstall, reboot, reinstall, restart, re, re, re... no help.
Me too. Identical problem. No g logo. Everything looks exactly the same as it did before. I did use the CS4 Extension Manager.
> Good news for you, bad for me: it's not a gPanel thing, it's my
> Extension Manager... I'm installing (other) components, and
> they don't appear either in Flash, although everything seems
> fine in XManager...
My other components do appear and work fine.
Posted by: James at April 16, 2009 05:14 AMURL:
James... Ed's solution above worked for me, it may be worth a try
Hi Grant
As i said, Ed's solution worked, and finally i have the G-empowered Project panel.
Works good, except my favourite feature: Update UI Elements... i get "class not found" error for any class i try to update; even immediately after creating one.
There is additional bug (or is it a feature?): it is taking the symbol library name as the class name, and not the name of the linked class. My symbols rarely have the exact same name as the linke classes (for example, i have lowercase symbol names)
But be it as it may, renaming - or initially naming - the symbol to same (and same-case) name as the class, doesn't solve the not-found bug.
Anyone else having same problems?
greetz
Posted by: Karo at May 19, 2009 11:28 AMk++
URL: http://ovoono.blog.hr
Hi Grant,
I use the flashlog.txt file for online debugging purposes. I've been seeing a number of messages appearing there that had nothing to do with my project. I've finally realized they're coming from the Project panel. Below is a selection of what comes up:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
Posted by: David Barlia at May 24, 2009 05:38 PMat fl.project.views::ProjectTree/updateContextMenu()
at fl.project.views::ProjectTree/onMouseMove()
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at fl.project.views::ProjectTree/updateContextMenu()
at fl.project.views::ProjectTree/onMouseMove()
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at fl.project.views::ProjectTree/updateContextMenu()
at fl.project.views::ProjectTree/onMouseMove()
Warning: 'n' has no property 'nodeValue'
load: http://www.gskinner.com/blog/sidebar.xml
Warning: loadHandler is not a function
Warning: resizeHandler is not a function
Warning: 'p_num' has no property 'length'
Warning: resizeHandler is not a function
Warning: expandHandler is not a function
Warning: resizeHandler is not a function
Warning: resizeHandler is not a function
Warning: resizeHandler is not a function
Warning: resizeHandler is not a function
Warning: resizeHandler is not a function
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at fl.project.views::ProjectTree/updateContextMenu()
at fl.project.views::ProjectTree/onMouseMove()
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at fl.project.views::ProjectTree/updateContextMenu()
at fl.project.views::ProjectTree/onMouseMove()
URL: http://studio.barliesque.com/blog
David - Any chance you installed it for Flash CS3 instead of CS4? If not, we'll take a look - I haven't seen any of those errors.
Posted by: Grant Skinner at May 24, 2009 06:18 PMURL: http://gskinner.com/blog/
I've only got CS4 installed on this machine.
Those messages don't appear in the Output panel, mind you, but in the log file. I've had trouble in the past getting feedback from my own components--I never thought to look in the log file, which seems to catch a few more messages.
That file is located at:
Posted by: David Barlia at May 26, 2009 04:34 AMWindows XP: C:\Documents and Settings\{user}\Application Data\Macromedia\Flash Player\Logs\flashlog.txt
Windows Vista: C:\Users\{user}\AppData\Roaming\Macromedia\Flash Player\Logs\flashlog.txt
OSX: /Users/{username}/Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt
URL: http://studio.barliesque.com/blog
In Flash CS3, you could have Flash automatically save all modified project files before testing a project. You could also assign a shortcut key to the Test Project button. Are either of these things possible in Flash CS4?
Posted by: Mitch at June 1, 2009 03:09 PMURL:
dmac: I have also had the problem with three copies of files appearing inside the panel.
A solution I found is to go into the panel preferences and under locations just tick the "Specify additional ....".
After this just refresh the project.
Unfortunately you will always have the locations folder showing but it's not half as bad.
This worked for me so maybe it will work for you.
Posted by: c at June 14, 2009 06:00 AMURL:
hi,
thanks for your extension.
is there any meaningful reason why it's not allowing more than 6 projects in the panel? after adding the 7th, it's removing the first one I've added (the last one in the list).
I've also experienced really bad double-click performance. when double-clicking a file nothing happened sometimes - but with your update I think that's gone.
Using a registered copy of cs4 pro. (win xp) installed from the orignal DVD.
hope there's a solution to that,
Posted by: filip at July 8, 2009 06:54 AMfilip
URL:
oh, i thought the list is a permanent list of all projects that i've added. now with the new wording "clear recent projects" it's more obvious that it is just the recent projects...
well, i'd like to have a complete list please :)
just like it is in dreamweaver.
thank you :)
Posted by: filip at July 8, 2009 07:01 AMfilip
URL:
I'm just wondering here --
why would it seem obvious or at all logical to have removal of a folder / item from the panel cause it to be removed from the filesystem?! Since this new panel I have to wade through dozens of deprecated classes in big projects that I don't need to be seeing -- and I have to wade through them without being able to use the scroll wheel?!
Also, the triplicate error happens when you pin a folder. Every time, for me.
No offense, but this piece of code even with the update was nowhere near ready for release as the project panel for a serious (and seriously expensive) application. Grant, I've been a fan of yours for a long while, and I don't blame you for this; but this panel makes it such a headache to organize my work that I think I'm finally going to drop the IDE and switch to Eclipse.
Posted by: Josh Strike at July 19, 2009 05:02 AMURL:
there is no shift or ctrl click i think it's good to add this please
Posted by: hicham at August 5, 2009 02:53 PMURL:
I've been using flp's in cs3 and have now updated to cs4.
I've been experimenting a little and found some issues.
When you create a new project and choose a folder that already has one, no notification is given that a project already exists there, nor a choice wether you want to overwrite it or not. and a new project is created, with the name of the previous project. Not the name you've just entered.
I also noticed that the configuration file uses absolute paths, while FLP's use relative paths.
This is no problem if you're the only one who uses the project and never change its location.
But it messes up when you want to move the project to a new location (you have to select the new path completely from your computer root because the ghastly folder-selector is used).
And when your project is on a mapped network share. It won't work when someone opens it who uses a different driveletter, or when its opened on a mac (which use a smb:// path instead of y:\ etc)
Now I haven't experimented on a mac yet, but I'm guessing the following situation will occur:
If you make a project on a mapped network drive on a PC, and later open that project on a mac (which uses a different path to get there) you're prompted that the root folder is missing, so you select the correct one for the mac.
when you later open the project on the PC again, it wont find the smb: path there, so will ask you to locate it again. which will cause it to fail again if the Mac tries to open it again
etc. :)
And my final issue: is there no way to make a file (like .flp files) which you can open from explorer directly, so that you open project? its nice that we have a recent project list, but on computers that haven't opened the project before they HAVE TO use the folder selector to locate the correct rootfolder of your project. (which is a pain, because the folder selector always starts from your desktop (on pc's)
Posted by: martijn croezen at September 24, 2009 02:47 AMregards,
URL: http://whizzkid74.blogspot.com
The beauty of the CS3 project interface is its visual simplicity at organizing necessary project files in an easy to access way that allows for quick linking and opening of Class files from external packages.
It is an excellent compliment to the Publication Settings window where whole folder packages are linked to the compiler. The compiler knows where to go to get the needed files, and the user only has to link up or create those files visually needed for the project.
It's hard to believe Adobe would release a program that doesn't support, at a minimum, the previous verion's project-creation structure, and would release something as buggy (not-ready-for-prime-time) as this. Where on earth was the risk analysis by the project management in charge of this blunder? Didn't alarm bells go off when someone said, "Oh, by the way, we won't be supporting CS3 projects?"
The company I work for has a central repository of AS3 that I and others check out and use locally. I have 40 projects on my computer in CS3 and 20 in the queue (10 of which are coded and waiting on finished graphics). I would like to import these projects into CS4 to either just update or to also use the newer CS4 AS Classes, and I would like to maintain my linked Class files in each project. How can I easily do that?
What is the point of Class packaging if CS4 Flash projects across an enterprise organization require Class duplication from folder to folder at the expense of interlinking to Classes from packages?
What do you think the reaction would be if a version of Photoshop came out and didn't support opening the previous version's file layers and structure?
Posted by: Richard at November 3, 2009 05:57 PMURL: http://www.measuredprogress.org