Helpdesks and support centers provide product assistance. Typically, a customer contacts the helpdesk or support center by phone or email and describes a problem or question. A support technician working at the helpdesk or support center provides an answer or solution to the customer's problem often by consulting a knowledge base containing information about the product or system.
Some helpdesks and support centers utilize tracking systems, also known as ticketing systems, service ticket systems or ticketing applications, to log the problems customers are having and to track the resolution of those problems. In many ticketing systems, a service ticket is generated when the customer contacts the helpdesk and remains open until the problem has been resolved or the question has been answered. The service ticket is a data element that is populated with the identity of the customer, the identity of the product, the nature of the problem, the date and time the ticket was opened, the efforts made to resolve the problem, the final resolution of the problem, the name(s) of support technician(s) who worked to resolve the problem and the date the service ticket was closed.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter. The claimed subject matter is not limited to implementations that solve any or all disadvantages noted in the background.
If a current version of a knowledge base item has been previously displayed to a user, at least one identifier for the knowledge base item is displayed together with an apply-item graphical element such that when the apply-item graphical element is selected, information about the knowledge base item is stored without redisplaying the knowledge base item, wherein the stored information allows a ticketing application to apply the knowledge base item to a service ticket. If the current version of the knowledge base item has not been displayed to the user, at least one identifier for the knowledge base item is displayed together with a new-item graphical element, such that the ticketing application is prevented from applying the knowledge base item to a service ticket on behalf of the user until the current version of the knowledge base item has been displayed to the user.
A computer-implemented method includes receiving a first search query and a knowledge base parameter from a browser client, the knowledge base parameter being associated with a first ticketing application and the first search query being based on a description of a problem entered in the first ticketing application. A search index is searched to retrieve information about knowledge base articles that match the search query and the knowledge base parameter. Information for the knowledge base articles that match the search query and the knowledge base parameter is displayed and the first knowledge base parameter is displayed. A second knowledge base parameter is selected and the second knowledge base parameter is displayed in place of the first knowledge base parameter. An indication to perform a search is received based on a second search query. The search index is searched to retrieve information about knowledge base articles that match the second search query and the second knowledge base parameter. The information for the knowledge base articles that match the second search query and the second knowledge base parameter is displayed.
A system includes a web application component configured to provide a web page comprising an identifier for a knowledge base article and an apply-article icon associated with the knowledge base article. The web application component is configured to receive an indication that the apply-article icon was selected and in response, store a session identifier and knowledge base article information in a session table. An embedding web service configured to receive the session identifier in a request for the knowledge base article information from a ticketing application, to retrieve the knowledge base article information from the session table using the session identifier, and to forward the knowledge base article information to the ticketing application.
A graphical user interface is generated on a display by retrieving information about articles in a knowledge base stored in memory. The information includes a date that a current version of the article was created. A recently updated articles table is displayed in the graphical user interface that shows information about at least two of the articles in the knowledge base with the information ordered based on the dates that the current version of each article was created. Articles in the knowledge base that have been applied to a service ticket are identified as recently used articles and for each recently used article, the last date that the recently used article was applied to a service ticket is determined. A recently used articles table is displayed in the graphical user interface that shows information about recently used articles ordered based on the last dates the articles were applied to a service ticket.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
The innovations described herein are directed to a knowledge base system that integrates with one or more ticketing systems. In accordance with some embodiments, the knowledge base system allows support technicians to apply articles to service tickets such that uniform resource locators for the articles are stored with the other data of the service ticket and can be seen when viewing a user interface that displays service ticket data. In accordance with some embodiments, the support technician can store an article in a service ticket without viewing the article if the support technician has previously viewed the current version of the article. If the support technician has not viewed the current version of the article, the knowledge base system requires the support technician to view the article before it can be applied to a service ticket.
In accordance with some embodiments, the knowledge base system allows a support technician to view and search articles from different knowledge base databases that are each associated with different ticketing systems. The knowledge base system also integrates with multiple ticketing systems and allows support technicians using different ticketing systems to apply knowledge base articles from the same knowledge base databases.
The knowledge base system also provides a homepage which includes four separate tables: one table for viewing a list of recently updated articles, one table for viewing a list of recently used articles, one table for viewing a list of articles that have been revised by the support technician, and one table for viewing articles that are waiting to be approved by the support technician.
In the discussion below, the support technician who is working with the knowledge base system and the ticketing system is referred to as the user of the system. The person whose problem is being addressed is referred to as the client or customer. Note that the use of the terms client and customer is not intended to indicate a commercial relationship between the support technician and the person who contacts the support technician. In fact, the person calling the helpdesk may be in the same organization as the support technician.
Client devices 102, 104, 106 and 108 are each capable of executing separate instances of a web browser 120, which may be any available browser such as Internet Explorer®, Firefox®, Chrome and Safari®.
Clients 102 and 104 are also capable of executing separate instances of a ticketing application (also referred to as a ticketing system) 110. Client 106 is capable of executing ticketing application/ticketing system 112 and client 108 is capable of executing ticketing application/ticketing system 114. Ticketing applications 110, 112, and 114 may each be from different vendors and provide different user interfaces. In general, ticketing applications from different vendors will be used to support different products. In accordance with some embodiments, a same ticketing application can be used to support more than one product.
Ticketing application 110 on clients 102 and 104 store and retrieve data from ticketing database 160, which contains the data of each service ticket that has been created by the instances of ticketing application 110. Ticketing application 112 on client 106 stores and retrieves data from ticketing database 160, which contains the data of each service ticket that has been created by the instances of ticketing application 112. Ticketing application 114 on client 108 stores and retrieves data from ticketing database 168, which contains the data of each service ticket that has been created by the instances of ticket application 114.
The instances of browsers 120 on clients 102, 104, 106 and 108 call pages on a web server 124 that together form a knowledge base web application 126. The knowledge base web application 126 comprises an edit component 128, a view component 130, a search component 132 and a dashboard component 134. Web server 124 also includes a search appliance 136 that works with and communicates with search component 132 and an embedding web service application 138, which is called by ticketing applications 110, 112 and 114 as discussed further below.
Edit component 128 and view component 130 access knowledge base articles in knowledge base database 140 on database server 146. A knowledge base article may take the form of text, audio, video or audio and video. Knowledge base articles may alternatively be referred to as knowledge base items. View component 130, search component 132 and dashboard component 134 each access viewing record table 148 of database server 146, which holds data describing the last time the user viewed a knowledge based article and the number of times the user has embedded the article in a service ticket.
Dashboard component 134 and search component 132 also access a last update table 150, which contains data describing the last date that a knowledge base article was updated and the name of the user who revised the article. Dashboard component 134 also accesses a revision table 152 on database server 146. Revision table 152 provides data on each revision made to an article including who made the revision, the date of the revision, who approved the revision, the date of the approval, the publication date of the revision, and the current status of the revision.
Search appliance 136 accesses search indices 154 on database server 146. Search indices 154 provide keyword indices for knowledge base database 140. Search appliance 136 performs key word searching in search indices 154 to identify articles in the knowledge base database 140 that contain words in search query provided by search component 132.
View component 130, search component 132 and embedding web service application 138 each access a ticketing application table 156 on database server 146. Ticketing application table 156 includes entries that associate a session ID with information about an article that is to be applied to a service ticket.
In step 200 in
The user interface of
At step 208, search component 132 of knowledge base web application 126 is called by the ticketing application through browser 120. In the call, the ticketing application passes: a session identifier; the problem description from field 306 of the user interface of
At step 210, search component 132 submits the search query and the knowledge base parameter to search appliance 136. At step 212, search appliance 136 searches search index 154 based on the knowledge base database parameter and x the search query to identify those articles that contain the terms found in the search query and that are associated with the ticketing application. For each article that search appliance 136 determines matches the search query and the ticketing application, search appliance 136 returns an article ID, a title, and matching text segments from the article.
At step 214, search component 132 determines if the current versions of the articles returned by search appliance 136 have been viewed by the user. To determine this, search component 132 accesses viewing record table 148 to determine the last time the article was displayed to the user. Search component 132 then access last updated table 150 to determine the later of the last time the article was changed or the date the article was written.
At step 216, search component 132 returns a web page to browser 120 that displays the search results with either a “new” or an “apply-item” graphical element/icon displayed next to each article's title and text. Specifically, a “new” icon is displayed next to an article's title if the last date on which the article was displayed to the user is earlier than the later of the last date the article was revised or the date the article was written. In other words, the “new” icon is placed next to an article's title if the current version of the article has not been displayed to the user. An “apply-item” or “apply” icon is displayed next to an article's title if the last date on which the article was displayed to the user is later than the later of the last date the article was revised or the date the article was written. In other words, the “apply-item” or “apply” icon is displayed next to an article's title if the current version of the article has been displayed to the user.
If the user selects a “new” icon, an article title or matching text of an article in search results area 404 at step 218, view component 130 is called by browser 120 at step 220. In particular, browser 120 generates a request to view the article that is directed to view component 130 and that includes the identifier for the article. The article identifier may be embedded in the code of the webpage returned by search component 132. In response to the request, view component 130 uses the article identifier to retrieve the article from the knowledge base database 140 and returns a web page to browser 120 that displays the article if the article is textual or includes an appropriate player if the article is an audio clip or a video clip.
Apply Article instruction 506 includes an “apply-item”/“apply-article”/“apply” graphical element/icon 520 that can be selected to store information about the article so that the article may be applied to a service ticket. If the user selects apply icon 520 at step 222, view component 130 stores a session identifier, article title, article uniform resource locator (URL) and article ID in a ticketing application table 156. The session identifier is the same session identifier provided by the ticketing application when first calling knowledge base web application 126. The information stored in ticketing application table 156 will later be retrieved from the table in order to store the information in a service ticket. In addition, at step 224, the current webpage displayed by browser 120 is updated to replace the “apply” icon with a “confirmation” or “success” graphical element/icon and to provide a text message indicating that the article has been successfully stored for application to the service ticket.
If instead of the “apply” icon being selected from the view webpage, the “apply” icon of the search page is selected at step 222, the session identifier, article title, article uniform resource locator (URL) and article identifier are saved in ticketing application table 156 and an indication that the article was successfully stored for later application is displayed at step 224. In particular, the “apply” icon of the search page, such as apply icon 422 of
Note that after step 224, the article information has not been embedded in the service ticket yet. It has only been stored in a database table that can be accessed by web server 124.
After receiving the indication that the apply-knowledge button has been selected, the ticketing application submits the session identifier that was submitted with the search query to an embedding web service application 138 on web server 124. Embedding web server application 138 receives the session identifier in the request for the knowledge base article information from the ticketing application (110, 112, and 114), searches ticketing application table 156 for the session identifier and at step 804, retrieves the article identifier, article URL, and article title from ticketing application table 156 based on the session identifier. At step 806, embedding web service application 138 returns the retrieved information to the ticketing application. The ticketing application then stores this article information with other service ticket information in the service ticketing database associated with the ticketing application. For instance, ticketing application 110 stores the article information and the service ticket information in ticketing database 160 while ticketing application 112 stores the article information and service ticket information in ticketing database 164 and ticketing application 114 stores the article information and service ticket information in ticketing database 168.
At step 810, the ticketing application displays the article information in the user interface.
In accordance with some embodiments, users are able to select which records of knowledge base database 140 that the components of knowledge base web application 126 operate against.
At step 1100, the user selects a knowledge base parameter from a list of available knowledge base parameters.
In accordance with some embodiments, knowledge base web application 126 includes a dashboard component 134, which displays a dashboard page such as the page shown in
At step 1406, dashboard component 134 displays the article ID, article title and update date of the most recently updated articles in a recently updated window 1500 with a “new” icon next to each article that has not been displayed to the user in its current form and a blank space next to each article that has been displayed to the user in its current form. For example, in window 1500, new icon 1502 is provided for article 1504 but no icon is shown in space 1506 for article 1508.
At step 1408, dashboard component 134 retrieves information for the articles that have most recently been embedded in a service ticket. In accordance with one embodiment, to identify the articles that have been embedded in the tickets, dashboard component 134 consults viewing record table 148. The most-recently embedded articles are ordered based on the last date they were applied to a service ticket.
At step 1412, dashboard component 134 determines if any of the most-recently embedded articles have not been displayed to the user in their current form. At step 1414, dashboard component 134 displays the most-recently embedded articles in recently used articles table 1520 providing an article identifier in ID column 1522, a title in an article name column 1524 and a number of service tickets in which the article has been embedded in a count column 1526. In addition, in an icon column 1528, “new” icons are inserted in the rows of articles that have not been displayed to the user in their current form. For example, “new” icon 1530 has been inserted for article ID 5398. Note that no icon is inserted if current version of the article has been displayed to the user as indicated by the empty space 1532 for article ID 5472.
At step 1416, dashboard component 134 retrieves all non-published revisions written by the user and displays them in a “my revisions” table 1540. My revisions table 1540 includes an article name column 1542, article ID column 1544, revision number 1546, and a status column 1548. Revision number 1546 provides an identifier to for the revision, and status column 1548 provides a status for the revision.
At step 1418, dashboard component 134 retrieves all revisions waiting for approval by the user and displays them in a “revisions pending approval” table 1580. Revisions pending approval table 1580 includes a revision number column 1582, an article ID column 1584, an article name column 1586, and a created by column 1588 which contains the name of the user who created the revision. Revisions pending approval table 1580 also includes a rejection icon 1590, an approval icon 1592, an edit icon 1594, and a view icon 1596. By pressing on rejection icon 1590, the user can reject the revision. By pressing approval icon 1592, the user can approve the revision. By pressing edit icon 1594, the user can open the revision for further editing. By pressing view icon 1596, the user can open the revision for viewing.
An example of a computing device that can be used as a server and/or client device in the various embodiments described above is shown in the block diagram of
Embodiments of the present invention can be applied in the context of computer systems other than personal computer 10. Other appropriate computer systems include handheld devices, multi-processor systems, various consumer electronic devices, mainframe computers, and the like. Those skilled in the art will also appreciate that embodiments can also be applied within computer systems wherein tasks are performed by remote processing devices that are linked through a communications network (e.g., communication utilizing Internet or web-based software systems). For example, program modules may be located in either local or remote memory storage devices or simultaneously in both local and remote memory storage devices. Similarly, any storage of data associated with embodiments of the present invention may be accomplished utilizing either local or remote storage devices, or simultaneously utilizing both local and remote storage devices.
Computer 10 further includes a hard disc drive 24, non-volatile solid-state memory 25 an external memory device 28, and an optical disc drive 30. External memory device 28 can include an external disc drive or solid state memory that may be attached to computer 10 through an interface such as Universal Serial Bus interface 34, which is connected to system bus 16. Optical disc drive 30 can illustratively be utilized for reading data from (or writing data to) optical media, such as a CD-ROM disc 32. Hard disc drive 24 and optical disc drive 30 are connected to the system bus 16 by a hard disc drive interface 32 and an optical disc drive interface 36, respectively. The drives, solid-state memory and external memory devices and their associated computer-readable media provide nonvolatile storage media for the personal computer 10 on which computer-executable instructions and computer-readable data structures may be stored. Such computer-executable instructions can include instructions for performing any of the steps described in the methods above. Other types of media that are readable by a computer may also be used in the exemplary operation environment.
A number of program modules may be stored in the drives and RAM 20, including an operating system 38, one or more application programs 40, other program modules 42 and program data 44. In particular, application programs 40 can include the ticketing applications, browser, knowledge base web application components (edit, view, search, dashboard), and the embedding web service application discussed above and program data 44 may include data stored in any of the databases or tables discussed above including the service ticket data, knowledge base articles, viewing data, update data, revision data, search indices and ticketing application data.
Input devices including a keyboard 63 and a mouse 65 are connected to system bus 16 through an Input/output interface 46 that is coupled to system bus 16. Monitor 48 is connected to the system bus 16 through a video adapter 50 and provides graphical images to users. Other peripheral output devices (e.g., speakers or printers) could also be included but have not been illustrated. In accordance with some embodiments, monitor 48 comprises a touch screen that both displays input and provides locations on the screen where the user is contacting the screen.
The personal computer 10 may operate in a network environment utilizing connections to one or more remote computers, such as a remote computer 52. The remote computer 52 may be a server, a router, a peer device, or other common network node. Remote computer 52 may include many or all of the features and elements described in relation to personal computer 10, although only a memory storage device 54 has been illustrated in
The personal computer 10 is connected to the LAN 56 through a network interface 60. The personal computer 10 is also connected to WAN 58 and includes a modem 62 for establishing communications over the WAN 58. The modem 62, which may be internal or external, is connected to the system bus 16 via the I/O interface 46.
In a networked environment, program modules depicted relative to the personal computer 10, or portions thereof, may be stored in the remote memory storage device 54. For example, application programs may be stored utilizing memory storage device 54. In addition, data associated with an application program, such as data stored in the databases or tables described above, may illustratively be stored within memory storage device 54. It will be appreciated that the network connections shown in
Although elements have been shown or described as separate embodiments above, portions of each embodiment may be combined with all or part of other embodiments described above.
Although the applications and data have been shown stored on various different servers and clients, those skilled in the art will recognize that the distribution of applications and data across these computing devices may be changed without changing the scope of the invention. For example, it is possible to place all the applications and databases on a single computing device. Further, although clients 102, 104, 106 and 108 are shown as not having direct access to database server 146, such access does exist in most embodiments. In particular, it is possible for clients 102, 104, 106 and 108 to retrieve the articles in knowledge base database 140 using the URLs of the articles stored in the service tickets of ticketing databases 160, 164 and 168. The connections between clients 102, 104, 106 and 108 and database server 146 are not shown for the sake of clarity.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms for implementing the claims.