"WebFileBrowser: a Seaside application for accessing files" by Mike Filonov on at mikefilonov/webfilebrowser under #seaside, #filesystem, #cloudapp   1 thanks

WebFileBrowser: a Seaside application for accessing files

WebFileBrowser is a Seaside application which allows you to manage files via web interface. WebFileBrowser can be configured to work with a local file-system or with a remote file-system such as WebDAV or FTP server.

The applicaiton is designed to be an additional tool you install into a Seaside server and use it for administrative purposes. Please note that it is not designed to be a file sharing application due to performance limitations.

WebFileSystem allows a user to perform basic file operations using a browser: list directories, create new folders, upload/download/delete files.

The project is very useful when Pharo is used as an appliance and there is no easy way to access files inside the server (like at Pharocloud). By installing WebFileBrowser you can do backups and updates of your projects.

1. Screenshot

2. Project location

The project is located at SmalltalkHub: http://smalltalkhub.com/#!/~mikefilonov/WebFileBrowser

3. Installation

To install WebFileBrowser execute the following code in a Pharo workspace:

Gofer it
    smalltalkhubUser: 'mikefilonov' project: 'WebFileBrowser';
    configuration;
    loadDevelopment.

This operation will download all project's dependencies and the project itself. After installation is done you may just register the app into a Seaside server at any location you want.

4. Seaside configuration

WebFileBrowser has 3 class-methods which helps you to register and configure the applocation in a Seaside Server.

  1. registerAt:withLocal: for local file-system access
  2. registerAt:withWebDAV: for WebDAV server access
  3. registerAt:withFTP: for FTP server access

The first parameter is a Seaside path where you want application to be registered. The second is a protocol-dependent URL or Path of a direcotry which you want to be a root of the application.

In case of local file-system the second parameter is a path relative to a working directory. In case of webdav or ftp the second parameter must be a full URL of a location you want the app to be connected too (ex.: http://user:password@server/folder for WebDAV)

Execute the following code to register WebFileBrowser on image directory at '/wd' Seaside URL:

WebFileBrowser registerAt: 'wd' withLocal: './'

The application is not limited to one registration so you may have several location registered on different URLs. The following example shows how you can share several linux folders:

WebFileBrowser registerAt: 'pike' withLocal: '/home/pike'.
WebFileBrowser registerAt: 'kirk' withLocal: '/home/kirk'.
WebFileBrowser registerAt: 'spock' withLocal: '/home/spock'.

5. Read Only mode

You may register the application in a read-only mode if you use ReadOnlyWebFileBrowser instead. In this case the app will not have modification buttons and it can be used only to list and donwload files.

6. Related Projects

  1. FileSystemNetwork project http://smalltalkhub.com/#!/~UdoSchneider/FileSystemNetwork
  2. Bootstrap project http://smalltalkhub.com/#!/~TorstenBergmann/Bootstrap
blog comments powered by Disqus