Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion

osTicket v1.10 (stable) and Maintenance Release v1.9.15 are now available! Go get it now

Call for plugin ideas!

We're designing the beginnings of a plugin architecture for osTicket 1.8. It won't quite make osTicket 1.8.0, but it will definitely be part of osTIcket 1.8.1 later this year. Since I'm overhauling a few components of the system to make them more extensible, I'm interested in hearing your input on what parts of osTicket should be made more pluggable. What types of plugins do you think osTicket should support?

osTicket 1.8.1 will ship with two "classes" of plugins. The first is pluggable authentication, which will enable plugins to extend the authentication mechanism of osTicket beyond the built-in username/password information stored in the staff table. Things like LDAP, Kerberos, Active Directory, RADIUS, Google, and HTTP pass-thru authentication, etc., will all be installable and configurable via plugins.

The second is pluggable attachment storage, which will re-enable storage of attachments on the file system, or perhaps more creative solutions, like using Amazon S3. I'm also interested in writing a archive and retention plugin which will simply integrate with the cron system to retire (delete) or offload attachments by moving them to another storage backend (like from the database to S3).

Another idea I have is to allow a plugin to define email templates and interact with the ticket lifecycle in order to send new ticket alerts or auto-responses, such as the often-requested ticket-closed email.

Yet another idea is to allow plugins to create something like a "widget", which can be configured in the staff or admin panel and shown in the staff or client panels. Some ideas of using the widgets might be like a "message-of-the-day" widget or a clock widget to facilitate time tracking.

Of course, the greatest concerns in the plugin architecture is internationalization and API integration that won't obsolete plugins at the next version of osTicket.

I'm working through the early details of the plugin architecture, and I hope to create something that can retire "mods" and create a new marketplace per se with community plugins available to be installed alongside the stock osTicket. I'd really like to hear your feedback about what things osTicket should be able to do via plugins.

Cheers,
Jared
«13

Comments

  • edited October 2013
    From my trolling the forums some of the most requested mods you already covered, the ones that you haven't mentioned are:
    • [better] Reporting
    • Asset Management [equipment]
    • [better] time tracking (and/or tools for assisting pay as you go operations to tracking time, billing, balances)
    • skinning / theme system
    • a CC/BCC system for including individuals in responses
    • Ticket Pending status - with email triggers, customizable timed autoclose
    • DB Cleanup tools (for removing attachments older then X days, etc)
    • Followup / Rating system - Simple Satisfaction rating survey when a ticket is closed.
  • edited October 2013
    Just registered to reply here.

    First, I definitely agree with Authentication (LDAP, AD, RADIUS, etc.) and all the other features mentioned above at your post Jared ;)

    For us here the following plugins/mods are the most important ones:
    - CC/BCC
    - (better) Time Tracking
    - (better) Reporting
    - (better) KnowledgeBase/FAQ system (fyi: we are using DokuWiki here at the moment)

    The other plugins/mods mention here would also be nice to have, but they are not as necessary as the ones above.

    @ntozier: Asset Management [equipment]
    Do you search for something like ITDB http://www.sivann.gr/software/itdb/ or a similiar system or what exactly do you mean by Asset Management?

    Btw: Despite ITDB we still searching for an easy (php/web based) device/equipment rental system to check availability and book devices/equipment and so on, but that's offtopic so please ignore ;)

    EDIT/UPDATE:
    Forgot to say, that an option to gather informations (e.g. Room, Phone-Number, etc.) from LDAP/AD to autofill client details would be really nice :) ;)
  • edited October 2013
    Chefkeks, I am simply re-iterating what many have posted about here on the forums. I was simply posting it on behalf of others who have asked.

    btw osTicket has a better FAQ/KB system just recently and there are plans to improve it further in the future.
  • edited November 2013
    Jared,

    I am setting up Ozticket on my website as a strategic move from comm100 that I have used for many years . I am using ozticket 7.2 and I find I need the following :

    Time tracking and reporting
    Time Scheduling ( to age and monitor Ticket / Staff performance by time as in "Auto update " and " Auto Follow-up " based on time)
    More flexiblity with the SLA setup
    Ability to add additional Drop-downs
    Merge Tickets
    Batch Assign ( and Delete )
    Next / Prev ticket buttons
    Duplicate ticket warning
    Reporting similar to "Scottro's Reporting mod " ( which is a very close replication for comm100's )
    then, as ntozier indicates,
    DB Cleanup tools
    Followup / Customer Rating system

    Here I need to say it would be nice if we could settle down to some ( limited ? ) structure / coding standardization as the way forward. I am finding that the majority of the wishlist above are catered for in the mods but for lower versions with the corresponding files obsoleted in 7,2 .

    Example is the infamous "viewticket.inc.php" that is used in many mods.

    Further reflection, what would be really great is to do as zencart does,

    a) a link from the scp / admin panel to the ozticket homepage / forum / mods section
    b) a "Developers Tool Kit" section to find specific code
    c) a " install SQL Patches" section for SQL mods
    d) a Section in the ozticket forum where all the mods are packed for ease of installation, each mod has its own section with upgrades, comments, developer etc
  • edited November 2013
    Hi,

    In addition to what have already been said.
    My idea of plugin could be to add a project management on the top of tickets so that we can manage projects, plan it with tickets and get a full history of a project tasks, maybe with a gantt view for planning and a gantt view with the time really spent.
    It could go along with a calendar and duedates could be seen in that calendar (so as in Trello.com).
    The calendar could be using caldav.

    Another one could be to make the client-side customizable in scp admin section so that we can easily without doing any change in the code, add page links.
  • How about including an easy way to add user written custom plugins? Something like Joomla or Wordpress where the plugins can be written without having to modify core files.
    Create several function hooks or notifications, for example onTicketOpen, onTicketClose, etc., and a plugin management panel. This way plugin structure can be standardized and it'll be much easier to extend the OST.

    I can take a stab at it myself, but I don't think that I'll have enough time to finish it by the next release date.
  • A clear plugin architecture would be a pleasure. I have done a lot of modification in the past to fit osticket to our envirment. Therefore upgrading osticket is hair-raising.

    Firt of all, I vote for a multi-language support.
  • Multi-language is under active development. You can start contributing right away at http://i18n.osticket.com
  • Hope it helps! I just voted for all italian translation on crowdin project, waiting for approval ;-) Thank you for your Job!
  • Definitely better and more accurate reporting. 
  • First of all, I am thankful you have decided to go the "plugins" route. Too many products like this try to be all things to all people and become overly cumbersome "out of the box."

    As far as suggestions go, for us small service providers, it would be great if there was a way to group customers as "companies." Perhaps offering each company a branded login page/web address on the front end and then per-company reporting on the back end.
  • edited December 2013
    We are going to add an 'organizations' feature since we finally have first-class users which will allow users to belong to an organization. The first step will allow for custom fields on organizations and sharing of tickets between users of the same organization.
  • We've been using OSTicket as our main ticketing system in my repair business for years now. The one major inconvenience I've seen is when one of my techs or someone from the office go to our front counter to start a new ticket for a customer or reply to a current ticket. I'd love to have a way to quick swap between users. I was thinking of something akin to a POS register where a user enters a PIN and can quickly take over a session until it's completed.

    Also, thanks again for keeping OSTicket updated and, by and far, the best open source ticketing system available.
  • We've been using OSTicket as our main ticketing system in my repair business for years now. The one major inconvenience I've seen is when one of my techs or someone from the office go to our front counter to start a new ticket for a customer or reply to a current ticket. I'd love to have a way to quick swap between users. I was thinking of something akin to a POS register where a user enters a PIN and can quickly take over a session until it's completed. Also, thanks again for keeping OSTicket updated and, by and far, the best open source ticketing system available.
    Thats a cool idea! (You could emulate it using Chrome Persona's for now, simply create multiple chrome accounts (in settings, add user), switch between them at will with little icons. Useful even if its just your computer, but could be ideal for your usage as long as the staff can trust each other I suppose.
  • We've been using OSTicket as our main ticketing system in my repair business for years now. The one major inconvenience I've seen is when one of my techs or someone from the office go to our front counter to start a new ticket for a customer or reply to a current ticket. I'd love to have a way to quick swap between users. I was thinking of something akin to a POS register where a user enters a PIN and can quickly take over a session until it's completed. Also, thanks again for keeping OSTicket updated and, by and far, the best open source ticketing system available. Thats a cool idea! (You could emulate it using Chrome Persona's for now, simply create multiple chrome accounts (in settings, add user), switch between them at will with little icons. Useful even if its just your computer, but could be ideal for your usage as long as the staff can trust each other I suppose.
    I'd never heard of Personas. So, I immediately went looking for that option. Unfortunately, I can't find anything called Personas (neither built-in or as an extension in the Chrome Webstore). Can you point me in the right direction, Grizly? I would greatly appreciate it. Thanks in advance!
  • My bad, Persona is the Firefox terminology.. too many browsers.. Its simply users in Chromium/Chrome.

    Open the settings, press the "Add new user..." button, pick an icon, add a name, Bingo. Its like having several versions of Incognito simultaneously.. you can login to google on each, have your own bookmarks synced down etc.. handy.

    Then just pick the user-icon in the top left (it will appear when a second user is added), to switch between em.

    All the details: https://support.google.com/chrome/answer/2364824?hl=en
  • I've been thinking about the plugins today actually, would be nice if the database could be abstracted to provide scalability options, think Apache Cassandra for mega installs, and sqlite for mini ones..
    If the db was just a "datastore" instead of an integral part of how it works, then it really wouldn't matter what system was implemented. Having options (like, a dozen different plugins for the database) might entice more players to the game. MegaCorp might not like being tied to Maria for instance.

    I would like caching plugins as well, APC/Memcached/File-based/etc, even json dumps of configs instead of having to regenerate them for each view.. could cache stats and such too.. really reduce the db-load, entire client pages should be in memory, rather than being generated, APC opcode saves stat calls a lot, and its very fast, but it really shouldn't be dynamic at all if there is no changing data on the client homepage! (I know, but you simply expire the cache if you enable the kb)

    (See my Mod_Memcached mod for examples of pregenerating pages/pieces, but it could/should be extended to all non-dynamic pages, without having to manually modify the parent page.. http://www.osticket.com/forum/discussion/75438/mod-memcached)

    I've built a location detector module as well.. it converts faxes into tickets (via email), takes the number they sent it from, determines how close that area code is to our warehouse and prioritizes the ticket based on that. within 15km, gets emergency priority, as some customers actually fax an order then come over and expect to be able to pick up the goods.. not sure if anyone would be interested, let me know, but mainly, the mailfetch class got hacked up a bit and a few new classes added to parse the subject.. not sure how you would expose that for plugins.. perhaps you could just add to the "filters" and specify a "Class" to instantiate before the end of the mailfetch or something..

    Its possible to modify the menu's.. in code.. would be fun if you could "re-arrange them" in the admin interface, a plugin for that would be cool, even its its just to add items.. I like our sales-guys to be 100% in osTicket, so finding our product information has our own jQuery auto-complete search-box and links to our sites within reach at all times. Plugging into it wasn't that hard, but continually rebasing hacks for each new version is tiresome and they would be better implemented as "plugins", even custom, private plugins would be cool!
  • I suppose my thought for a plugin is some measure of business management data: more than we have presently but not necessarily enough that we'd be into the realm of becoming a fully blown CRM.  At the moment. I am adding custom fields for many things (bug number back into a Bugzilla instance, sales opportunity references,  etc.).  The ticketing setup in my lost Saleforce instance was tied in like this and it was useful to be able to easily go between company<->sales opportunity<->customer ticket<->Bugzilla bug ("cases" in SF terminology).

    Of course pluggable "skins" might be desirable for some people.

    Somebody mentioned project management.  That gets a nod from me.

    On the "general modification" front (for v1.8.x) , it'd be useful for the SLA feature to include a setting not only for closure but also for initial response time (not the canned response, but one that indicates an actual person has read and begun to understood the ticket).

    It would be good to be able to include other data as columns in the default ticket list display (e.g. including custom fields and company name) and have the option to sort/group accordingly.  A printable view would be good.  This is all heading, of course, to others' suggestions w.r.t. reports.

    It would be useful to limit some staff' members' access, either to read-only and or to a specific product type/group.

    Regards,
    Aidan
  • edited December 2013
    Hi guys,

    I've though about another feature which could be added by plugins : A knowledge base FAQ revision history.
    I'm not sure everybody needs this, so it's the reason why it could be a plugin.

    Another one : ticket planned re-opening. So a ticket "sleep". They are closed for a given duration.

    Best regards
  • I'm working on an extension to the fs-storage plugin "ClamAV", plugin-architecture isn't very obvious, but it works. Building on CakePHP extension: http://www.jejik.com/articles/2009/07/scanning_files_with_clamav_from_cakephp/

    I was working on a ticket-generator plugin, for testing my dev install, and it struck me that with chunked data in the database, there really was no way of scanning attachments for virii.. but the fs-storage would allow that, so ba-da-bing, a new plugin-idea!

    I'll push it to my repo when its "functional", and you guys can have a look.


  • I'd like to add functionality to send the user an SMS (if he has registered his mobile number). F.ex. add a "tab" on the staff ticket page, after "Post Reply", and "Post internal Note" i'd like "Send SMS".
    With the the integration of f.ex. www.clickatell.com or the local mobile operator.

    I've done this mod on previous version of osTicket, and it was quite popular with my staff.

  • A plugin that works with the JIRA REST API would be fantastic.

    In our 1.7+ version of osTicket I hacked in a quick and dirty solution to copy tickets to our JIRA instance and provide a link in the internal notes. 

    It would be WAY COOL if JIRA tickets could be created and customer feedback updated in both osTicket and JIRA. 

    We use JIRA as our change management and software bug tracking, so being able to tie helpdesk tickets and JIRA issues together would be awesome. 
  • Looking at the way we use osTicket, I have 3 areas that need to be addressed.
    1) Time tracking, rhe ability to enter time spent everytime we update the ticket. I've never been able to make the mod work quite right.
    2) LDAP autentication, for clients
    3) Most of my tickets come via email, so source, topic, dept and assigned tech are never right. A popup to come up on first open to force us to fill those out would be great.
  • Hi,
    Something useful that I've needed several times, is a "Custom Script" action in the Ticket Filter system.
    For example for incoming tickets from special email address, I need to run a pre-defined maintenance PHP script. which currently seems to be impossible.
  • @hr_anvari

    Not impossible, just requires code modification.. If you are using mail-fetching rather than piping, I modified class.mailfetch.php to test for an admin-defined array of addresses, then ran my custom code over the message before allowing osTicket to proceed.. also helps for logging when we receive "troublesome" messages.. or those "one in a million" guys who seem to send "breaks everything" messages.. which we can run through a wpad.dat parsers.. ;-)

    I find after :
        //email to ticket
        function createTicket($mid) {
            global $ost;

            if(!($mailinfo = $this->getHeaderInfo($mid)))
                return false;


    To be a useful starting point.. ;-)
  • private chat:
    customer to scp staff
  • edited December 2013
    This is the best stuff I have seem in paid products
    • Email control of tickets. The idea is that agents can run the entire ticket life cycle from their email, with commands to make certains actions when they reply to customers or staff (eg ::<close>;::<assign_to jmejia> and so on) and no need to enter to the osticket web. A nice touch would be to have it as gmail extension, so you can choose commands directly when composing the email.
    • Now that you have organizations, you can manage support contracts so Osticket could tell wich support contracts are about to expire and send the needed autoresponders.
    • SLA ticket reminders. Tickets that aren't opened or moved by the operatos in a certain amount of time  could be sent directly to management for inmediate action, and send reminder emails to agents.
    • Social content. Now people not only ask for support in an email, they are used to Facebook, Linkedn and Twitter, and failing to address those tickets quick could be a potential disaster, because everyone sees that (Linkedn could be a killer). So you need to open a ticket stream from that. Maybe  you can take a look at this http://codecanyon.net/item/jquery-social-stream/2103997?ref=triggerist
    • Theme control and a very new, fresh, rewamped theme for the ticket view and the user front end. it could do wonders for the product. In Ostickt the product web page (osticket.com) is beautiful but the product itself (agents view and end user view) seems a little outdated.
    • Post service support satisfaction survey, that's basic to measure support personnel empathy with the customers. At the end of support,a small survey is sent by email to the customer asking to rate his experience.


  • can there be a plugin that provides a statistical overview of the service?
    Like 100 tickets done in last month, 5 were overdue, ...

    this page could be embedded into other webpages.
    do notice that this is not ment to be detailed, just a nice overview so people can see if the helpdesk is under heavy load or just normal/calm, ...


  • Would appreciate integration of Skype Chat Plug-in as Help Desk Chat System for OSTicket
Sign In or Register to comment.