The same counts for most other tables that are related to the ticket, they all got a ticket column used as foreign key.Īnother thing that you might notice is the separation between ticket_reply and ticket_content, this is a 1-to-1 relation and this makes it easier to search between the replies if we only need their general information without having to take care of the content. There's also the relation between a ticket and it's log entries, this is done by the ticket foreign key in the ticket_log table. As you can see, a ticket has a ticket_category field and author field, these hold the id of the related row in the ticket_category and ticket_user table. Quite central you can see the ticket table. For each table I made a matching class that handles the info of that table. The database structure is shown in the image below. These features can be easily added in the future! The idea for the tagging was to provide an extra system that allows to query tickets based on their tags (data mining). The idea for the ticket_groups was to provide the ability to bundle multiple tickets together in groups, this could be used for tickets that are alike or are in a weird way related. The tables that are unused are the following: This is the reason why there are still a few unused DB tables in the design, the plan however is to use those as soon as possible by implementing the extra features. I had to think about the advanced AMS features in advance. Next we started with the design of our database. The cron job will also take care of sending outgoing emails, which are temporary stored in the db. New emails will be processed and actions will be taken (eg: if a new email comes in from a user's email address with no ticket related, then it will create a new ticket for it.). A mailing cron job is needed to pull new emails sent to the inboxes of our support groups, we use the IMAP protocol to talk with the inboxes.A sync cron job will run on the server and from the moment the server is back up, the changes will be pushed to the server! All new created users or changes to the password/email will be stored in a querycache (db). It's perfectly possible that the website is still up even though the shard is offline (crashed, or migrating or what so ever), here 'Synchronizing' comes in play.You can login to that user and assign other users as moderator/admin. Our current permission system supports those 3 kinds of users, the permission level for this is stored in the db (ticket_user table).Īfter installing the system there's an initial admin namely "admin".ini files will be parsed just before loading the template and the part that's needed for the page being loaded will be passed. ini files, one for each supported language. In the lib itself there's a Languages directory with multiple.Why can't it load the same templates you might think? The ingame browser uses Lib Smarty comes in handy here: The ingame browser loads a different template set as the outgame version (The ingame templates are located in the 'ams_lib' itself).Charisma (WWW layout (uses bootstrap)) ( ).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |