File Manager

part of the ArsDigita Community System by Ron Henderson and Karl Goldstein

The Big Picutre

File-manager is a simple tool for allowing content managers to work on a site even if they don't access to it via ftp or shell accounts. Text files can be edited using HTML forms, and binary files like images can be uploaded to replace the existing content. The set of files and directories that content managers are allowed to work on can be configured in the parameters file. If your site uses version control, then file-manager will also take care of recording all changes in the version control system.

In addition to editing existing files, content managers can also add new files to the system and create directories.

The user interface looks like a file brower. It uses the following icons to indicate file status and type for various items under the server's pageroot:

Folder
Editible text file
Editible image file
Locked file, e.g. a file under version control with local modifications.
Forbidden file that cannot be edited or uploaded using file-manager.

You can click on text or image file icons to see a preview of the item, and you can click on file names to edit or upload new content. Clicking on a folder will navigate to that directory and display its contents. Forbidden files cannot be operated on.

Version Control

File manager is fully integrated with CVS (the version control system used by all ArsDigita development projects). All CVS transactions are handled by the version control module. If you want to use version control in conjuction with a remote repository, make sure you follow the instructions for setting up access to a remote repository.

Permissions

Keep in mind that all file operations (uploads, edits, creating directories, etc.) are executed by the running AOLserver process. This means that permissions are determined by the umask of the corresponding account, usually nsadmin. As a minor security check, file-manager does not allow files names with /'s or spaces, making it more difficult for users to create files outside of the server's pageroot.

Parameters

The following set of parameters control the behavior of file manager:

[ns/server/yourservername/acs/file-manager]
EnabledP=1
; use version control?
VersionControlP=1
; extensions of files that be can edited/uploaded using file-manager
Extensions=html,adp,jpg,gif
; directories to ignore
Ignore=admin,CVS

The VersionControlP flag controls whether the version control module should be used to record all changes to files. The Extensions. parameter is a list of file extensions that correspond to editible files. The Ignore parameter lists directory names that should never appear in the file listing.

Future Improvements

The ability to delete, rename, and move files and directories would be nice, and perhaps set permissions.


Ron Henderson