Ajax File Browser Design
From MWCSWiki
Deadlines
| Feature/Fix | Owned by | Deadline |
|---|---|---|
| <s>Detects browser</s> | Elliott | 4/23 |
| <s>Remove sortables feature</s> | Sam | 4/23 |
| <s>Make directories droppable</s> | Elliott | 4/23 |
| <s>Make items draggable</s> | Elliott | 4/23 |
| <s>Delete file tree pane (replace with icons)</s> | Sam/Elliott | 4/23 |
| <s>Put username in cookie (made a getUser() function on the server)</s> | Eric | 4/23 |
| <s>Lighter color for help screen</s> | Sam | 4/23 |
| <s>Details in list view</s> | Sam/Elliott | 4/25 |
| <s>Shortcut keys | Elliott | 4/25</s> |
| <s>Add creative commons logo, W3C validation logo, Get Firefox logo, and possibly a project logo</s> | Sam | 4/25 |
| Logout button | Sam/Eric | 4/25 |
| Install scripts in each user's directory | Eric | 4/27 |
| <s>Right-click menu | Elliott | 4/27</s> |
| Sort files | Sam | 4/27 |
| <s>Refresh directory after uploading</s> | Sam | 4/27 |
Main Features
- <s>Create directories</s>
- <s>Delete directories</s>
- <s>Delete files</s>
- <s>Preview files and information (mouseover tooltip)</s>
- <s>Download files/directories</s>
- <s>Upload files</s>
- Show space available
- <s>Address bar (typable)</s>
- Selectable themes
- <s>Different views (list, icons)</s>
- List view displays file size, permissions, modification date
- Drag-and-drop files and directories
- <s>Automatically arrange/cleanup files in the window</s>
- Right-click options such as properties, delete, copy, download, etc.
- Shortcut keys
- Turn on/off hidden files and directories
- Search for files/directories
Priorities for beta
- <s>Copy files/directories</s>
- <s>Move files/directories</s>
- <s>Download files</s>
- <s>Upload files</s>
- <s>Help screen</s>
- <s>Default icon (check if picture exists first)</s>
- <s>List view (change CSS file)</s>
- Logout button
- <s>Better color scheme</s>
- Cookie for username
Architecture
- Model
- Perl scripts on the server
- Authenticates users
- Performs actions on files and directories
- Returns directory listings and information to client
- View
- HTML, CSS, and JavaScript
- Client script manipulates the user interface, formats the display, provides tooltips and other interface features
- Calls functions provided by the model (server)
- Control
- Client-side JavaScript
- Sends requests to the model (server) and returns the results to the view

