Differences between revisions 4 and 5
Revision 4 as of 2008-07-02 14:38:42
Size: 2603
Comment:
Revision 5 as of 2009-11-17 09:36:17
Size: 4578
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
When we make a stable release, we take a snapshot of the current development documentation. This is the stable documentation. It should only be updated if there are factual errors, or if we make a new minor release of the stable software. Otherwise documentation is updated in the development branch. When we make a stable release, we promote current development documentation to be the stable documentation. It should then only be updated if there are factual errors, or if we make a new minor release of the stable software. We then copy all documentation to the dvelopment branch, where all other documentation updates should be maintained.
Line 9: Line 9:
The stable documentation snapshot is also made available as PDF files. The previous stable documentation made available as a snapshot in PDF files.
Line 17: Line 17:
 1. Mark on all the main stable manual pages that the manuals are being updated. Simply replace all text with something like "This manual is being updated. Please check back in an hour."
 2. For all XXX_Manual_devel/YYY wikipages (you can find them in the Title Index)
   1. view them as raw text
   2. copy the entire text
   3. paste it in the wikipage XXX_Manual/YYY (create it if necessary)
   4. replace all links to ZZZ_Manual_devel with ZZZ_Manual
   5. download all attachments from XXX_Manual_devel/YYY
   6. upload all attachments to XXX_Manual/YYY
 3. For all main XXX_Manual_devel pages
   1. view them as raw text
   2. copy the entire text
   3. paste it in the wikipage XXX_Manual/YYY (create it if necessary)
   4. replace all links to ZZZ_Manual_devel with ZZZ_Manual
   5. replace the text in the top saying that this is the development manual with text saying it is the stable manual.
 4. Sanity test
   1. Check that no part of the stable manual points to the development manual (this can be done by clicking the title link while viewing the development manual. That will find all pages linking to the development manual)
   2. Check there are no missing attachments. This can be done by searching for the word "attachment" in the manual pages
Copying documentation to a new branch:
Line 35: Line 19:
== Making PDF files from stable documentation == Copying documentation to a new branch:
Line 37: Line 21:
This is done by printing to a PDF-file.

To make illustrations the approximate right size, we have experienced that printing from firefox 3 gives good results. Headers and footers should be removed in the page setup.
 1. Find page names
   * Go to [:Welcome:the wiki]
   * Enter the old version number (e.g. 3.10) in the search field, click 'Titles'
   * Copy all the page names into an open text editor
 2. Package data
   * Make sure you have the Firefox Add-on [https://addons.mozilla.org/en-US/firefox/addon/966 'Tamper Data']
   * Go to ["Documentation"]
   * From the 'More Actions:'-dropdown, select 'Package Pages'
   * Under 'List of page names - separated by a comma' enter a few page names.
     * Unfortunately, the input field has a max-length that avoids inputting them all.
     * To get around this:
       * Turn on Tamper Data by selecting 'Tools'->'Tamper Data'
       * Click 'Start Tamper'
       * Then click the 'Package pages' button on the web page
       * Remove the checkbox for 'Continue tampering', then click 'Tamper'
       * Replace the value for 'pagelist' with the entire list of pages
         * Note that the list needs to be URL-encoded, including the commas.
         * You can use an online tool for this, for instance [http://www.opinionatedgeek.com/dotnet/tools/urlencode/Encode.aspx this one]
       * Click OK
   * A zip-file is now attached to the page, click 'Attachments'
   * Click 'get' and save it to disk
   * Click 'del' to delete it from the page
 3. Update package
   * Unzip the package
   * Edit the file MOIN_PACKAGE
   * Query/Replace "Created by the PackagePages action." with "Generated documentation branch for 3.12" (replace 3.12 with the new version number)
   * Query/Replace "3.10" with "3.12" (replace with old and new version numbers)
   * In all the pages named with numbers, replace 3.10 with 3.12
     * You can automate this with Linux tools.
     * First make sure all references to 3.10 can be replaced with 3.12.
       * {{{$ grep -h -r -o ........."3\.10" .|sort -u}}}
       * This lists all occurences of 3.10 with 9 characters of context.
         * Review everything that isn't a manual
     * Then replace 3.10 with 3.12
       * {{{$ sed -i -e "s/3\.10/3.12/g" *}}}
     * If anything from the review above indicated that it should not be replaced, manually change it back.
   * Zip the package again
 4. Install the package
   * Go to ["Documenation"]
   * Click 'Attachments'
   * Add the new package
   * Click 'install'
 5. Copy all attachments (this is the annoying manual part)
   * Go to [:TitleIndex:the title index]
   * For all pages in the 3.10 manuals with a paper click next to them, do the following:
     * Click the paperclick
     * Save all attachments to disk
     * Edit the URL line in your browser to the new version (e.g. 3.10->3.12)
     * Upload all the saved attachments
 6. Update the text on manuals in progress
   * For all manuals in the 3.10-scope, remove the text about the manuals being in progress
   * For all manuals in the 3.12-scope, update the reference to stable manuals to point to the 3.10 manuals
 7. Take a snapshot at the old stable manual (e.g. 3.8)
   * For each manual on ["Documentation"]:
     * Print the manual to a PDF file
   * Attach the file to the page ["Release Overview"], keeping naming conventions
   * The page will now automatically show up in ["ManualArchive"]
 8. Update the manual front page
   * Go to ["Documentation"]
   * Update stable manuals to point to 3.10. Update unstable manuals to point to 3.12

Maintaining Documentation

Stable branch and development branch

We continously maintain documentation for the stable version, and for the development version. Basically, we maintain the descriptions in the development documentation to reflect SVN HEAD. Thus these documents are never really stable, but always a work in progress.

When we make a stable release, we promote current development documentation to be the stable documentation. It should then only be updated if there are factual errors, or if we make a new minor release of the stable software. We then copy all documentation to the dvelopment branch, where all other documentation updates should be maintained.

The previous stable documentation made available as a snapshot in PDF files.

The documentation is maintained in separate wikipages per chapter, and combined by Include-macros on the main manual wiki-page. Illustrations are attached to the subpages.

Making a snapshot

Making a snapshot of the development documentation is a somewhat elaborate procedure. Here are the necessary steps.

Copying documentation to a new branch:

Copying documentation to a new branch:

  1. Find page names
    • Go to [:Welcome:the wiki]

    • Enter the old version number (e.g. 3.10) in the search field, click 'Titles'
    • Copy all the page names into an open text editor
  2. Package data
    • Make sure you have the Firefox Add-on [https://addons.mozilla.org/en-US/firefox/addon/966 'Tamper Data']

    • Go to ["Documentation"]
    • From the 'More Actions:'-dropdown, select 'Package Pages'
    • Under 'List of page names - separated by a comma' enter a few page names.
      • Unfortunately, the input field has a max-length that avoids inputting them all.
      • To get around this:
        • Turn on Tamper Data by selecting 'Tools'->'Tamper Data'

        • Click 'Start Tamper'
        • Then click the 'Package pages' button on the web page
        • Remove the checkbox for 'Continue tampering', then click 'Tamper'
        • Replace the value for 'pagelist' with the entire list of pages
        • Click OK
    • A zip-file is now attached to the page, click 'Attachments'
    • Click 'get' and save it to disk
    • Click 'del' to delete it from the page
  3. Update package
    • Unzip the package
    • Edit the file MOIN_PACKAGE
    • Query/Replace "Created by the PackagePages action." with "Generated documentation branch for 3.12" (replace 3.12 with the new version number)

    • Query/Replace "3.10" with "3.12" (replace with old and new version numbers)
    • In all the pages named with numbers, replace 3.10 with 3.12
      • You can automate this with Linux tools.
      • First make sure all references to 3.10 can be replaced with 3.12.
        • $ grep -h -r -o ........."3\.10" .|sort -u

        • This lists all occurences of 3.10 with 9 characters of context.
          • Review everything that isn't a manual
      • Then replace 3.10 with 3.12
        • $ sed -i -e "s/3\.10/3.12/g" *

      • If anything from the review above indicated that it should not be replaced, manually change it back.
    • Zip the package again
  4. Install the package
    • Go to ["Documenation"]
    • Click 'Attachments'
    • Add the new package
    • Click 'install'
  5. Copy all attachments (this is the annoying manual part)
    • Go to [:TitleIndex:the title index]

    • For all pages in the 3.10 manuals with a paper click next to them, do the following:
      • Click the paperclick
      • Save all attachments to disk
      • Edit the URL line in your browser to the new version (e.g. 3.10->3.12)

      • Upload all the saved attachments
  6. Update the text on manuals in progress
    • For all manuals in the 3.10-scope, remove the text about the manuals being in progress
    • For all manuals in the 3.12-scope, update the reference to stable manuals to point to the 3.10 manuals
  7. Take a snapshot at the old stable manual (e.g. 3.8)
    • For each manual on ["Documentation"]:
      • Print the manual to a PDF file
    • Attach the file to the page ["Release Overview"], keeping naming conventions
    • The page will now automatically show up in ["ManualArchive"]

  8. Update the manual front page
    • Go to ["Documentation"]
    • Update stable manuals to point to 3.10. Update unstable manuals to point to 3.12

Maintaining Documentation (last edited 2010-11-23 17:59:43 by SoerenCarlsen)