<commit_before>== TicketDesk

TicketDesk is a simple tool to manage support tickets, authored by <NAME> (@AlexBlom).

TicketDesk is an e-mail driven system. Customers are never exposed to the portal. Instead, a support e-mail is created. TicketDesk receives tickets via a rake task that connects to IMAP. Responses to tickets are e-mailed to clients, and threading is enabled.

TicketDesk is also issue driven. Instead of manually managing 10 tickets with the same problem/solution, create an 'Issue'. You can then focus your time on solving the issue at hand, and batch e-mail updates / close tickets with the same issue.

TicketDesk was built as an internal tool, so is rigged for my needs and use case. I'd encourage you to share the customizations made along the way.

== Join / Follow

Join the Mailing List / Google Group: https://groups.google.com/forum/#!forum/ticketdesk

Twitter: http://www.twitter.com/AlexBlom

Blog: http://www.alexblom.com

== Installation / Configuration

1. The Gemfile has been pre-loaded with the tools I use (i.e.  MongoMapper). Be sure to run bundle/install once downloaded.

2. In environment.rb, add your Sendgrid settings. TicketDesk has no further Sendgrid dependencies, so you can change to the native / another mailer.

3. TicketDesk has been built to work on Mongo. Be sure to install and then modify your mongo settings in config/mongodb.yml

4. While this was built as an internal app, there is an accounts system in place. When the Rails Server is booted, you will be re-directed to create a new account and the first support user. All users / tickets will belong to this account.  

5. Once the account is created, update the record via your preferred tool to include the required IMAP details (you will find these listed in the model).

6. TicketDesk runs a delayed job for all mailers. I've included Collective Idea's version of Delayed Job, originally authored by Tobi of Shopify. I run Delayed Job via a background Daemon. You can find further info on running the Delayed Job at: https://github.com/collectiveidea/delayed_job

7. Finally, the IMAP checker (to get new support tickets) is a rake task (tasks/email_fetch.rake). You should set up a cron to run rake get_emails.


== Extensions / Contributing 

Please do extend TicketDesk! If you are looking for ideas, I've been meaning to build the following addons:

1. Stronger Gmail integration (use Gmail v. SendGrid, use Google authentication on the IMAP read for security)

2. Adding new Users & IMAP details is currently a manual process. This should not be the case.


If you want to contribute an enhancement or a fix:

1. Fork the project on github.
2. Make your changes with tests.
3. Send a pull request.

<commit_msg>Update master<commit_after>== TicketDesk

TicketDesk is a simple tool to manage support tickets, authored by <NAME> (@AlexBlom).

TicketDesk is an e-mail driven system. Customers are never exposed to the portal. Instead, a support e-mail is created. TicketDesk receives tickets via a rake task that connects to IMAP. Responses to tickets are e-mailed to clients, and threading is enabled.

TicketDesk is also issue driven. Instead of manually managing 10 tickets with the same problem/solution, create an 'Issue'. You can then focus your time on solving the issue at hand, and batch e-mail updates / close tickets with the same issue.

TicketDesk was built as an internal tool, so is rigged for my needs and use case. I'd encourage you to share the customizations made along the way.

== Join / Follow

Mailing List / Google Group: https://groups.google.com/forum/#!forum/ticketdesk

Twitter: http://www.twitter.com/AlexBlom

Blog: http://www.alexblom.com

== Installation / Configuration

1. The Gemfile has been pre-loaded with the tools I use (i.e.  MongoMapper). Be sure to run bundle/install once downloaded.

2. In environment.rb, add your Sendgrid settings. TicketDesk has no further Sendgrid dependencies, so you can change to the native / another mailer.

3. TicketDesk has been built to work on Mongo. Be sure to install and then modify your mongo settings in config/mongodb.yml

4. While this was built as an internal app, there is an accounts system in place. When the Rails Server is booted, you will be re-directed to create a new account and the first support user. All users / tickets will belong to this account.  

5. Once the account is created, update the record via your preferred tool to include the required IMAP details (you will find these listed in the model).

6. TicketDesk runs a delayed job for all mailers. I've included Collective Idea's version of Delayed Job, originally authored by Tobi of Shopify. I run Delayed Job via a background Daemon. You can find further info on running the Delayed Job at: https://github.com/collectiveidea/delayed_job

7. Finally, the IMAP checker (to get new support tickets) is a rake task (tasks/email_fetch.rake). You should set up a cron to run rake get_emails.


== Extensions / Contributing 

Please do extend TicketDesk! If you are looking for ideas, I've been meaning to build the following addons:

1. Stronger Gmail integration (use Gmail v. SendGrid, use Google authentication on the IMAP read for security)

2. Adding new Users & IMAP details is currently a manual process. This should not be the case.


If you want to contribute an enhancement or a fix:

1. Fork the project on github.
2. Make your changes with tests.
3. Send a pull request.


{'fraction_non_alphanumeric': 0.05393505778756191, 'fraction_numerical': 0.005136672170243992, 'mean_word_length': 3.983546617915905, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 4, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '592268', 'n_tokens_mistral': 1516, 'n_tokens_neox': 1448, 'n_words': 841}