Create an online system for collaboration in developing mods for SE4. Can be expanded to other games, such as SE5.
Will support many mods. Possibly include a basic forum for each mod for discussions.
Support rolling back to previous versions of items.
Exportable data to an actual mod installable into SE4.
Database Schema
Users Tables
users table will store information on registered users.
users_permissions table will store information on which mods users have permissions on.
Mod Tables
mods table will store a list of all mod projects maintained by the site.
Each mod will have its own set of tables to make access and maintenence easier. Based on codebase of Adamant Mod Database.
modname_details will store basic information on the mod project.
modname_news will store mod project news.
modname_filename will store data on the items specific to the filename data file. Will store all versions of an item for history of changes purposes. Each item will have parent pointer pointing to the item it is a new version of and a child pointer pointing to the item that replaces it when a new version of the item is uploaded. Latest version is determined by null child pointer.
modname_forums will be several tables for discussion forums.
Permissions
0 - Guest: Can view and download mod.
1 - Modder: Can submit new/altered items to the mod.
2 - Moderator: Can moderate mod forums and roll items back to previous versions. Can submit news to mod news page.
3 - Mod Coordinator: Primarily for site administration purposes. Mostly the same as Moderator, with additional priveleges to promote/demote users. Will be able to replace self with one of the Moderators to hand over administrative control.
4 - Site Admin: Moderator powers in all forums. Can create new mod projects and assign users to them.
Miscellaneos Pages
Page where people can register for the site.
Page where moderators can add users to a mod project.
Page where registered users can request the creation of a new mod project.