1 |
I suppose this is a good a time as any to tell you a bit about what I had in |
2 |
mind, or more precisely, why I have it in mind. |
3 |
|
4 |
On occasion, I go through some topics in the Gentoo Forums, helping where |
5 |
I can with the installation (as I'm a bit to blame for the installation |
6 |
instructions). I noticed that many questions come back which shouldn't come |
7 |
up if someone followed the Gentoo Installation Instructions verbatimly - but |
8 |
then again, I do realise that many installations want more/less partitions, |
9 |
use a different filesystem, want LVM/RAID, ... so they are all quite |
10 |
different from each other. |
11 |
|
12 |
One of the topics that comes up very often is the "Kernel Panic: Unable to |
13 |
mount root fs" problem. To solve it, you need either a good guiding hand, or |
14 |
good documentation. So I started writing a guide on this, but quickly |
15 |
realised that many more documents would have to be written to solve other |
16 |
problems. |
17 |
|
18 |
Enter the idea of a Knowledge Base. |
19 |
|
20 |
Such a system would contain specific answers to specific questions. The |
21 |
answers should be easy to understand and follow and should leave no room for |
22 |
different interpretations. So when someone starts reading the topic, he |
23 |
should either think "Yes, this is exactly what I'm having" or "No, this is a |
24 |
bit different from what's happening on my system". |
25 |
|
26 |
To make sure topics are well structured, I was thinking about something like |
27 |
<title> |
28 |
<synopsis> |
29 |
<environment> |
30 |
<analysis> |
31 |
<solution> |
32 |
|
33 |
The title should be dense but clear: a user searching for a solution often |
34 |
only sees the title. Hence, he should be able to understand that the topic |
35 |
is either a good candidate for his problem, or no candidate. |
36 |
|
37 |
The synopsis describes what happens, such as error message, or abnormal |
38 |
behavior, including a specific action that triggered it if the trigger is |
39 |
clear (not an example trigger, but /the/ trigger). |
40 |
|
41 |
The environment tells what is configured for the problem to occur. This can |
42 |
be very simple (or even empty) and is an aide to the user to verify if the |
43 |
described problem really focuses on his issue. If the environment sais that |
44 |
the issue occurs with LILO being installed and the user has GRUB, this |
45 |
should be sufficient for the user to know this doesn't apply to him. The |
46 |
environment is also a way to tell developers not to write generic topics - |
47 |
those are documentation guides, not knowledge base topics. |
48 |
|
49 |
The analysis informs the user why the problem occurs, and is meant to teach |
50 |
him about the system. Users not interested in learning might want to skip |
51 |
this (and come back if they can't figure out the solution without, but this |
52 |
should be quite infrequent). |
53 |
|
54 |
The solution is a step-by-step instruction on the solution for the problem. |
55 |
This can (and probably will be) very dense too, such as "rebuild the kernel |
56 |
and install it (with a reference to the kernel upgrading guide)" or "edit |
57 |
grub.conf and change the 'default' setting to blabla". Of course, some |
58 |
topics will require a large explanation - that's fine too. |
59 |
|
60 |
|
61 |
Of course, having many topics doesn't help if the user can't find them. This |
62 |
would require a good search engine. Most good search engines are related to |
63 |
the technology used, so while searching for a good framework (or starting |
64 |
the development of one) we should focus on the search engine that's part of |
65 |
it. |
66 |
|
67 |
The best search feature is a natural language expression. A user that can |
68 |
type in his problem will really appreciate this, and if I may believe most |
69 |
sites on natural language queries, they are more likely to provide enough |
70 |
information to find the result that suits the user best. |
71 |
|
72 |
One more feature that I would like to see in place, but isn't mandatory, is |
73 |
a user feedback system like PHPs. Although this might (or probably will) |
74 |
require maintenance and rules (like no trolling, asking for help -> forums, |
75 |
...), it would make the KB not only a good asset for Gentoo for information |
76 |
retrieval, it would also give the users a chance to contribute (good |
77 |
comments might lead to an update of the topic) /and/ be sure that what they |
78 |
say is noticed (as it is displayed). |
79 |
|
80 |
I have consulted the infrastructure project a bit about supported |
81 |
technologies. PHP and MySQL is supported (which brings a lot of frameworks |
82 |
into play), others (like Java EE) aren't, but that doesn't mean they will |
83 |
never be. It just means that, if we want a different technology, we'll need |
84 |
to persuade more, perhaps even have a couple of admins in the infrastructure |
85 |
project to make sure that the technology is well maintained (in case of |
86 |
emergency, security issues, ...). |
87 |
|
88 |
Before I lay down a plan on what to do, I hope to hear from others (that |
89 |
means you) what you had in mind when hearing about a "Knowledge Base"? Does |
90 |
it fit with the description on the KBase project site |
91 |
(http://www.gentoo.org/proj/en/kbase)? |
92 |
|
93 |
Wkr, |
94 |
Sven Vermeulen |
95 |
|
96 |
-- |
97 |
Gentoo Foundation Trustee | http://foundation.gentoo.org |
98 |
Gentoo Council Member |
99 |
|
100 |
The Gentoo Project <<< http://www.gentoo.org >>> |