Configure the FileManager

Hello everybody,

file manager allows custom configuration for users.

For manage the file manager with custom configuration you can edit the FileManager.xml.cfm located in /fileManager/config/. This is a default file that will be used to set every session within the onSessionStart event.

Set the custom configuration for users.

You can set a custom configuration for users with this component instance set into the session scope "fileManager.metadata.Config". When you have constructed the object, set the object into the session scope.

<cfset session.config = myConfigObj />

Set the custom root path.

Also you can set the custom root path when you change the configuration file. The root configuration param is "basePath"; this param configures the base directory to start listing.

If you want use the directory outside the wwwroot, I have to edit the absolutePath and remove the comment.

<fileManager>
   
   <config>
      <!-- default permissions if value is * you have full permission-->
      <setting name="permissions" value="*" />
      <!-- write an error if this setting is true -->
      <setting name="logerror" value="true" />
      <!-- disk space value in KB -->
      <setting name="maxDiskSpace" value="60000" />
      <!-- upload size limit in KB-->
      <setting name="sizeLimit" value="5000" />
      <!-- mime type upload permissions -->
      <setting name="mimetypes" value="*" />
      <!-- upload exception management -->
      <setting name="nameconflict" value="makeunique" />
      <!-- relative path -->
      <setting name="basePath" value="fileSystem" />
      <!--
      set an absolute path for explore directory outside the web root
      if this setting is not declared the default setting is expandPath('/')
      <setting name="absolutePath" value="/Applications/ColdFusion9" />
      -->

   </config>
   
</fileManager>

Beta 2 released !

The Filemanager Beta 2 version now is available to download!

Beta 1 released !

The Filemanager Beta 1 version now is available to download!

Plugin in 5 step

ColdFusion FileManager is a web application extensible  with plugin.

You can develop plugin for extend your fileManager installation. First step is create a folder into /fileManager/plugin/ path, for examples ( /fileManager/plugin/myFirstPlugin).

Create a Plugin.cfc file with extends attribute set to fileManager.util.AbsPlugin.

Create a CFC with your server-side action for your plug-in. For this tutorial I've create a ImageResize.cfc for resize image after drop action.

Now, create a Plugin.xml file and edit it.

<plugin id="it.millemultimedia.fileManager.plugins.ImageResize"
      name="ImageResize"
      version="1.0.0"
      provider="www.millemultimedia.it"
      class="fileManager.plugin.imageResize.Plugin"
      type="class">

   
   <services>
      
      <!-- map methods to remote facade generator -->
      <remote type="facade" name="imageresize" use-service="ImageResize" map-to-class="fileManager.plugin.imageResize.ImageResize">
         <method name="resize" />
      </remote>
      
   </services>
      
   <display-objects>
      
      <import>
         <script src="plugin/imageResize/assets/js/imageResize.js" />
         <icon src="plugin/imageResize/assets/ico/ImageResize.png" message="Drop Image file for resize it." />
      </import>
      
      <event>
         <listener target="imageresize" event="onDrop" plugin="fileManager.plugin.ImageResize.handler.resize" ddGroup="gridDDGroup" />
      </event>
      
   </display-objects>
   
</plugin>

The Plugin.xml file, map your CFC to Javascript and create dynamic proxy. (Next Post write the Plugin.xml reference)

Create an other folder called assets/js and assets/ico. On ico folder, save your icon with 64x64 px of dimensions. In js folder create a Javascript file for manager the handlers.

Ext.namespace('fileManager.plugin.ImageResize.handler');

fileManager.plugin.ImageResize.handler.resize = function(dd, e, data){
         Ext.Msg.show({
            title: 'Resize Image ' + data.selections[0].data.name,
            msg: 'Are you sure?',
            width: 300,
            height: 200,
            buttons: {
               yes: true,
               no: true,
               cancel: false
            },
            fn: function(btn){
               switch (btn) {
                  case 'yes':

                     Ext.Ajax.request({
                        url: services.imageresize.resize,
                        method: 'post',
                        params: {
                           source: "/" + data.selections[0].data.relativepath
                        },
                        waitMsg: 'Resize image',
                        sync:true,
                        success:function( response, options ){
                           var res = Ext.util.JSON.decode(response.responseText);
                           var log1 = document.getElementById("logArea").value;
                           if( res.success == true ){
                              document.getElementById("logArea").value = getCurrentTime()+' | Image '+data.selections[0].data.name+' resized\n' + log1;
                              
                              _FileGridPanel.store.reload({});
                           }else{
                              errorLogHandler( res );
                           }
                        }
                     });

                     break;
                  case 'no':
                     
                     break;
               }
            }
         });
   return true;
}

Zip your plugin folder and upload with FileManager, so you make possible install it .

Your plugin is ready.

PlugIn released

Now are avaiable file manager plug-in.

Plug-in:

  • Trashbin (drop your file or directory if you want delete it)
  • FreeSpace (display free space and used space in your configuration)

Coming soon:
  • Media player
  • Zip and Unzip
  • Pdf creator word-ppt to pdf (cf9-only)
  • Image maniputation

File Manager Alpha 3 released

New version are been released. Implements a new features:

Delete file and directories with drag and drop actions to Trashbin;
Log all message into message box;

and many problem solved.

Install file manager

For install File Manager unzip FileManager.zip into wwwroot "/fileManager".

Edit /fileManager/metadata/Config.cfc file and map your file manager default base path directory.

If you want set your personal setting, create an object to fileManager.medatada.Config and set istance into session.config variables.

ColdSpring framework install is required.

Call http://yourhost/filemanager/index.cfm

Enjoy

Use file manager

Features:

  • Create directory: Select a Directory from tree and insert a new name into Create Directory Box
  • Delete directory: Select a Directory and right click to Delete.
  • Rename directory: Click to Directory name and edit into text field.
  • Move directory: Drag Directory and drop to other directory.
  • Upload a file: Select a Directory from tree and browse files, select a file and click Upload button.
  • Move file: Drag file and drop into tree directory.
  • Delete directory: Select a row file and right click to Delete.
  • Rename file: Double click to file name and edit into text field.

First release

First release main features are:

  • Copy & Move Files and Directories by Drag&Drop
  • Directory Tree with on-demand loading of subdirectories
  • Rename, Delete or Create new Directories
  • Upload files just as you like

    • Coming out on February 12 2010.

BlogCFC was created by Raymond Camden. This blog is running version 5.5.006. | Protected by Akismet | Blog with WordPress