School Server/RIT/File Distribution System
An alternative to extending e-book readers - a file distribution system for the server and a client for the XO. The goal of this project is to build an easy system to host files on the server that can be downloaded using the browser activity and possibly a file distribution downloader activity.
This project is broken into two sections, a server and the client.
Project Status
The server is a php script, this is designed to be a quick prototype/test of concept. In the future, it may be converted into a stand alone python server with little or no setup configuration. Please feel free to comment on the discussion page if you think this would be a valuable move, or to just leave it as a php script on the server.
Code
The code can be found at http://gitorious.org/jlew/xs-file-distro
Status
Server: Under development
Client: Pending
Active Project Members
Server
The server will be a php script that will act as a file library for the XO Server (XS). The goal of this script is to build sever that will act as the back end for an application on the XO PCs that will allow a central file library.
Technologies
- Apache
- PHP
- An sql engine. (built on mysql, tested on mysql and postgresql)
Proposed Features
- Upload/Download/Browse API as well as web browser access.
- All files will have searchable meta-data
- Files will be organized by tags which can be filtered
- Admins:
- Add/Delete/Edit files
- Configure admin and set basic permissions of users
Future Features
- Normal Users
- Have public file upload directory
- May manage their own files
- Disk quota for user accounts
- Logging user activity
- Ability to add metadata
- Automatically search known formats for metadata and text
Mile Stones
Ability to upload/download a file with browser | Completed |
Modify File Description | Completed |
Organize files by tags | Completed |
Tag files from browser | Completed |
Limit file and tag list by page | Pending |
Search (filename, description, tags) | Completed |
API for upload/download/manage files | Pending |
Add admin accounts
|
Completed |
Prepare code for localization | Completed |
Client
The second part of the school server file distribution system is a client that can run on the xo. The purpose of the client is to allow a nicer interface to the server then the browser. The client should be able to support all functions as the browser. The advantage to using the client is that it will integrate better into the journal as well as perform better on spotty connections.
Technologies
- Python activity.
- Potentially sql lite database system to mirror the server's database structure for local cache.
Proposed Features
- Local Library index cache
- Ability to download any file to journal
- Ability to upload file to journal (if have permission)
- Mark files for download (used when running off local cache, download next time the server is found)