2. Requirements
Attractive AJAX GUI.
Drag-and-drop of files in the File
storage
Drag-and-drop of files between
the browser and the (Windows)
operating system
Versioning of files
Access to files on the server-
side via Web-DAV protocol
File permissions based on ]
po[ vertical/horizontal
permissions
3. Architecture
Overview
Using Sencha Ext-JS as the client-side Web
browser library
Using REST protocol as defined by Sencha REST
proxy and the ]po[ REST Interface
Using the “file-storage” OpenACS infrastructure
on the server side
File-storage already supports Web-DAV providing
a second access path to the server-side files
File-storage uses the OpenACS content
repository, which provides versioning and meta-
data.
Custom logic is necessary in order to create one
file-storage per ]po[ project.
]po[ permissions are set on a project’s file-storage
using callback functions on im_project
Physical Server
(Linux)
AOL
Web-DAVSencha
Proxy
Sencha
Store
File-Storage
Content Repo
RESTInterface
4. GUI Examples
Sencha Tree layout
Tree-Filelist layout:
Folder tree at the left, files at the right
Windows Explorer layout:
Left side may also show files
WinSCP layout:
Similar to Windows Explorer
DropBox Web layout
6. Open
Questions How to represent and expose
version and meta-data
information on the GUI?
How to store meta-data with
files (creator, data, tags,
comments, custom fields), and
how to expose these meta-
data on the GUI?
7. Open
Questions How to represent and expose
version and meta-data
information on the GUI?
How to store meta-data with
files (creator, data, tags,
comments, custom fields), and
how to expose these meta-
data on the GUI?