MichaelHoffmann/AGORA — Issue #165: Overall status of Project serverside features
Author: JoshJGT
Created: 2011-11-16 20:10:08+00:00
State: open
Labels: Feature - Immediate

thus far, we can:

* Create a project
* Add and remove maps from a project
* Add and remove users from a project
* Get a list of projects
* Load a particular project

Not yet featured:
* Changing a user's level (short-term workaround: remove him and re-add him)
* Joining a project via password rather than by being added directly

The multitude of features IMPLIED by the existence of projects, including but not necessarily limited to:
* Deleting a user account should remove that user from all projects
* Deleting a map should remove that map from its project
* Loading a map needs project-based restrictions
* Inserting into a map needs project-based restrictions
* Listing maps needs project-based restrictions
* My maps also needs project-based restrictions. This is counter-intuitive until you realize that nobody wants to leave maps on their maplist that they can no longer load (because they've been removed from the project after working on a map).
* Changing a map's info may need project-based restrictions (unless we want to allow only the map's creator to do this even inside a project)

Known bugs:
* A map can be in multiple projects. I have an idea of how to fix this, which also makes listing maps a great deal easier. However, it requires changing the database structure a bit. Shouldn't be a problem, but has to be done before I get that far or else a lot more stuff has to be changed.