<% Server.Execute("inc_style.asp") %> <% Server.Execute("inc_header.asp") %>
Knowledge Base Search v2.0
:: Overview
:: Features
:: System Requirements
:: License
:: On-line Demo
:: Download

:: Installation
:: Configuration :: Database Layout
:: Customization :: User and Administration Interfaces :: Upcoming Features
:: Additional Help



Overview

Knowledge Base Search is a flexible knowledge base system for your web site. It can display articles in a Question/Answer, Problem/Solution or any other content format. Knowledge Base Search is easy to install, integrate and maintain. All styles can be managed through access of setup.asp. Your own custom design can also be applied via the inc_header.asp and inc_footer.asp HTML files that create a "wrapper" around the forum content. Since this application includes the complete ASP (VBScript) source code and a Microsoft Access database, it can be customized and integrated to suite your environment.

Features
    :: Searches by specified keywords, allowing for a closer match
    :: Complete style control - change colors, layout, logos, and more
    :: Intuitive user interfaces allow non ASP-savvy users to completely customize the system
    :: 100% customizable design and integration using your HTML template
    :: No 3rd party DLL's, executables, or any other files
    :: Support for popular SMTP E-Mail components (ASP Email, ASP Mail, CDONTS, JMail, etc.)
    :: Supports Microsoft Access Database
    :: Users can 'Email Article to a Friend'
    :: Standard ASP VBScript means you have the customizable source code
    :: Easy to use admin interface lets you maintain the site using any browser
    :: Code Preview feature lets you preview your article before you submit it
    :: Article Rating allows users to rate an article based on it's effectiveness, accuracy, and relevance
System Requirements

This system requires that your web site be hosted on Microsoft IIS 4.0 or later. Knowledge Base Search can use an Access database file which will work on most ISP hosted sites. 'Email Article to a Friend' feature requires one of the supported E-Mail Components listed above.

License

All files within (and including) kbsearch.zip are part of Knowledge Base Search.

Knowledge Base Search is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

Knowledge Base Search is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See readme.txt for more details.

You should have received a copy of the GNU General Public License
along with Knowledge Base Search; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

On-line Demonstration

^ Top

Installation

The installation process entails..

    1) "unzipping" the included .zip file
    2) extracting or copying the files to a Web accessible folder (recommended: kbsearch)
    3) connecting to the Access (kbsearch.mdb) database

    Microsoft Access Database
    • - unzip the kbsearch.zip file to a Web shared (alias or virtual created via IIS) folder
    • - make sure the folder the database is in has write permissions
    • - make sure the database connection path (cString) is valid for your database (to check, open the source code of inc_common.asp)

      The most common reason for problems is that the Internet Guest account (IUSR_MACHINE) does not have 'Write' permissions on the database file (.mdb). To fix this problem, use the Security tab in Windows Explorer to adjust the properties for this file so that the Internet Guest account has the correct permissions. When using Microsoft Access databases with ADO, it is also necessary to give the Internet Guest account Write permissions on the directory containing the .mdb file. This is because Jet creates an .ldb file to handle database locking. You may also need to give read/write permission on the Temp folder because Jet may create temporary files in this directory.
^ Top

Configuration

To set-up your site, there are some basic settings that need to be modified. Some of these settings can be updated from your Web browser, and others require that you can open the appropriate .asp files in an editor. This editor can be any standard text or HTML editor (FrontPage, Visual InterDev, Dreamweaver, Notepad, etc..). The application database comes pre-populated with data so that you can see how the .asp pages interact with the database.
  1. Adding Articles:

    Adding an article is very easy.  Simply navigate your way to 'addarticle.asp'.  There, you need only fill in the required information about the article (such as it's Title, Keywords, Description, Text), and click Submit.  That article will then be added to the database.

  2. Enabling / Disabling 'Email Article to a Friend':

    This system has the ability to allow users to email an article to a friend using one of the following mail systems:

    -- ASPEmail
    -- ASPMail
    -- CDONTS
    -- ChiliCDONTS
    -- JMail
    -- JMail4
    -- SMTP

    By default, this feature is turned on.  To turn this feature off, simply navigate to 'setup.asp', and select "No" from the dropdown list labeled "Allow email article to friend?".
     
  3. Enabling / Disabling Rating Article Feature

    If you choose, users can rate articles based on their effectiveness, accuracy, and relevance via 'pop_ratearticle.asp'.  This feature can be disabled by selecting "No" from the dropdown box labeled "Allow users to rate articles?" on 'setup.asp'.
     
  4. Change the admin password:

    For security reasons, it is recommended to change the default admin account password (admin) via 'setup.asp'  To change the password, or any other account information, just change the values in the corresponding fields, and click "Submit".
^ Top
Database Layout
    Database Tables (tbl_KbSearch):

    -- articleTitle - The article's title.  E.G.: "Sending data through a form".

    -- keywords - Keywords that the article can be found by searching.  Keywords may be separated by commas, periods, spaces, dashes, or any other method you feel appropriate.  It is recommended that you use commas, so that you can tell the difference between a singly keyword and a keyword phrase.

    -- description - The article's long description (max 255 char.).  This field is used to describe, in more detail, what the article is about.

    -- articleText - This is simply the text that makes up the article, in HTML format.

    -- articleIndexed - Specifies whether or not this article is allowed to be searched by normal users.  In a "Yes" or "No" format.

    NOTE: Other tables may exist that are not used for the functionality of this version  Please DO NOT modify any field names unless you know what you are doing.  It is recommended that you not modify the table 'tbl_Admin'.  Doing so may damage the functionality of the system.
^ Top
Customization

To make functional changes to your site, an understanding of Active Server Pages, VBScript, HTML and relational database design is needed.

Changing the style and look of the site

    Your own custom design can also be applied by changing the fields in setup.asp.  Fields such as Header Logo, Website Title, Homepage URL, and all of the table, link, and body styles can be modified to give the Knowledge Base Search the look and feel of your website.  If you are more familiar with CSS, you can add extra style elements by editing 'inc_style.asp'.  NOTE: It is recommended that you not modify any of the included ASP code.  If you want to add a style, do so in the latter part of the code where styles are defined.

Changing page content and functionality

    The search page (search.asp), is the most common page that developers wish to modify. You may want to change the layout, or display different database-driven content. Familiarity with HTML, ASP, VBScript, and database design is useful when undertaking this task. To modify the search page (or any other page), simply open the page in any standard text or HTML editor.

    If you would like to modify other pages, consider the following page architecture that is used consistently throughout all pages in the application.

    -- The 'inc_common.asp' file (lower level database connection as well as a few functions) is included at the top of every page.

    -- Variables are declared (Dim)

    -- The "validateID(aID)" function

    -- The "searchKb(keywords, searchstring)" function

    -- The "IsEvenOdd(num)" function

    -- Main code section (executed regardless of value of action variable)

    -- The 'inc_header.asp' include file is displayed

    -- The 'inc_footer.asp' include file is displayed

    -- Forms and content are displayed

Changing the logo, website title, and homepage address

    This basic information can be modifyed through 'setup.asp' by editing the corresponding fields.  To give your website your own look and feel, you may want to edit the headers and footers ("inc_header.asp", "inc_footer.asp").  Please note that knowledge of HTML and/or ASP / VBScript is needed in order to do this.

Article Text functions

    There are several very useful functions available for use when creating an article.  For users without HTML experience, there are even a few buttons that may be clicked to create HTML elements, such as paragraphs, bold / italicized / underlined text, hyperlinks, email links, and more.  The various functions are listed below:

    -- Bold - Highlight the desired text, and click this button.  The text will then be prepped to be bolded.

    -- Italics - Highlight the desired text, and click this button.  The text will then be in italics.

    -- Underline - Highlight the desired text, and click this button.  The text will then be underlined.

    -- Hyperlink - Selecting a URL and then clicking this button will result in that URL becoming a hyperlink.

    -- Email link - Highlight the email address you wish to make an email link, and click this button.

    -- Paragraph - This button creates a new paragraph using the selected text, or inserts a new one.

    -- Center / Right align text - Does just that to whatever text you select.

    -- Image - Inserts an image into the page using a predefined image URL, or creates a new one.

    -- Table - Uses selected text to create a simple table, or makes a new table from scratch.

    -- List - Creates a list of elements.

    -- Preview article - This feature allows the administrator to view their article in a new window to make sure everything is formatted correctly.  Below the Article Text input, there is a link named "Preview Article".  Click on this to preview that code as it will be displayed for users.  NOTE: If your article displays code for creating HTML / ASP elements that use a < or >, for creating tags like <table>, they will not display correctly.  You must use &lt; and &gt; in its place.  This system is set up to help detect this, but you must make sure that you enter the &lt; and &gt; in the first place.  Once you have done this correctly, the system will do the rest.  All three included articles contain these pieces of code, so make sure to look out for them to give yourself an idea of how to do it in the future.

Access levels / Security

    To modify any settings, as well as add, update, delete, lock and unlock articles, you must be logged in as the administrator.  For greater flexibility, you are even able to change the admin username, as well as the password.  Once you are logged in, you will remain logged in for roughly 20 minutes or so, until your Session expires with the server.  At that point you will be required to log in again.  There is no real need for a 'log off' function, because to log off, all you need do is close the window, or navigate to another webpage.

^ Top
The User and Administration Interface

User Pages

  • Search

    The 'setup.asp' page allows both the users and administrator to search through the knowledge base.
     
  • Viewing Articles

    Both users and administrators may view articles through 'viewarticle.asp'.
     
  • Emailing Articles

    Depending on your settings, users may be allowed to email an interesting article to a friend via 'pop_email.asp'.  If you receive spam complaints, you can turn off this feature by selecting "No" from the dropdown box labeled "Allow email article to friend?" on 'setup.asp'.

Administration Pages

Administration pages are pages which only the admin may view and modify.  Pages check to see if the user is logged on as the administrator by querying the "adminLoggedIn" Session.  If they are not logged on, they redirected to the login page.  For more information on security, see "Access levels / Security"

All administrative features can be accessed via 'search.asp?mode=admin' and 'setup.asp'.
  • Search

    When logged in as the admin, you can still search the database for keywords.  Simply click the "Switch to Search Mode" link near the bottom of 'search.asp' to search the database.
     
  • Content / Article Management

    The admin can, at any time, add, update, delete, lock or unlock any article as needed.  This is accomplished through several pages.  The easiest way to do this is through 'search.asp?mode=admin'.  There are several icons on the right of each article to edit, delete, lock / unlock it.  At the bottom of 'search.asp?mode=admin', there are several other options as well: Add Another Article, Switch to Search / Admin Mode, and Setup.

    Locking / Unlocking an article toggles it in and out of the search range of normal users.  Use this function if you want to limit an article to only be viewed by the administrator.

  • File Library

    All articles are placed inside the database using the required fields.  When you view 'search.asp?mode=admin', you will be viewing all articles added, regardless of whether or not they are viewable by all users.  Once you have added an article, you can edit it through this same page by clicking the Edit Article icon (pictured as a pencil) at the right of the article's listing.
^ Top

Upcoming features

There are many goodies being worked on for future versions of Knowledge Base Search.  Here are a few:

  • Categories - Allows articles to be placed into categories based on topic, and allows users to search within a particular category (or within all)
  • Outside Links - This feature will allow the admin to easily link to articles outside of their domain.  For example, placing an article within the database that links to a Microsoft MSDN article
  • User Login for Article Rating - This feature would allow the admin to specify that users must log on with their username and password first to be able to rate articles.

Additional Help

Because this program is freeware, live support is not available.  However, if you have questions or comments, please feel free to email us at webmaster@andydvorak.net.

^ Top

<% Server.Execute("inc_footer.asp") %>