]po[ Sencha File-Storage Specs

6
Sencha File Storage AJAX file storage with drag-and-drop, versioning, and Web-DAV access

description

]po[ Sencha File-Storage Specs

Transcript of ]po[ Sencha File-Storage Specs

Page 1: ]po[ Sencha File-Storage Specs

Sencha File Storage

AJAX file storage with drag-and-drop, versioning, and Web-DAV access

Page 2: ]po[ Sencha File-Storage Specs

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

Page 3: ]po[ Sencha File-Storage Specs

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-DAVSenchaProxy

SenchaStore

File-Storage

Content Repo

RE

ST

Inte

rfac

e

Page 4: ]po[ Sencha File-Storage Specs

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

Page 5: ]po[ Sencha File-Storage Specs

Operating System Drag-and-drop

http://www.html5rocks.com/en/tutorials/dnd/basics/

http://stackoverflow.com/questions/4257744/drag-and-drop-from-windows-explorer-to-web-browser

Page 6: ]po[ Sencha File-Storage Specs

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?