Account Management System
Introduction
The account management system was a project of GSOC 2013. The idea was to create a basic account management and back office administration web application that allowed users to create tickets ingame/outgame and moderate those.
The main goal was to deliver a reusable library of functions that could be integrated with any CMS and to provide a demo website that could be used.
We used the Ryzom Core Drupal Module written by Botanic and Tobi as starting point and we even expanded it by including the libraries functionality.
What does the AMS consist of?
A reusable 'ams_lib' which holds classes and functions.
A WWW demo website that uses the 'ams_lib' (You can get this up and running in a few minutes and it's probably all you need)
An extended drupal_module that uses the 'ams_libs' functions.
A HTML website made by doxygen that documents everything.
Status
Ams_LibWWW-versionDocumentationDrupal_Module
Functionality
Users:
Create a ticket and reply on it
View the tickets created by the user
Change user settings (even when the shard is offline)
Receive email updates when a new reply is added on a ticket of them
A reply on those emails will add the reply to the related ticket.
Admins(moderators):
Manage user accounts
Make users moderator or admin
browse user's tickets
Create a new ticket for a specific user as admin
Create a new support group (and link an email to it)
Add mods to support groups
Assign ticket to you
Forward ticket to a support group
Add hidden messages to a ticket only viewable by other mods
Browse ticket queues or create one dynamically
Sync changes after the game server is back up after being down for a while
Browse the log of a ticket
Browse additional info sent along when a ticket is created ingame
All the above can be done while ingame too
General
Separation of ingame & outgame layout (using smarty templates) which makes changing the layout an easy job!
Supports Remote Database (website, ticketing and shard can run on remote databases)
Stores changes if shard database is offline then updates shard database when it is online
Supports multiple languages
Supports he creation of multiple ingame layout schema's
Supports in-game "create account" by using /register url
Additional pages