Jan
23

ASF File Explorer released

144 comments Posted by: Laura

file explorerThis is a project that started small and became a complete application. After much work on it, we are finally ready to release it.

ASF File Explorer is a file manager to browse, add, and remove directories and files from a specific server location.

Main features

  • Browse directory trees in an intuitive tree interface
  • Create folders
  • Rename folders
  • Delete folders
  • View all files in currently selected directory with file type icons, size and last modified information
  • Delete files
  • Upload files to currently selected directory
  • Limit file extensions from configuration file
  • Upload file with progress bar to indicate bytes uploaded
  • Upload multiple files at once
  • Download and save a file
  • Rename files
  • Browse an FTP server
  • Can be extended to use other component that implements the same file/directory functions (getDirectories, getFiles, renameFolder, etc)

It was built using CFForms and Flash remoting. My favourite feature is the multiple file upload, for which we have made an update to the file upload swf . The next step is to upgrade our flashupload custom tag to allow for multiple files.

We do not have a live demo running, but you can see a movie that shows most of the features. You can download it, see more screenshots and view more information in the project page:

ASF File Explorer information

Notes:
FTP is not very reliable and it has not been tested much. I got it to work on my server but not in my local CF installation and I didn’t have the time to look into it much.

We hope you find a use for it, and that you like it so much that you’ll be inspired to get us something from our Amazon wish list ;)

Category: CFForm | ColdFusion | Flash Remoting |

144 Comments so far

Write yours
Chris
1. Chris wrote on January 23, 2006 at 11:55 PM
Have a look at this one...
http://floe.unic8.com/demo/

user: demo
pass: floe2K5

it´s beta but will be released soon.

greets
John  Barrett
Hi,
Thank you for making this`-`
I have been hoping for something like this.
I love it, but I was not able to get it to work on the mac:(

I will be trying more, I keep getting errors(could not find componet/or code base). I am very new to coldfusion,and I would like to say that the work you have done with flashforms is inspiring`-`

How do I get you something on your wishlist?
Thanks again for sharing your wonderful project
John
Willem
3. Willem wrote on January 24, 2006 at 4:04 AM
Hi
I just have to ask Chris about his FLOE app
if that is a FLEX 2 app or is it made in cfform and if it is cfform how did you do the fade out effect when you load alerts?
Neil
5. Neil wrote on January 24, 2006 at 6:39 AM
As usual, BEAUTIFUL work... I was nervous that maybe you guys just...quit :)

Any plans to make any of the available features permissions dependant?
Rick Smith
This is fantastic! Thanks guys.
6dust
7. 6dust wrote on January 24, 2006 at 9:48 PM
Looks great! Installed it locally and ran into an odd situation, though. If I try an upload some files, either multiple or one at a time, a subfolder gets created with each filename, and then in those folders are the files. That's not how it's supposed to function, is it? Aren't they just supposed to upload into the current directory?
Laura
Thank you all.

John,
We have a link to our Amazon wish list in the post. Thank you! :)

Neil,
I didn't have any plans on implementing that although it would be a good feature. I don't think I'll do it because every developer has a different way of managing permissions. It should be easy to customize to your particular set of roles, users, etc.

6dust,
That is a problem resolved in this hotfix (and subsequent cumulative hotfix) http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=f97044e. But you don't need to install it because I just updated the source to avoid the problem. Please download it again.
Laura
John,
I did not test it on a mac, but it should work. Where did you place the files? It should work as is if you put a folder called fileexplorer in your web root. If you don't have that configuration, then you will need to change the settings in the fileexplorer.ini file (managerComponent and servicesPath settings), there are comments there that might help you figuring what to write. I could help you a little more if you tell me where your files are located.
6dust
10. 6dust wrote on January 24, 2006 at 11:41 PM
Thanks Laura! I installed the hotfix just to avoid future issues; problem solved!
John  Barrett
Hi Laura,
I send you 2 e-mails, thank you so much for all your help`-`
I got everything working now, just needed to add the folder,"fileexplorwer",and make the changes in the fileexplorer.ini file.

I didn't see the link to amazon yesteday, I was looking on the side, but enjoy`-`

Thanks again for making this application, truely wonderful`-`
John
Tony
12. Tony wrote on January 25, 2006 at 11:18 AM
Are you able to move files around between directories?
Vincent
13. Vincent wrote on January 27, 2006 at 5:57 AM
John,

I have also a mac and it works well but the default ini won't work.

For the components path, the easiest way to know the right path is to create an empty file in the same folder, open your component window in dreamweaver and drag the manager component and the service component.

Then you just need to copy-paste the path that's directly inserted in the invoke component tag.

For the root Directory, you need to adjust from the root of your hard drive and use / instead of the :

To get the root Directory of your application, use Dreamweaver "Manage Site", click "Edit" and go to Part 3 "Where on your computer do you want to store your files?"

Use this path and change the : to / and remove the Macintosh HD at the beginning.

For example, mine is like this:
Macintosh HD:opt:ColdFusionMX7:wwwroot:myapp

The fileexplorer root directory would be:
/opt/ColdFusionMX7/wwwroot/myapp/

Hope this helps!
Vincent
David Brannan
Sweet - you guys do the best work!

I have a login script that checks against our LDAP directory then creates a session (outside of your Application.cfc) with the username (also the same name for the directory I wish to point them to).

The rootDirectory and final directory is set in your Application.cfc under OnSessionStart. I can't seem to pass in an already created session to an OnSessionStart area.

Any suggestion? I'm willing to share my LDAP login script if I can get it working.
Laura
Tony,
No, that is not possible :(

David,
You bring up an important issue. I think the way I wrote the onsessionStart function will not really work so easily for those under a password protected area.
The problem is that onSessionStart runs as soon as the user hits the page for the first time (or the first time he/she hits the page after their session has expired). Because when that happens they are not yet logged in, you must do all the authentication, login forms, etc, until they are authorized. It is then when you want to set the root directory they will use (only if it changes for each user). That means you want to transfer this code:

<cfset session.fileManager = createObject("component",GetProfileString(variables.config, "default", managerComponent")).init(someDirectoryForThisUser,GetProfileString(variables.config, "default", "allowedExtensions")) />

to where you determine that they are logged in. If that is not in Application.cfc, then you can not use variables.config, but you can manually enter those settings, or do some other workaround.
David Brannan
Laura,

That makes good sense. I suspect most people wanting to use your cool little app will need to impliment it into a password protected area.

I've moved that code to the login area and attempted to hardwire in the necessary variables since I cannot use variables.config:

rootDir
manageraComponent
allowedExtensions

The code looks like this:

<cfscript>
managerComponent="fileexplorer.com.blueinstant.FileManager";
allowedExtensions = "*";
</cfscript>

<!--- will eventually come from session --->
<cfset rootDir = "E:\Home\Staff\david.brannan\" />
      
<!--- create the object for this session --->
<cfset session.fileManager=createObject("component",managerComponent).init(rootDir,allowedExtensions)/>

But the app errors when looking for all the request.fileManagerProps

Sigh.... so close.




thinman
17. thinman wrote on January 30, 2006 at 1:01 PM
Odd Error:

The name is not a valid component name.
Component names cannot start or end with dots.

The error occurred in C:\Websites\sohocentriccom\html\fileexplorer\Application.cfc: line 65

63 :             
64 :             <!--- create the object for this session --->
65 :             <cfset session.fileManager = createObject("component",GetProfileString(variables.config, "default", "managerComponent")).init(rootDir,GetProfileString(variables.config, "default", "allowedExtensions")) />
Kirk Mower
This is a great app. My only problem is that I want to use it on a remotely hosted site and as such they can set up a mapping for me, but I don't have access to the web root for obvious reasons. Is there any way to get this to work without access to root ? Thanks a lot and great work.
Anastasios Abanidis
Fantastic Work! Thanks ...

Is it possible to run this App unter https Protocol?

Laura
David,
You are not using Application.cfc, right? if that is correct, you will need to reproduce what is there in your own application. You are missing: <cfset request.fileManagerProps = application.fileManager /> but since you are not using Application.cfc, you are probably also missing application.fileManager set up in the method onApplicationStart()

thinman,
Your error indicates that you have something like ".somePackage.someComponent" in your ini file. Make sure this setting does not have a dot in the beginning:
managerComponent=fileexplorer.com.blueinstant.FileManager

Kirk,
This application is very flexible regarding the directory structure you use. But you need to be able to browse it :)
By web root I mean your web-accessible public folder. You don't have to put in the "root", but it has to be somewhere below your web root (or virtual directory). It does not require any mapping, although you can use mappings for the manager component setting and move what is in the folder com/blueinstant/ somewhere else, changing the settings in the ini file accordingly.

Anastasios,
The application should work fine. However, there is a bug in the Flash Player that makes file upload fail under https. I don't know if the bug has been fixed in the newest player.
Doug
21. Doug wrote on February 01, 2006 at 1:47 PM
I am trying to check this. I tried to change some of my directory setting and they will not update. It appears there is some serious caching going on. Is there anyway to delete it? Thanks!
Doug Bedient
22. Doug Bedient wrote on February 01, 2006 at 7:03 PM
Scratch that. I figured out how to delete the application variables. Cool stuff. There's always too much to learn.
Anastasios
Laura,
Im found on this Page the newest Flash Players for Windows an Mac.
Flash Player 8.5 (Alpha 3)

http://www.macromedia.com/cfusion/entitlement/index.cfm?e=labs#flashplayer8_5

With this Players the upload works also with https secure socket layer protocol.

Test on following Systems working fine:

Windows XP German SP2 - IE 6.0.2900,
Windows XP German SP2 - Firefox 1.04,
Windows XP German SP2 - Opera 8.0 Buil 7561,

Windows 2003 Servers German SP1 - IE 6.0.2900,

Mac OS X 10.4 - Safari
Mac OS X 10.4 - Camino - 2005110708 (1.0b1)
Mac OS X 10.4 - Firefox - 1.5

The Player from the official Macromedia Player Download Site dont work! (Version 8.0)

Greetings and thanks
Anastasios
Neil Huyton
24. Neil Huyton wrote on February 07, 2006 at 8:20 AM
Hi.
Great app!!

I uploaded a large file (108MB) to see how long it would take and if things would timeout etc.
It uploaded fine, but when I try and download it, instead of the download dialog box popping up like the other files (images, swfs etc.) I get directed to download.cfm which shows a &quot;500 null&quot; error.

Any ideas why? Is it becasue it's a large file?

Thanks
Jeremy
25. Jeremy wrote on February 10, 2006 at 8:49 AM
I just found this tool and it looks awsome. However, I cant get it to work. I keep getting this error.

Could not find the ColdFusion Component fileexplorer.com.blueinstant.FileManager.
Please check that the given name is correct and that the component exists.

The error occurred in /var/www/html/elg/Application.cfc: line 34

32 :       <!--- only create the object on the application if we are using application storage as opposed to session storage --->
33 :       <cfif GetProfileString(variables.config, "default", "managerStorage") EQ "application">         
34 :          <cfset application.fileManager.manager = createObject("component",GetProfileString(variables.config, "default", "managerComponent")).init(GetProfileString(variables.config, "default", "rootDirectory"),GetProfileString(variables.config, "default", "allowedExtensions")) />
35 :          
36 :          <!--- ftp --->
Laura
Neil,
I don't know whether or not your problem is due to the file being large. I've never seen that error. Did you try downloading other large file that was not uploaded with Flash? Although suppously you can upload files of any size, the player officially supports up to 100MB.

Jeremy,
I think you have a different folder configuration in your server and therefore need to change the ini file. Read the comments there. I don't know where your web root is, but if it is at html (and all else is as you opened it form the zip), then you'll write
servicesPath=elg.services
managerComponent=elg.com.blueinstant.FileManager

Hope that helps
Tim
Laura,
i want to send you some info so that you may make a post on how to add flash menu items to a cfgrid. can you email me so that i may send you the info or can you post a new article on how one could do it.

thanks
Tim
tim.garver@nice.com
Roger
28. Roger wrote on February 15, 2006 at 2:57 PM
Wonderful app!

I installed the file explorer in 2 different places since I only wanted certain users to access certain directories.

However, I forgot to change the managerStorage to session instead of application.

Now I believe that since I ran the file explorer already, the rootDirectory is stored in memory. Therefore, I have to wait until CFMX 7 restarts on my web hosting server. Is there a way to kill this application object manually.

thanks.

roger
Randy
29. Randy wrote on February 16, 2006 at 5:22 AM
Ok,

Here is my first an interesting issue that you may have a workaround to handle.

The issue that I have run across is this. When I wrap the contents of a <cfform format="flash"></cfform> inside of a <cfsavecontent variable="X"></cfsavecontent> tag, and then attempt to output my variable, either the object or the js code or both doesn't read correctly in the browser. However, the code does output correctly to the page source. Here are examples:

<!--- save cfform contents here --->
<cfsavecontent variable="X">
<cfform format="flash"> </cfform>
</cfsavecontent>


<!--- output variable contents here --->
<cfoutput>
#X#
</cfoutput>

This theoretically should output as though the code was any other html, js, or other code written by coldfusion server. However, the code produced simply sits in the source untouched and unread. It is truly bazaar.

So my question is are any of you aware of the issue and a workaround for it or can you point me in the direction of somone who maybe familiar with this problem? I have tried googling an answer to the problem but, I only get a bunch of tutorials on adding actionscript to cfforms using cfsavecontent.

If you dont know or know anyone who may know a workaround, I completely understand. thanks for any time you can put to this.

Take care,


Laura
Roger,
Theoretically, you don't need to wait until the server restarts, only until the application times out, usually 2 days :)
But what I usually do when developing is to re-initialize the application by calling OnApplicationStart() in the onRequestStart method and then remove it when I am done. Or you could also change the name of the application (this.name). That will make OnApplicationStart run again since it would be a brand new application.
6dust
31. 6dust wrote on February 17, 2006 at 8:43 PM
Hi Laura,

I've been hitting a problem a lot lately with my Flash forms, and noticed that it happens with this application too. If I attempt to resize my browser window (IE and FF) after the Flash form has loaded, the widths of the form groups go crazy and they all drop into a vertical line (it looks a lot like the infamous CSS float drop problem). Is there a known issue with this? Or is it maybe a bug w/ the Flash Player 8.5 beta?

Thanks!
Neil
32. Neil wrote on February 18, 2006 at 5:44 AM
6dust:
You just need to put a width on your cfform. If you put a width on the file explorer, you can resize your browser and the panels will stay in place.
6dust
33. 6dust wrote on February 18, 2006 at 7:10 AM
Hi Laura,

I've been hitting a problem a lot lately with my Flash forms, and noticed that it happens with this application too. If I attempt to resize my browser window (IE and FF) after the Flash form has loaded, the widths of the form groups go crazy and they all drop into a vertical line (it looks a lot like the infamous CSS float drop problem). Is there a known issue with this? Or is it maybe a bug w/ the Flash Player 8.5 beta?

Thanks!
6dust
34. 6dust wrote on February 18, 2006 at 7:12 AM
Whoops, sorry for that repeat post. Wasn't expecting refresh to have that affect.

Neil, so there is no way to have an auto-resizing 100% width? In my limited playing around with Flex, this seemed very doable...

Thanks,
6dust
Adam Fairbanks
Looks great!

Any plans for multiple file download (even if the files were just zipped)?
dan
Yes im having trouble getting it to locate the folder that im trying to view. I have edit the INI file to point to this \inetpub\wwwroot\cneworks\wwwroot\ my fileexplorer folder is in the wwwroot folder on the end and i want it to browse just are uploads folder any help would be great.
Laura
dan,
you need to specify the absolute path of the folder you want to explore. ie: C:\inetpub\wwwroot\cneworks\wwwroot\someDir\otherDir
TC
Very Cool Guys. I have a solution very similar over here. However, my issue is how to download multiple files at once. For example, I generate a group of XML files, but don't want to have to zip them and have the user unzip them... is there an easy way to get these files to the client's machine? Without asking for save confirmation over and over again...?
Chris
39. Chris wrote on March 06, 2006 at 8:46 AM
Good news!
the mentioned project &quot;floe&quot; was released today. i´ve already downloaded and installed it and it´s really cool.

Here´s the link... http://www.unic8.com
Noel
40. Noel wrote on March 07, 2006 at 8:39 AM
Hmmm.. Here we go again!

I'm trying the code on a Linux server running ColdFusion MX 7,0,1,116466

And guess what.. I'm get the following error:

Could not find the ColdFusion Component fileexplorer.com.blueinstant.FileManager.

I've made the needed changes in the fileexplorer.ini

Any tips?
Laura
Noel,
Where do you have the com folder?
If you made the changes in the ini, did you somehow reset the application (restart the server, etc)?
Noel
42. Noel wrote on March 08, 2006 at 3:27 PM
Laura,

re: com folder..
If you are talking about the &quot;componentutils' folder it's in '/var/www/html/CFIDE' (there is a SymLink to it from the dir where I'm running the code from.

If it's not the 'com' folder you are talking about, than I do not have one! (as far as I can see)

re: restart the server, etc..
No I did not :/ I'll do the 'restart server' later today when I'm back home...

Thanks for the reply
Wally
43. Wally wrote on March 09, 2006 at 10:43 AM
I am getting this error when trying to execute the original application: &quot;Element COMPONENTPATH is undefined in REQUEST. &quot; on line 80 of the index.cfm.

Have I missed something for the installation?
Noel
44. Noel wrote on March 09, 2006 at 3:02 PM
Hmm ok..

I've found the 'com' folder.. It's in the applocation folder itself :)

I did read the info, and did change the rootDirectory in the fileexplorer.ini file to the place the index.cfm is located.
(/var/www/html/test/)

The 'com' folder is in /var/www/html/test/com

I'm still geting the same error 'Could not find the ColdFusion Component fileexplorer.com.blueinstant.FileManager.'

I'm sure that MX7+ is setup okay, as the 'File Upload with ColdFusion Flash Forms' and 'Showing an image after upload' applications are working fine from the same folder!

Could it be that I'm missing the 'Component fileexplorer.com', or do I need to move the 'com' folder to an other place?

Thanks again for any info about this...
Laura
Wally,
Make sure you have the Application.cfc file in place.

Noel,
The settings assume you unzipped the file in a folder called fileexplorer in the root of your website. That is not your case, so...
Assuming the root of your website (where your public files are) is at /var/www/html, then you need to change this in the ini file:
servicesPath=test.services
managerComponent=test.com.blueinstant.FileManager

Hope that helps
Kevin
46. Kevin wrote on March 10, 2006 at 1:48 PM
First off, this is a great tool! Thanks for taking the time create it!!

Next, my quetion...

We typically don't put our CF sites under the InetPub\wwwroot folder. We use a folder at the same level as wwwroot. We do this to keep the CFIDE directory out of the Web Tree for security reason (we don't want people to be able to access those files via the Web).

It seems like CFFORM automagically includes calls to the CFIDE/Scripts folder for CFFORM js and cfm files in order to work properly.

I tried to just copy the CFIDE/Scripts folder, the scripts inside, and the css and xml folders into our webroot. That got me a bit further in loading the application (got past the JS errors).

However, when I try to browse the directories or files within a directory using the app, i just the get pink-ish error strip at the top of the page with no text explaining what the error is. When I click on items, the browser indicates it is trying to read from the site and the progress bar in the pink-ish error bar at the top of the screen loads and progresses to the end very quickly. However, nothing happens.

If I upload a file, it actually uploads the file to the correct directory, but I cannot create a new folder, browse the folder tree (if just displays &quot;getting sub directories&quot; and then doesn't do anything), or view the files in a folder.

I'm assuming that there is another piece of the CFIDE directory that is missing and causing this to fail. It seems like maybe CFDIRECTORY tag isn't happy for some reason. But CFDIRECTORY works just fine in other places on the same Web site.

Have you (or anyone else out there) ever tried to run this app outside of the main wwwroot directory? I know we've ran into issues with serving CF sites outside the wwwroot in the past, but can usually find a way around them...

Thanks for any info on this issue!!

Noel
47. Noel wrote on March 10, 2006 at 4:19 PM
Laura,

I've now moved the FTP and FileManager.cfc files to the same place as the index.cfm (and changed the .ini file), and all is working fine now.. (it's only a test server).
Later today I'll move the files one by one (and set the path in the .ini), and see what's going wrong with the path in the .ini file.

Thank you for your help.
Noel
48. Noel wrote on March 11, 2006 at 3:11 AM
Is it just me?? When I downloaded a .gif or .jpg, with ASF File Explorer they do not work anymore (the image is damaged)
It looks like uploading is not the problem as when I download the uploaded image with a FTP program, all is fine.

Someone here who can also test this?
6dust
49. 6dust wrote on March 11, 2006 at 7:55 AM
Noel: Might this be because you have the DevNet version of CF? If you view the source of any other CF page, is there a META tag at the top saying something about DevNet? If so, that's the problem. That tag is put on EVERY output that comes from CF, including these images, which would corrupt them.
Noel
50. Noel wrote on March 11, 2006 at 8:45 AM
6dust.. No I've got the paid Standard Edition here.. No META tag at the top saying anything about DevNet! :-)
Marilyn
51. Marilyn wrote on March 12, 2006 at 9:58 PM
As everyone agrees - great code, thanks for your efforts.

Thought I had everything configured but I missed something. Get a CFFORMITEM attribute validation error because the type is script. Specifically
<cfformitem type="script" is where the error is thrown. Help/Suggestions - new at this and it's late ;-].

Thanks
Laura
Noel,
I don't see any problem with images. I would open the image in notepad to see if there is anything extra added.

Marilyn,
You need the CF Updater (CF 7.01)
Laura
Kevin,
I also have all my websites in a different directory.
I think you have a problem with the remoting set up. You can read how to set it up in this post (the past paragraph) http://www.asfusion.com/blog/entry/introduction-to-flash-remoting
Marilyn
54. Marilyn wrote on March 12, 2006 at 11:01 PM
Thanks Laura,
Found the problem right after the post naturally. Pays to update on a regular basis. Downloaded the coldfusion updater. Goodnight.
Felipe
55. Felipe wrote on March 15, 2006 at 6:18 AM
Im very anxious to get this program working but continue to get this error. Does anyone have any idea what setting I need to modify.

Thank you

Felipe


Attribute validation error for tag CFFORMITEM.
The value of the attribute TYPE, which is currently &quot;script&quot;, must be one of the values: HRULE,HTML,TEXT,VRULE,SPACER.
Neil
56. Neil wrote on March 15, 2006 at 7:45 AM
Hi Felipe.

It looks like you don't have Coldfusion 7.01 installed.
The 'script' item isn't supported in CFMX 7.00.

Thanks,

Neil
Felipe
57. Felipe wrote on March 15, 2006 at 11:23 AM
Thanks for the quick reply it seemed that work.

has anyone been able to get it to work with an FTP site. Is there a way to get it to prompt for the user name and password. It seems even when i put the user name and pssword i get the following.

The parameter PASSWORD to function init is required but was not passed in.

best regards

felipe
Kevin
58. Kevin wrote on March 15, 2006 at 3:25 PM
Laura...

Thanks for the link to your article...That was it exactly!! Things are up and running smoothly!

Thanks again for taking the time to create this tool, and for making it available!

If my client decides to use it, i will definitely be getting you something from your wish list with my first check from them!

Thanks again!
Kevin
John Farrar
I was wondering if there is a way to include a flash movie (like you do inside of flash for including a nested movie)...? I noticed this file had a couple of swf files in it and thought perhaps this is something you were doing.
Thomary
60. Thomary wrote on March 18, 2006 at 8:08 AM
I would like to purchase an Amazon gift certificate to Thank you all for the help you've provided me. It seems I need your email address. I have never used Amazon before, so maybe I'm wrong. Or maybe you could add gift certificates to your wish list?
Laura
Kevin,
Thank you!

John,
You can include movies by using cfformitem type="html" or cftextarea html="true". That is how we get the file upload libraries and how we show the loading animation.

Thomary,
Thank you! we added a certificate to the wish list!
Tom
Laura - This is a great little ap! I just have one small issue. I can create folders just fine, and i can upload to my main folder no problem. However if I try to upload to a sub directory nothing happens. I click the 'upload' button but it doenst do anything. It's very strange. Like i said, if I select the root directory and hit 'upload' it all goes fine. I feel like it's some simple setting that im missing but i just cant think of.

TOM
Tom
More wierdness. The upload function works on a PC, but not on a Mac. I open it up in IE or firefox on the pc and it works fine. I try it with Safarri and Firefox on the mac, it just sits there. VERY wierd.
Ed Welch
64. Ed Welch wrote on March 22, 2006 at 7:25 AM
does anyone know how to create a AS countdown timer to refresh a grid in a cf flash form? I want to refresh the contents of a grid without refreshing the entire cfm page.

Thanks
Ed
Aaron
Awesome stuff here, you guys are probably my favorite blog. I was wondering if the cfinput tag has something similar to the onblur event in javascript. I am trying to pass dynamically generated text field variables to actionscript so they can be passed to a CFC. I dont want to take up too much space here, so if anyone has an idea or needs to see the code I will post it on my blog and link as needed. Thanks in advance to everyone for the input.

--Aaron
Neil
66. Neil wrote on March 30, 2006 at 3:09 PM
Arron,

The onChange event won't work? You can see all of the events that the TextInput field throws here: http://livedocs.macromedia.com/flex/15/asdocs_en/index.html

Just scroll down on the bottom left panel, and click on the TextInput link. Then, on the right, scroll down and take a look at the events. It looks like the equiv to onBlur is focusOut....
Aaron
Neil,

Thanks for the response. I tried what you suggest, but the event does not fire. I assume this is because I am using coldfusion mx 7 with flash forms? Thanks for the help.
Aaron
Sorry forgot to add the the onchange wont work because it fires at every change. I need to pass either a list or an array of text field values to actionscript.

--Aaron
Neil
69. Neil wrote on March 30, 2006 at 5:52 PM
Aaron,

It should definitely be working - all we write here are flash forms w/ CF7. Did you install the updater? I know for a fact that that the onChange event fires for text inputs - I use it literally in almsot every single form we write.

The onFocus event, however, I can't remember using so I can't speak to how it works. Did you take a look at the link I included in my last post? That link will show you all of the events that are available to the text input form element - or any other flash form element.

What is it that your specifically trying to do? Maybe I can help you out.
C
70. C wrote on March 30, 2006 at 7:17 PM
This works great. However, I tried resizing the screen using firefox on a pc and it has shifted the right pane down. I did this with safari on Tiger and the right pane completed disappeared. Any way of preventing the shift? The only way I could think of was to make a javascript call to open this app and code it for no resize ability.
C
71. C wrote on March 30, 2006 at 7:29 PM
Oops. I didn't see those 3 comments about the resizing.

Answer is:
You just need to put a width on your cfform. If you put a width on the file explorer, you can resize your browser and the panels will stay in place.
Posted By Neil / Posted At 2/18/06 5:44 AM

Thanks NEIL!

GREAT APP!
Aaron
Neil,

I have no problems with flash forms, I have been using the extensivly, with no problems. What I am doing is reading an XML Config file to dynamically generate the form fields. Then I need to read the values of the text fields in actionscript so I can pass them to the CFC to write a new XML file based upon user input. Since the config file is not static I need to be able to pass the field name to the Actionscript. Thanks again.

--Aaron
Aaron
Neil,

I have no problems with flash forms, I have been using the extensivly, with no problems. What I am doing is reading an XML Config file to dynamically generate the form fields. Then I need to read the values of the text fields in actionscript so I can pass them to the CFC to write a new XML file based upon user input. Since the config file is not static I need to be able to pass the field name to the Actionscript. Thanks again.

--Aaron
Neil
74. Neil wrote on March 31, 2006 at 8:48 AM
you want to pass the field NAME to a cfc? wow.... ummm, I would probably have a hidden text field that contained a comma delimited list w/ all of the field names.

In order to fire the event on a text field when the form loads and then the value is entered into it by the programming, you need to have an event listener. Look in the site index of the AsFusion website for &quot;knowing when the form data arrives&quot; or something like that, and for a text input the event you want to trap is, I think, valueCommitted.

Hope this helps. Sorry if I'm not understanding.

nb
Aaron
Neil,

I got it to work. For some reason, probably coding error on my part, I couldnt get the onblur even to fire actionscript. It works now, so I am dynamically setting an actionscript array onblur. I will post a link to the source code when I get this fully functional. Thanks for the assistance.

--Aaron
TOM
76. TOM wrote on April 04, 2006 at 1:49 PM
Anyone else having a problem with this running in Safari or Firefox on OSX? I can upload to the main directory from these browsers, but no sub directories. It works fine on PC .. which has me completely confobulated.. . .

Any help would be great..

TK
John Barrett
Hi Tom,

Should work on the mac, once I figured how how to configure it for the mac, works great!

What problem are you having? Check you .ini file,and make sure you have your path correct.
Maybe something like:
rootDirectory=/Library/Apache2/htdocs
and
treeRootLabel=/Library/Apache2/htdocs/fileexplorer/icons

If the main application loads sounds like you might have the path right. It works great on my powerbook. I have it working on Sfari, forefox, and camino.

Once the application loads open the main file to get the sub-directories, and click on the main folder to get the main wwwroot files. I made this mistake myself, but I am a real newbie.

If I can help in any way feel free to contact me.
John
TOM
78. TOM wrote on April 05, 2006 at 7:11 AM
I should have clarified, The files are running on a PC server, but when i access them from a Mac browser is where i run into wierdness. I can upload to the Main folder, but cannot upload to subfolders at all. It just sits there and does nothing. However, when I browse to the same page on a PC i can upload fine. I should note I am running the website on IIS not Apache.. would that make a difference? It's very odd, and if my wife didnt insist on using her Mac it wouldnt matter in the least to me.

TK
Lachie
Love the app!

Has anyone run this over an SSL? I have it set up in several locations on the same server but tried over an SSL and it loads up ok but when I select the tree on the left it says &quot;getting directories&quot; and never actually loads them.

Any thoughts?

Kind Regards

Lachie
John Barrett
Hi Tom,
That is an odd issue. I use it on the localhost, sounds like yours is online. Maybe talk to hosting company.Ruunig Apache on windows should not be a problem. I am lost,and have no idea how to help,sorry:(
Tjoolder
First I would like to say that this is a very cool app! Keep up the good work!
But I have a question.
Neil said: Although suppously you can upload files of any size, the player officially supports up to 100MB.
Is there a way to change it?
So I could upload/download files of 500Mb for example?
TIA!
Poolio
82. Poolio wrote on April 13, 2006 at 3:20 AM
I am trying to create an app which uses the cfdirectory explorer functionality of the fileexplorer app but also enables users to check the files they want and save them to the database. Similar to a big email attachment area. The problem I am having is that it does not pass values of the files in from the grid to an action page. Any ideas?
Tom S.
83. Tom S. wrote on April 17, 2006 at 4:56 AM
Regarding the SSL (https) sites, I was receiving the &quot;not of the binary AMF protocol&quot; error in my flash.log, and couldn't figure it out. Tested the CFC, it worked, looked at my gateway config XMLs, etc., and it turned out to be the function setUpRemoting(); the connection has http hardcoded, and after changing to https, everything was great. Just thought someone might benefit.
BM
84. BM wrote on April 21, 2006 at 6:29 PM
Thanks for a great app! Unfortunately, I'm having difficulty when attempting to run this from within another directory in another app.

When I attempt to expand the dir tree, I get the following error: &quot;Service fileexplorer.services.fileExplorer not found.&quot;

I continue to get this error even though I update the .ini file to reflect the new path to the services dir. Works great when the fileexplorer dir runs form the web root. Can I not run this from a lower level directory?

Thanks.
Bm
85. Bm wrote on April 21, 2006 at 6:37 PM
Never mind - solved the problem. I hard coded the path in the setUpRemoting() function.

But I would still like to know aboutbthe multiple dir ...?

Thanks.
Laura
BM,
When you make changes to the ini file, make sure you refresh the application by changing its name, restarting CF or running onApplicationStart().
keith
87. keith wrote on April 25, 2006 at 6:12 AM
When I attempt to expand the dir tree, I get &quot;Service fileexplorer.services.fileExplorer not found.&quot;

I continue to get this error even though I update the .ini file, I have changed the application name to refresh the application. Any ideas?
TW
88. TW wrote on April 28, 2006 at 11:27 AM
I downloaded ASF File and put it in the web root directory; I change the root Directory and tree Root Label in the fileexplorer.ini file. The flash form comes up fine, but when you click on the directory I get this error; Service fileexplorer.services.fileExplorer not found. The error changes when you change the service path. I have tried to following combination

;---- servicesPath -----
;the path from your web root to the services directory

servicesPath=services

servicesPath=fileexplorer.services.fileexplorer

servicesPath= fileexplorer.services

Anyone have any Ideas?
Larry
89. Larry wrote on May 03, 2006 at 6:42 AM
This is a wonderful application.

Someone prior asked about moving files between directories. I know it is not a feature now, but is it planned?

This would be vital to my users to easily move files between folders.

Is it possible to add drag and drop fucntionality to accomplish this?

Thanks.
Laura
Keith,
The path depends on your web directory structure. It is still looking for the services at /fileexplorer/services in your web root. If that is not your path, then you need to change it in the ini and refresh the app as you describe.

TW,
Same thing, your app it is still looking at the old path. When you make changes to the ini file, make sure you refresh the application as I explained earlier (the settings are cached in the application scope so that they don't need to be read each time). I can't tell you what to write in the ini file because that depends on where you have the files with respect to your web root (/)

Larry,
Thank you.
Moving files was not in the TODO list. I just added it. Using drag and drop would be great, but no so easy to implement as we would need to handle errors, duplicates, etc. It can be done, of course, we just need ot make intuitive.
Thomas Moore
what about this error:

Base path does not exist

The error occurred in /home/httpd/html/nevadapower/fileexplorer/com/blueinstant/FileManager.cfc: line 38

36 :       <!--- check that the base path exists --->
37 :       <cfif NOT directoryexists(variables.basePath)>
38 :          <cfthrow message="Base path does not exist"/>
39 :       </cfif>
Laura
Thomas,
It means that the rootDirectory setting you wrote in the ini file does not exist. :)
Read the comments in the ini file for help on what to write there.
capcomms
93. capcomms wrote on May 09, 2006 at 5:23 AM
As Tjoolder asked a few weeks ago, how big a problem is the 100Mb limit? I need something like this for a Digital Asset Management system and will need to handle assets of up to 1gb in size.

Regards

</cliff>
James W.
94. James W. wrote on May 16, 2006 at 3:27 PM
<p>This is exactly what I need, but I don't have much experience with Flash Forms. I want to incorporate this into one of my websites, but like I said, I'm not sure how this works. I wanted to know if you have any documentation about using this code, or even if you can give me some of the basics about calling these CFCs inside of Flash Form. I apologize in advance if this question is too basic.</p>
James W.
95. James W. wrote on May 17, 2006 at 9:08 AM
One other thing, can I use this code as part of form that uses a POST method to pass other values in addition to the uploaded file information? I saw something in the fileupload explained tutorial that made me think that only the file(s) upload would be the only values that could get passed from the form.

Thanks
Tim V.
96. Tim V. wrote on May 17, 2006 at 4:16 PM
Fantastic App! Thanks for the splendid effort! Works great for me with the following exceptions:

1> When I try to rename a file I get the following error: "Attribute validation error for tag CFFILE."

2> When I try to rename a directory I get a message saying: "The specified Directory attribute C:\Data\Webs\Engineering\test cannot be renamed to NewDirectory C:\Data\Webs\Engineering\test2"

3> When I try to delete a directory I get the message: "The specified Directory attribute C:\Data\Webs\Engineering\test2 cannot be deleted"

My directory setup for FileExplorer is as follows: C:\Data\Webs\Engineering\filexplorer\ and as I mentioned everything else works great; upload, download, create folder.

Can you help please? Thanks
Tim V.
97. Tim V. wrote on May 17, 2006 at 4:30 PM
Oh and one more thing that I forgot. When I try to delete a file I get a message saying: "ColdFusion could not delete the file "C:\Data\Webs\Engineering\test\i1040.pdf" for an unknown reason"

Okay - that's all - hope you can help. Thanks again.
Laura
capcomms,
Many people have experienced problems with large files. Nothing we can do since it is a player issue.

James,
Unless you want to modify the app, you don't need to know ActionScript or remoting. As far as documentation, there is a Readme file for install instructions, and the application.cfc and ini files have lots of comments explaining what to do. However, if you want to learn about remoting and flash forms, I would recommend looking at the posts in the Flash Remoting category. Not that you will find everything you'll ever need to know, but at least it will get you started. Otherwise, go to the source, Adobe's docs.
Regarding sending additional info, the answer is no. Only Flash player 9 adds that functionality.

Tim,
Have you checked permissions on those folders/files? I would manually run <cffile> on a regular cfm file with those folders and files as attributes and see if I can get more information about the error.
Tim V.
99. Tim V. wrote on May 18, 2006 at 7:32 PM
Hi Laura,

You were right - it was permissions. When I changed the folder permissions everything worked. Thanks again for a terrific product and great support!

Tim
Chad Wagner
Tom, I have EXACTLY THE SAME ISSUE. My clients can upload on a MAC to the root directory only, and not to any sub-directories. I have tried the ASF file upload that comes as a standalone and it works great on a mac, but for some reason when they load it into the ASF file explorer, the MAC compatability is lost. What the heck???
Tom
101. Tom wrote on May 24, 2006 at 12:55 PM
Chad - THANK YOU! I was begining to think i was crazy! I still havn't figured it out. I in fact gave up on it for a while. Here's hoping that with anohter person having the same issue someone will look into it!
Todd
102. Todd wrote on May 25, 2006 at 7:10 PM
Hi Laura,

I absolutely love this app! I am currently using this in a shared hosting environment and ran into an issue out of nowhere. I am now getting the following error when I try to expand the root directory:

Element FILEMANAGER is undefined in a Java object of type class [Ljava.lang.String; referenced as

I haven't made any changes and don't have the ability to bounce the CF server. Any ideas?
Roger
103. Roger wrote on May 30, 2006 at 11:33 AM
My web hosting doesnt allow for CFDIRECTORY. Is it possible for the ASP File Explorer to work without it enabled?

roger
Laura
Todd,
Did you make any change to the Application.cfc file? Are you using session storage? Try changing the name of the application and see if you still have the error.

Roger,
No, unfortunately ASF File explorer requires cfdirectory. You could, however, implement a manager that uses Java to get the directories, but I doubt your host will let you do that if they don't let you use cfdirectory.
Will
105. Will wrote on June 10, 2006 at 7:45 PM
Laura, I used a version of your code to download a file in my own code. The code was from your download.cfm. Your code is <cfheader name="Content-Disposition" value='attachment; filename="#url.filename#"'>
<cfcontent type="#mimeType#"><cfoutput>#filecontent#</cfoutput>. I changed to the code to    <cfheader name="Content-Disposition" value='attachment; filename="s4004"'>
   <cfcontent
   file="D:\INETPUB\highlandshistoricalconsulting\projects\project3\catherine\s4004">
   deleteFile = "no">
. This worked fine using Mozilla Firefox browser, but failed using IE 6.0. Can you explain why? Is there a fix?

Thanks
Ed
106. Ed wrote on June 15, 2006 at 1:32 PM
i have setup the app and it works well except the upload...I get the "MS Windows connect to" screen asking for username and password on Win XP and I have added this information and nothing happens...the upload progress states 100% successful but no file in the folder...any ideas?
Laura
Ed,
I don't think Flash Player supports windows authentication.
Laura
Will,
I don't know, but it might be that since your file name doesn't have an extension, it doesn't work on IE. I also had <cfcontent type="#mimeType#"> in my code to help the browser guess what to do with the file.
George
I have been trying and trying to add a Session.userid. The session gets created on the index page and looks like: Corp or Sales or Images (basicaly the folder names that are already on my server). I change the name each time I try to start fresh most of the time I get errors like mentioned above. Cant find method getDirectory , Java.Lang not found etc. What exactaly do I need to change? I changed the fileexploer.ini to "session" I enabled sessions in an Application.cfm page. Lastly added & #session.userid# to the end of line 64 in the Application.cfc just like the example. What else could I be doing wrong? Thanks Great work
Conrad
110. Conrad wrote on