• Leigh B. Stoller's avatar
    The Emulab Knowledge Base! · 6f08c442
    Leigh B. Stoller authored
    Okay, I implemented a primitive Knowledge Base! The current contents are
    *all* the existing FAQ entries, which I entered manually. Here are the
    * My reason for doing this is that we need something very simple. The wiki
      is too much of a barrier, and its search capabilities are pathetic.
    * The search page for the Knowledge Base is:
      Fairly primitive keyword search. Turns out that mysql 4.0 has a bunch for
      really good text searching functions built in, but we run 3.23 ... so I
      had to roll it myself. So, its a simple keyword (space or comma
      separated) search, no regular expressions.
    * Each DB record has a "faq_entry" flag, so creating the current FAQ on the
      fly from the DB is easy. See:
    * In reddot mode, you can add new KB entries:
      The form is fairly obvious but here are details anyway:
        Section Name: Choose an existing title, or make up a new one.
        Title:        The title of the KB (or FAQ) entry.
        Faq Entry:    Check this box if the new entry should show up in the FAQ.
        X Ref Tag:    A token so you can refer to other KB entries by name,
                      instead of by its index. Within the KB entry you would
                      write: <a href=kb-show.php3?xref_tag=sometag>
        Body:         Whatever you like. I took the existing FAQ entries and
                      stuck them with no changes except for the xref_tag
                      mentioned about (since some entries referenced other
    * Once you click on sumbit, you will see the entry as it will appear to
      users, along with a submenu to Modify/Delete/Add entries. You can modify
      the current entry from that menu. Mere users do not see this menu, only
      when in reddot mode.
    * The intent here is that we can generate new entries really easy, right
      from email if you like (with appropriate <pre> or <xmp> tags around it).
    * I have added sql/knowlbase-create.sql and a makefile target to
      generate that file when creating a distribution. I also added a section
      to install/boss-install to insert the entries into the new DB.
    * I hooked the search function into the existing Search Documentation link.
      We know search both the Knowledge Base *and* the Documentation on doc
      searches. This probably needs a little more work to get right.
    * I changed a lot of faq links to be more consistent and to reference
      the proper xref_tags (#swapping instead of #UTT-34).