diff options
Diffstat (limited to 'glep-0013.rst')
-rw-r--r-- | glep-0013.rst | 286 |
1 files changed, 286 insertions, 0 deletions
diff --git a/glep-0013.rst b/glep-0013.rst new file mode 100644 index 0000000..2542736 --- /dev/null +++ b/glep-0013.rst @@ -0,0 +1,286 @@ +GLEP: 13 +Title: Providing the users with a Gentoo Handbook +Version: $Revision$ +Last-Modified: $Date$ +Author: Sven Vermeulen <swift@gentoo.org> +Status: Final +Type: Standards Track +Content-Type: text/x-rst +Created: 15 Aug 2003 +Post-History: 19-Aug-2003 25-Oct-2004 + +Abstract +======== + +This GLEP provides a vision on the evolution of the Gentoo Documentation, +namely a handbook-like document that provides its readers documentation about +every aspect of the Gentoo distribution: installation, administration, +application usage, development etc. + +Motivation +========== + +Gentoo's current Installation Guide [#InstGuide]_ is rapidly growing, being +extended with more and more features that the Gentoo users can help with their +quest for the perfect installation. This increase is needed and a Good Thing, +but it makes the guide less easy to read or use as reference. + +There is no reason whatsoever that this evolution will stagnate, on the +contrary: people start asking why the Alternative Installation Guide +[#AltInst]_ isn't merged into the Gentoo Installation Guide, or why the +platform-specific installation guides can't be merged as they all use the same +steps (with a few differences). I myself even hope to merge our LVM Guide +[#LVM]_ into the Installation Guide as I believe several of our users would +love to use LVM on their machines, but currently don't because they don't know +how handy and easy it is -- you all know this feeling :) + +Rationale +========= + +To address the beforementioned problem, there are two ideas: + +- Split the Installation Guide into several independent guides. For instance, + we can move the information regarding the kernelconfiguration into the + Kernel Guide, create a partitioning-howto that decribes the fdisk (and + possibly others) steps users need to go through, etc. + +- Merge all information into one Big Handbook. This is of course an idea that + we borrow from our FreeBSD friends [#FBSDHandBook]_ who already have an + extensive handbook related to their BSD-distribution. + +It is this second idea that this GLEP describes. + +This handbook-idea doesn't decrease the installation instructions, on the +contrary, it extends them. However, by choosing a multiple-page handbook-like +document, our users receive a fully integrated document that embraces +everything he or she wants to know. It will also make it more easy to provide +printable documentation (in PDF or other form) without loosing the comfort of +having the installation documents online and on the LiveCDs. + +Implementation +============== + +To implement such a handbook, the Gentoo Documentation Project [#GDP]_ needs a +rewritten stylesheet for its GuideXML [#GuideXML]_ format. Since there are no +problems with GuideXML itself, and since it is very flexible in its use, the +recommendation to stick with GuideXML is clear. We do need some extra features +in GuideXML, without breaking the current GuideXML implementation. + +This last thing is important, since implementing this handbook-like document +should be done parallel to the development of our current documentation: +developing the Gentoo Handbook takes a long time and we don't want to force +our users to use a non-usable document. + +After improving the GuideXML format, the first things that need to be +addressed are the installation instructions. They should be merged with other, +existing guides that inform the user with installation-specific items (such as +the Alternative Installation Guide, LVM Guide, Platform-specific Installation +Guides, etc.) + +Other chapters that need to be put in place are: + +- A chapter on Gentoo Development, which embraces all current + development-specific guides, such as the Gentoo Developer HOWTO, the Gentoo + Policy, the Ebuild HOWTO, the Eclass HOWTO, etc. This has already been + frequently asked by the Gentoo ebuild maintainers and several other Gentoo + Developers. + +- A chapter specific to System Administration, such as Mailserver + Administration, User Administration, Printing Administration etc. We already + have several guides that describe parts of these items. + +- A chapter specific to Gentoo Usage, including our popular Desktop + Configuration Guide [#Desktop]_ and several Application-specific guides. + +The following sections describe these steps more in detail... + +Extending GuideXML +------------------ + +The GuideXML format should be extended with the following items: + +- More depth regarding information-divisions. + +- "Including" external sourcecode + +- Easier in-document references + +Our current GuideXML format provides us the following depth regarding +information-division:: + + <guide> + <chapter> + <section> + +The ``<guide>`` tag is currently a one-time tag: it defines the start of the +guide, and of course the guide ends with ``</guide>``. +The ``<chapter>`` tag divides the document into separate chapters. However, +most of our documents have small chapters, whereas normal books and documents +have chapters that encompasses several pages. +The ``<section>`` tag further divides the chapter in which it resides. + +This means that our current installation guides have a division-depth of 2: +you can define a chapter, and in that chapter make subdivisions with +``<section>``. This is however insufficient for a handbook-like document. To +improve the GuideXML, we can add ``<subsection>`` and, if needed, +``<subsubsection>``, based on LaTeX's divisions. + + +Another requisite is to be able to include external documents. Without this +possibility, maintaining the handbook would be cumbersome to say the least. +XSLT (which is used to process the GuideXML files) can easily provide this, so +there are no specific needs to include this feature. + +A possible tag would be ``<include file="foobar.xml" />``. + +With such a division, we could have each chapter inside its own document, +making maintenance far more easy. + + +The final implementation is in-document references. Currently, the Gentoo +Documentation Developers have so guess in what chapter a certain section +resides, and what section we are actually discussing: ``#doc_chap4_sect3`` +provides us with a link to chapter 4, section 3. This is a workable +implementation for small documents, but impossible for handbooks. + +Implementing a more HTML-alike reference inside the division-tags would be +preferable: ``<chapter name="installation">``, ``<section +name="partitioning">`` etc. Referring would then be ``#installation`` and +``#partitioning`` respectively. + + +Installation Instructions +------------------------- + +The first real chapter (after some introduction) would be one about the Gentoo +Installation. This chapter could then include all information regarding +alternative installation instructions, architecture specific instructions, +partitioning schemes, RAID installations and more without continuously +referring to other sections throughout the handbook. + +In other words, a user that wants to install Gentoo Linux on his SPARC with +ATA RAID should be able to do so following the instructions in the chapter +*without* having to go forth and back between several pages. Creating such a +chapter is not that easy just because we don't want our users to be sent from +left to right and over again. + +Developing this chapter should be done in parallel with the development of the +current guides (who still have a higher priority since these are still the +official installation instructions as long as the chapter in the handbook +isn't finished and reviewed for accuracy). + +System Administration +--------------------- + +This chapter, which bases its content on an existing base installation of +Gentoo, described in the previous chapter, contains sections for several +important administration items. This is a chapter that currently doesn't have +many affected guides, but is very important to make Gentoo work (and be +documented) in server-environments. + +The sections contain information on, but not limited to:: + + - Software Administration + + - User Administration + + - Mail Administration + + - Print Services + + - Network Administration + + - Storage Management + + - Security + + - Clustering + + +Gentoo Development +------------------ + +As previously explained, this chapter would contain all the information needed +to help the Gentoo development. It would embrace all the current existing +guides regarding Ebuild and Eclass development, Stage Creation, Gentoo Policy +etc. + + +User Applications +----------------- + +Whereas the System Administration chapter contains the information on how to +install software and services (such as XFree), this chapter would contain +information for the users (not the administrators) on how they can use +software installed by the system administrator. + +Gentoo currently has several guides that describe such user applications +[#GenDoc]_ and it seems that these are guides that our users really +appreciate, so neglecting them would be signing our own death wish :) + +Due to the nature of these documents, the User Applications chapter will exist +of independent sections. + +Backwards Compatibility +======================= + +By making only small changes (actually extending) the GuideXML format, it is +possible (and even advisable) to develop each chapter on its own parallel +with the guides that are involved. + +By developing the handbook in a subdirectory of the current documentation +directory (for instance ``http://www.gentoo.org/doc/en/handbook``) we maintain +the current documentation. When a chapter on the handbook is finished, the +involved documents can contain a big note on top, declaring that they are now +obsoleted by the handbook's chapter. + +However, note that this handbook does **not** and will **not** embrace all +documents that the Gentoo Documentation Project produces. It is very likely +that there are guides that don't have a clear position inside this handbook. +Instead of forcing the guide somewhere, we should leave the guide as a +stand-alone document. + +Reference Implementation +======================== + +This is a possible roadmap for the Gentoo Handbook:: + + - Improve the GuideXML format, possibly creating a handbook.xsl stylesheet + (and leave the guide.xsl as it is now). + + - Implement the Installation Instructions + + - Develop a consistent layout, keeping the guides that are to be implemented + in mind. + + - Include all referenced guides. Do *not* extend it yet. + + - Review the installation instructions and make them official + + - Extend at will :) + + - Implement the Gentoo Development Instructions + + - Implement the User Application Instructions + + - Implement the System Administration Instructions + + +References +========== + +.. [#InstGuide] http://www.gentoo.org/doc/en/gentoo-x86-install.xml +.. [#AltInst] http://www.gentoo.org/doc/en/altinstall.xml +.. [#LVM] http://www.gentoo.org/doc/en/lvm.xml +.. [#FBSDHandBook] http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html +.. [#GDP] http://www.gentoo.org/proj/en/gdp +.. [#GuideXML] http://www.gentoo.org/doc/en/xml-guide.xml +.. [#Desktop] http://www.gentoo.org/doc/en/desktop.xml +.. [#GenDoc] http://www.gentoo.org/main/en/docs.xml#doc_chap1_sect5 + +Copyright +========= + +This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 +Unported License. To view a copy of this license, visit +http://creativecommons.org/licenses/by-sa/3.0/. |