Skip to content
This repository was archived by the owner on Sep 4, 2022. It is now read-only.

Experiment Repo Docs

heryandi edited this page Sep 20, 2013 · 12 revisions

Introduction

Experiment Repo is a website for researchers to share with others VM image that is ready to run their experiment. The source code is available here. This website is not completed by the end of GSoC.

This website is developed with similar stack as Mininet Repo. Django is used as the framework with Bootstrap and jQuery as the front-end library. Reason for choosing similar stack is for less headache during maintenance later.

Features

Core Features

  • Enable user to create and share their experiments.

Other Features

  • User registration / login with GitHub.

Implementation

Core Features

There are 3 apps:

  • experiment: The app which manages the Experiment objects. It also provides the views handling the S3 CORS upload.
  • experiment_repo: The so-called main app, it stores the settings and the top level URL dispatcher.
  • experiment_user: The app which manages user.

Direct Upload to S3

This part is useful for many other applications, therefore I have taken it out to separate project. The usage documentation is provided there.

Image Deletion from S3

The S3 CORS REST API does not provide an API to delete an image. Therefore, I have to use this library to do the deletion instead.

Other Features

User Registration / Login with GitHub Account

This is done in the same way as done in Mininet Repo. Please consult the documentation here.

Unit Tests

No unit tests is written yet. I would love the chance to learn and practice TDD but I don't see the closing deadline as a good time for it, so I decided to give up unit testing.

Unimplemented

This section lists the section which should ideally be implemented to be considered complete:

  • There is no permission management yet. Any user can update any uploaded experiment.
  • The searching feature is still simple. It simply does case insensitive matching on the fields of an Experiment object. A more powerful search will be a great thing.
  • An experiment can contain only text description. It should ideally be able to contain images as well so it looks more appealing. If this is implemented by letting users upload arbitrary HTML, it will be a big security hole.