Repository navigation
Experiment Repo Docs
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.
- Enable user to create and share their experiments.
- User registration / login with GitHub.
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.
This part is useful for many other applications, therefore I have taken it out to separate project. The usage documentation is provided there.
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.
This is done in the same way as done in Mininet Repo. Please consult the documentation here.
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.
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.