I was thinking on HelpDesk gem that might have some features like :
- Knowledge Base (when a client tries to submit a bug, when completing the subject field to be performed some queries against some kb articles table and try to locate an answer before the client submits the bug)
- Ticketing system that would contain tickets grouped in departments , customizable statuses and priorities.
Usually a ticket, has some certain properties like comments (where assigned people can post their own comments), Audit logs, assigned people, time invested and also multiple replies. A ticket could be sent in 2 different ways : via email or via HTTP form, which would give us some misc features like "multiple recipients for a single client"... Of course to ease the work, the staff should be able to post predefined replies...
Basically this gem (mountable engine) would be contained from 4 different parts
1. a customizable frontend integration - bug submission and also helpdesk area
2. a frontend (client secure area where the client should be able to see all his tickets with their statuses and replies)
3. a staff area, where qualified personal could easily answer, comment and change stuff in user tickets
4. an admin area where a super user could manage users, statuses, priorities and other stuff (like email parser settings and stuff )
Would be nice, but this might be a later feature where clients could rate the helpdesk articles or staff members. From the management point of view ... some stats also could be nice (how many tickets have been sent in a week, how many tickets are opened now, what are their statuses or priorities, how many tickets have been closed in a period of time ) ... etc
There are some rails ticketing systems:
https://github.com/leesmith/ticket_mule - edge branch is an attempt to update the app to rails 3
https://github.com/bigfolio/big-help - no development noted
https://github.com/redmine/redmine - is not what i am looking for
All the above systems have their own user management ... which makes hard to impossible to implement it in an already existent ecosystem.
Sorry for the wall of text ...