Help Desk

Last modified by Vincent Massol on 2024/02/26 17:53




XPertNet (XPN) is taking part in the Nepomuk research project together with Mandriva. One of the XPN contribution consists in creating a community help desk with semantic and P2P capabilities, putting into practice the Nepomuk components (see list below). In the frame of the Nepomuk context, the help desk will be experimented in particular by the community of Mandriva users. A detailed analysis of the Mandriva case study is available from the following report: NEPOMUK Deliverable D11.1.

Use cases

Typical online help desk workflow

Joe can submit questions online. Others can answer. The worklow used is a typical help desk workflow: question and answer submission, categorization, notification, search and escalation.

Note: we may consider the use of the library org.semanticdesktop.fsm for implementing possibly complex workflows.

Document annotation capabilities

Hellen is browsing a discussion relating to the use of a the ATI x800 XL graphic card on a dual screen. She rates one of the answer brought as very useful. She also tags the author of that answer, Erin, as a master in the area of "graphic cards". She indicates that the thread relates to ATI hardware, dual screens, graphic cards, and to the specific ATI x800 XL model. Thanks to this metadata, the thread will pop up among the first results when other users search for similar issues.

Local annotation

This use case illustrates a typical interaction between a semantic desktop and the help desk. The help desk consists of general resources aiming at helping users to achieve specific tasks or to solve technical problems. Users willing to customize these resources for their own use, typically to create their own documented task list for achieving a given complex activity such as the set up of a private virtual network, are able to do so by using the Nepomuk semantic desktop to derive local semantic graphs and personal semantic task lists from the help desk resources.

Each user is able to import semantic graphs from the help desk repository to their individual workspace. Users have the possibility to enhance the public graphs locally by adding concepts and relations that make sense to them, involving local desktop resources, for the purpose of learning and memorizing.

This means that the semantic desktop lets the user associate a set of help desk resources and local notes with specific tasks she's doing regularly on her computer. The Nepomuk desktop allows to draw the link between the action pattern and the resources, and pops up the existing resource links when appropriate.

Rating of experts and of resources

Users can rate experts and resources. 

Social networking

Users can form groups on the help desk, and comment on each other's wall.

Search based on recommendations by persons trusted by the user.

As Kim uses the Mandriva help desk more and more, he gets to know a large number of users and experts, who progressively become good acquaintances whom he trusts. Kim decides to create a group "friends" on the help desk, and adds his best online mates to the group.

In creating such a group of friends, Kim can narrow his search to the resources (knowledge base pages, experts, questions and answers, or web sites) that are rated as interesting resources by his network of friends. This feature lets Kim discover more efficiently new trustful experts and resources that may are of interest to him. While browsing available resources, Kim also gets the information on what his friends think about the resources he's browsing.

Ad'hoc learning material creation

 The help desk knowledge base contains a set of resources on various topics that can be harnessed for the creation of learning material taking into account constraints related to the profile of the target audience, such as the technical level of the participants, the duration of the learning session, and the language to be used.

The semantic search engine makes it possible to easily retrieve resources matching a set of criteria reflecting the audience profile and timing constraints. Then, the help desk allows to combine documents using portions of different help desk resources.

Prompting contextual help

This use cases illustrates how the user context can be taken into account by the Nepomuk context manager for firing appropriate events aiming to assist the user in achieving his current activity. Kim just bought a new camera from Logitech. While he plugs his camera into the USB port of his computer, an assistant offers him to read the memo that he has entered about USB components, or to browse the resources related to this camera available in the help desk knowledge base. Kimhas the possibility to:

  • read tutorials in his language on how to take the most of this camera. He can choose to read tutorials that are available either in the community knowledge base or across his personal network of relationships knowledge bases
  • read articles describing identified issues and workarounds related to the use of this given camera with his laptop model.

Command line interaction

It should be possible to interact with the help desk directly from the command line.

Email integration

Users should for instance be able to interact with the system from an email client. 

  • An email is sent to the customer when a response is brought to the submitted issue
  • Customers can submit cases by email

P2P capabilities

Users should be able to share their local data with their friends: this will let them share personal wiki pages and the related metadata with others.

Other use cases and features

Roles and workflow

  • Submit, assign, prioritize, escalate issues
  • Various persons and group of persons interplay with the system, with different right levels. 

Example: a given group of technicians will be allowed to bring support to a given set of customers

  • Assignment of a case to a technician or group of technicians
  • Automatic escalation of cases when not closed in a given period of time
  • Track multiple projects for multiple teams within a single installation
  • Track critical system metadata, including time spent per action, due dates, and estimated time to completion.
  • Lock the incidents to make sure several staff members are not working on the same case at the same time.
  • Case view: each staff member must see the list of the incidents which need a reply and the list of incidents 

assigned to him. 

  • Based on a rule/workflow system, some cases must be automatically updated. Example: Cases submitted by a given organization, 

or in the frame of a given contract must be automatically set to "support level 3" and affected to a given group of technicians.

Case assignment

  • Manual + automatic case assignment. Possibility to define custom rules for automatic assignment
  • Rights to reassign

Case updates

  • Who is allowed to update a case
  • Who should be notified when a case is updated
  • Calculation of time spent on each case and how it will effect representative?s productivity report and how is 

has to be linked with escalation mechanism.

KB integration

  • Integration with a wiki based knowledge base, so that the products supported are linked to the knowledge base 

containing solutions to common problems.


  • Time tracking
  • Statistics per category / issue level / team (for example: Sound problems / Drive problems / RAID problems / 

Apache problems etc)

  • Gantt charts
  • Printable view of a case thread

Rights management

see who can update/close/reopen/move etc. issues

Components and ontologies


Beside the XWiki platform components, the XWiki help desk will use the following components and ontologies:

  • RdfRepository: this component is an API for storing and querying metadata
  • HelpDeskWorkflow: this component will manage the state of question and answers (we may consider using this FSM implementation)
  • XWikiRdfExtractor: this component crawls an XWiki database and converts the metadata into RDF statements. 
  • Annotator: this component will make it possible to annotate resources for the purpose of tagging, rating, adding various metadata. Annotations can be brought either online, or on a local desktop
  • PSEW: PSEW stands for P2P Semantic Eclipse Workbench. It includes XEclipse. It is a general workbench for working with metadata related to local or remote resources. 
  • FolkPeer: this component can identify similarities across metadata
  • GridVine: this component is a P2P RDF indexing system. It is described in this paper.

Data models for annotation

Nepomuk has designed various data models that will be used for adding metadata to resources. These data models are available from the NEPOMUK ontology page. They consist of the following:

  • the NEPOMUK Annotation Ontology (NAO): NAO is an ontology for annotation, providing vocabulary which is commonly required to annotate resources on the semantic desktop. NAO includes graph metadata vocabulary for describing, or annotating, existing named graphs. 
  • the NEPOMUK Information Element (NIE): NIE is set of ontologies provide vocabulary for describing information elements which are commonly present on the semantic desktop: NIE (core) - NEPOMUK Information Element Core Ontology, NFO - NEPOMUK File Ontology, NCO - NEPOMUK Contact Ontology, NMO - NEPOMUK Message Ontology, NCAL - NEPOMUK Calendar Ontology, NEXIF - NEPOMUK EXIF Ontology, NID3 - NEPOMUK ID3 Ontology
  • NEPOMUK's Representational Language (NRL): Designed on top of RDF, it addresses certain limitations on the part of RDF/S. In particular it includes support for Named Graphs, which although being a widely-popular notion, have not been supported by any representational language so far. It is also based on a view concept for the tailoring of ontologies. This view concept turned out to be of additional value, as it also provides a mechanism to impose different semantics on the same syntactical structure.
  • SKOS


  • Create a new JIRA project for describing use cases, tasks, requirements
  • Describe further the use cases
  • Create a first application implementation
  • Link the implementation with the PSEW prototype

Data model

See HelpDeskDataModel

Other help desk systems

See HelpDeskWatch


  • 30 September 2007: release of a first implementation of the help desk
  • 15 October 2007: release of a report assessing the prototype from the user point of view
  • 30 October 2007: release of the second implementation, and presentation of the system

at the eChallenges Conference.


The features of an help desk are close to the ones of an issue tracker. We may consider evolve the features to a set of core functionalities from which we could derive two products: XWiki help desk and XWiki issue tracker.

Other help desk pages

Other related tools

Issue tracking tools:



Get Connected