Implementing the whole system was a matter of tying all the stand alone modules above together. An interface for the support, the database storing all data and a user interface had to be produced as well.
A database holding all necessary information was also needed.
4.7.1
The design of the database
The database is the heart of this Knowledge-base system. It stores all the information that the KB collects. Chapter 4.2.1-4.2.7 is all about the database and its design. To this project were a Microsoft SQL Server installed to serve as database server. The administration - creation of tables, creation of stored procedures, creation of dependen- cies with foreign keys and query testing - of this server has been done with Microsoft Enterprise Manager. Figure 4.2 displays the design of the database. Primary keys has a symbol of a key in front of them and foreign key relations are symbolised with grey lines, ending with a key, running between the tables.
Figure 4.2: The knowledgebase project database
The table t reportedproblems
This table is the largest one and the one with the most fields in the database. The table stores all the problem-reports that arrives to the Knowledge-base. The primary key of the table is RPID that simply describes the id-number of a report in the table. This number is automatically assigned by the database. The rest of the fields each contain some specific information to every report. An explanation for every field follows here:
– rp date - the date the report was created
– rp desc - a short description of the problem that the user has encountered – rp username - the username of the user that has created the report – rp fullname - the whole personal name of the user
– rp telephone - the office-telephone-number to the user – rp location - the location of the users office
– rp ip - the ip number of the client from which the user created the report – rp model - the brand of the client computer from where the report came
– rp laptop - indicates by true or false if the client computer that created the report is a laptop
– rp applications - the software that has been distributed and installed on the client computer via the SMS.
– rp path - a description of the path that the user took through the KB menu-system before he or she created the report.
4.7.2
The table t problems
When a user of the support team has viewed a report he may decide to create a general problem on the basis of the report. The general problem that the support user then creates is stored in t problems. The field PID holds the id-number of the problem and is the primary key of the table. p date gives the time when the general problem was created and p desc is a description of the problem that the support user has formulated. The last field, p published indicates if the problem is published. A published problem is viewable by ordinary users of the KB. A problem can only be published if it has a solution bound to it, also stored in the database.
4.7.3
The table t reportedproblems problems
The table binds reports and problems. When a problem is created on the basis of a report both the id-number of the report and the problem is inserted in a record in the table. RPID and PID is foreign keys to the field with the same names in the tables t reportedproblems and t problems. The main purpose of this table is to help the support to keep track of what reports that has been taken care of and to keep track of what general problem that takes care of a certain report.
4.7.4
The table t solutions
A general problem that a user of the support team has created can have a solution. These solutions are stored in the table t solutions. Every solution in the table is automatically assigned a id-number, SID. Every solution can also have several revisions, therefore every record, is also assigned revision-id REVID. Together these two fields are creating the primary key of the table. The four other fields of the table are: s user - the user of the support team that created the solution. s date - the time of the creation of the solution. s desc - the solution. This field holds text, describing the solution, formatted with an editor. The text can include pictures and web links and so forth. s shortdesc - a shorter description of the revision of the solution. It should describe how the revision separates itself from the earlier revisions.
4.7.5
The table t problem solution
In the same way as t reportedproblems problems binds reports and problems, this table binds problems and solutions. It links the correct problems to the correct solutions.
4.7.6
The table t groups
This table describes the problem groups. Every problem that is created by a user from the support team must belong to a problem group. These groups are the structure be- hind the menu-system in the Knowledge-base. The problem groups are together built up as a tree structure that can look like in figure 4.3 below. If a user of the KB clicks on for
example Browers, the next selection should be some of its children namely: IExplorer, Mozilla or Opera. If any problems created by the support is bound to a problem group, these will then show.
A problem groups id-number is GID that also is the primary key of the table. g desc is the name of the grop, g childof can hold a GID to an eventual parent of the group. Finally g leaf indicates by true or false if a problem group is a leaf, meaning it has no children in the structure.
Figure 4.3: Every node in the tree can have problems bound to it. These bindings are inserted in the table t problem group and explained in the next section.
4.7.7
The table t problem group
Also this table has a similar function as t reportedproblems problems. It binds problems and problem groups meaning that it controls that all problems are linked to a suitable problem group.