Sencha File Storage
AJAX file storage with drag-and-
drop, versioning, and Web-DAV
access
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
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
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
Operating
System
Drag-and-drop
 http://www.html5rocks.com/en/tuto
 http://stackoverflow.com/questions
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?
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?

]po[ Sencha File-Storage Specs

  • 1.
    Sencha File Storage AJAXfile storage with drag-and- drop, versioning, and Web-DAV access
  • 2.
    Requirements  Attractive AJAXGUI.  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 SenchaExt-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  SenchaTree 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
  • 5.
  • 6.
    Open Questions  Howto 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  Howto 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?