=======================================================================
   ASP Forums version 1.11 - 22nd May 2000.
=======================================================================

=======================================================================
"ASP Forums" - a web-based discussion forum implementation.
Copyright (C) 1999, 2000  ASP Forums, http://www.aspforums.com/

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

This library 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 the GNU
Lesser General Public License for more details.

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

This is the 1.11 release of the ASP Forums software.  It is a fully-
working, free, componentless discussion forum written for Microsoft's
Active Server Pages.

Version 1.x is now in maintenance-only mode, and although serious bugs will
continue to be fixed, no new development will take place on it.  Stay
tuned for version 2.0 though, coming soon!


CHANGES FROM 1.10

To upgrade from 1.10 to 1.11, you need only change your discussionengine.asp
file.

* Fixed bug in searching.  Searching used to give the error:

	Microsoft JScript runtime error '800a01b6' 

	Object doesn't support this property or method 

	<folder>/discussionengine.asp, line 3814 

  if the search returned 1 or more records.  Silly mistake on my part.


CHANGES FROM 1.09

To upgrade from 1.09 to 1.10, you need only change your discussionengine.asp
file.

* Administrators can now edit posts whether or not
  config.switchAllowUserEditing is set.

* Changed the way dates are displayed in search results.  Now a much
  nicer format is used.

* getNewSortCode_disc now promoted to member of the ForumDatabase object.

* New caching on DSN creation - not called if you manually set the DSN.

* DHTML now Netscape 6 / Mozilla compatible.

* New prototype additions:

	ForumMessage.prototype.sendAdminAlert = sendAdminAlert_disc;
	ForumMessage.prototype.sendUserAlert = sendUserAlert_disc;

* Renamed the following method prototypes which were introduced in the
  previous release.

Date.prototype.getNormalisedDate = getNormalisedDate_disc;
Date.prototype.getNormalisedTime = getNormalisedTime_disc;
Date.prototype.getNormalisedDateTime = getNormalisedDateTime_disc;

  Are now:

Date.prototype.getODBCNormalisedDate = getODBCNormalisedDate_disc;
Date.prototype.getODBCNormalisedTime = getODBCNormalisedTime_disc;
Date.prototype.getODBCNormalisedTimeStamp = getODBCNormalisedTimeStamp_disc;


CHANGES FROM 1.08

As of this version, ASP Forums now uses the Lesser GNU Public License.  This
change shouldn't adversely affect anyone.

To upgrade from 1.08 to 1.09, you need only change your discussionengine.asp
file.

* Major change in the way dates are handled at the SQL side of things.
  Dates have been a major internationalisation problem for the forum code,
  mostly because SQL doesn't really like the way localised dates are
  formatted or the way US dates are formatted (or both!).  The forum code
  now uses ODBC escape sequences to format dates in a locale independent
  manner.  If this works for us all, it will be an end to all our date
  formatting woes!  Please let me know if this doesn't work for you - it's
  important to get this right for us all.

* Changed the way the new URLifier works by making the regular expressions
  more strict.  This may cause problems on some systems since 1.06 worked
  on every system I tried it on but failed for several users.

* Revamped a large part of the way tags are interpreted in rich formatting.
  This started to fix a bug where the automatic URLifier would corrupt a
  post which used the IMG tag, but it grew beyond that because the bug
  would be impossible to fix cleanly without redoing the code.  This is a
  big change and may cause problems.

* Added new configuration option - config.switchShowNewPostButtonOnMessage
  This option allows you to prevent the 'Post a new message' button from
  appearing on the reply form.

* Fixed minor bug in handling of double-quotes in subjects.


CHANGES FROM 1.07

To upgrade from 1.07 to 1.08, you need only change your discussionengine.asp
file.

* Fixed silly, silly bug in new posts - "Email me when someone responds
  to my posts" setting was always saved as 'False', irrespective of any
  choice the user made.


CHANGES FROM 1.06

To upgrade from 1.06, you need only change your discussionengine.asp
file.

* Fixed bug in new regular expression functionality.  Some servers
  returned an error on all new posts, which said "Syntax error in
  regular expression - /forum/discussionengine.asp, line 3394".  Many
  thanks to Jan Vlastuin for providing the fix to this problem.


CHANGES FROM 1.05

To upgrade from 1.05, you need only change your discussionengine.asp
file.

* Fixed bug in EmailResponses, where the setting would disappear (and
  become unsettable) if the post was edited.

* Added new configuration option - config.switchAllowUserEditing.  If
  you add this to your aspforums.asp file and set it to false, no
  one will be allowed to edit their posts.

* New feature - thanks to John Frendreiss web and email addresses are
  automatically 'linkified'.  You don't need to put [url] or [email]
  tags around them now, the formatted now picks up on the text strings
  http://, www., or anything with an @ sign and formats it accordingly.


CHANGES FROM 1.04

To upgrade from 1.04, you need only change your discussionengine.asp
file.

* Fixed bug in DHTML threading.  Actually, major changes to the way this
  is done.  You shouldn't notice any difference, except now it doesn't
  occasionally 'lose' messages from the thread.

* Fixed bug in regular threading.  Sometimes the threading would get
  screwed up and messages wouldn't be indented properly.  Not
  related to the previous problem, bizarrely enough.

* Added Dan Kelly's fix for Win2000 to the code.  Let me know if it
  works or if there are any problems with other OSs.

* Fixed problem where the form object defaulted to using a Session
  variable which may not exist on all systems.


CHANGES FROM 1.03

To upgrade from 1.02, you need only change your discussionengine.asp
file.

* Fixed bug in ODBC connection code.  Couldn't track this one down
  myself, since it always worked perfectly on all systems I tried it
  on.  Many thanks to Eric Duncan for his help in tracking down the
  problem and testing the fixes.

  The main symptom was some database accesses failing with the error
  '8004005'.  This much-loved error is just a general code for
  'something just went wrong', and it contains little in the way of
  useful information.  However, thanks to Eric's help it was tracked
  to the ODBC connection being neither closed nor re-used within a
  page access.  It's fixed now, so all accesses within a page go through
  the one ODBC connection object.


CHANGES FROM 1.02

To upgrade from 1.01, you need only change your discussionengine.asp
file.

Changes made for this release:

* Fixed bug in new DHTML code - the client-side Javascript code
  referenced /images/plus.gif and /images/minus.gif, instead of the
  images listed in the configuration object.

* The toggle for emailing the author of the parent message any
  responses had a problem which resulted in it always being set to
  true when someone responded to a post.  The problem turned out to
  be the code:

	(message.emailParentOnResponse ? 'True' : 'False')

  which should (apparently) be:

	(message.emailParentOnResponse == true ? 'True' : 'False')

  Now to me these code snippets seem identical in functionality, but
  the JScript interpreter doesn't seem to agree.  Oh well, it's fixed
  now.

CHANGES FROM 1.01

To upgrade from 1.01, you need only change your discussionengine.asp
file.  However, to take advantage of changes 2 and 3 below you need to
change your default.asp file and/or your aspforums.asp file.

* Fixed one bug where collapsing a section expanded through the
  config.expandFirstNThreads setting caused an error.

* Added some new code to the aspforums.asp file.  John Peterson of
  ASP101 (www.asp101.com) pointed out that OLE DB often has better
  performance for ASP database accesses, using the same ASP code.
  However, not everyone may have the OLE DB drivers installed on
  their server.

  As a result, the aspforums.asp file contains information on how
  to set the forum to use an OLE DB connection instead of an ODBC
  one.

* Implemented a new dynamic HTML view for IE4 and IE5 users.  This is
  still a beta release of this view, so it is not enabled by default.
  To turn it on, you need to change the line:

	<%CURRENT_ROOT_POSTS_THREADED_DISC%>

  in the default.asp file to:

	<%CURRENT_POSTS_THREADED_DHTML_DISC%>

  Users of other browsers should continue to be able to use the view as
  before.

  Remember, this is the first release of this DHTML view, so there may
  be problems with it.

CHANGES FROM 1.0

There was a really, really stupid bug in some of the threading code.  This
meant the threading sometimes skipped a message it shouldn't have.  I'm
sorry.


GENERAL INFORMATION

ASP Forums is based around a single 'discussionengine.asp' file.  This
file contains all the code necessary to run a forum.  The pages sent with
this software are quite minimalist, and are designed to allow you to tailor
the forums to your site.  The forum content in those pages is generated by
'tokens' (such as <%FORUM_TITLE_DISC%>) which are embedded in the page.
These tokens are really calls to the discussionengine.asp file to insert a
particular piece of text in this position on the page.  (In the above example,
it inserts the name of the forum.)

You should never need to directly modify the discussionengine.asp file.
Instead it should be configured via the aspforums.asp file.  This file is
really much more powerful than you'd expect.  As well as containing
configuration switches for the forum (a full list of which can be found at
http://www.aspforums.com/ASPForums/howto/configuring.asp), it allows you
to override the default methods of the forum, meaning you can substitute
your own functionality.  If you don't like the way the forum messages
are displayed in the main view, you can write your own function in the
aspforums.asp file to do it your way.  The discussionengine.asp file is
nothing more than a collection of default behaviours for a forum.  Details
of how to override some common methods can be found at:

	http://www.aspforums.com/ASPForums/howto/


FEATURES

* Fully threaded discussions, with automatic archiving after a configurable
  period of time.

* A completely tailorable look and feel, so the user interface can be
  tailored to match your site.

* Rich text input, where users can safely embed URLs and images as well as
  bold and italic text.

* Users can edit their own posts (if allowed by the webmaster).

* A full database backend for data storage, sorting and searching.

* A filter is applied to all discussion text, so youre not responsible for
  any users bad language.

* The discussion engine does all the hard work. You only need one discussion
  engine per web server, no matter how many forums you host.

* You can just extract the files and go! You dont even need to create a data
  source (although its definitely advisable) - a default file DSN is created
  for you.

* Database-vendor independent. As long as your database can handle SQL through
  ODBC, our forum software can use it. (Note - a bare Access forum database is
  included in the distribution for easy set-up.)

* SQL-based administration - a special administration tool lets you perform any
  admin task through SQL.


INSTALLATION

Installation should just be a matter of extracting the files into a
suitable sub-directory.  Full technical details of how to tailor this
product are available on the ASP Forums web site at:

	http://www.aspforums.com/ASPForums/howto/


PERFORMANCE IMPROVEMENTS

There are two things that have been said to speed up performance of ASP
Forums in particular and ASP database accessing in general.  These tips
are given here for your own information, without any hope of getting
support on them if you try and use them!

1. Use OLEDB instead of ODBC.  For example, the commented out line in the
   default aspforums.asp file mentions the following:

   config.databaseDSN =
      'Provider=Microsoft.Jet.OLEDB.4.0; Data Source=' + config.DBPath

   (That should all be on one line.)

   I'm told that OLEDB's performance is significantly better than that of
   ODBC for the same throughput.

2. Use <%Response.Buffer%> and <%Response.Flush%> at appropriate points
   through your pages.  This can have a significant impact of how pages
   are delivered to your clients, so make sure you understand the
   ramifications of this before you do it.

   Check out: http://www.learnasp.com/advice/whybuffer.asp for some
   reasons to use it.


EMAIL CAPABILITIES

ASP Forums can optionally email the administrator each time a message is
posted, as well as optionally emailing users when someone responds to a
post of theirs.  Both of these features require Microsoft's CDO NTS
library be installed on the server.

If this library is not present, no errors will be generated.  However, no
emails can be sent without it.

The CDO NTS library is a free download from www.microsoft.com


RICH TEXT

ASP Forums does not allow any HTML posting, mainly for security reasons.
However, ASP Forums allows certain tags to be included in posts. Instead
of using the standard '<' and '>' to bracket the tag name, we use '[' and
']'. As with HTML, the tags are case-insensitive.

The following rich formatting tags are available: 

	Bold


	You can make text appear in bold by surrounding the text with the
	following codes: [B]...[/B]. 

	Italics

	You can make text appear in italics by surrounding the text with
	the following codes: [I]...[/I]. 

	Quoting text

	You can separate quoted text from normal body text with the
	following codes: [QUOTE]...[/QUOTE]. 

	Email links

	You can turn an internet email address into a hyperlink by enclosing
	it in the [EMAIL]...[/EMAIL] tags. 

	URL links

	You can turn an internet URL into a hyperlink by enclosing it in
	the [URL]...[/URL] tags. 

	Inserting images

	You can insert an image into your text if that image is stored on
	an internet-visible web server. You do this by enclosing the URL
	of the image in the [IMG]...[/IMG] tags. 

	Preformatted text

	You can insert preformatted text by enclosing it in the [PRE]...[/PRE]
	tags. This can be useful for inserting program code where the
	formatting needs to be preserved.

	Line breaks

	Line breaks are automatically inserted for each carriage return, and
	paragraph breaks are inserted for two adjacent carriage returns. In
	addition, the [BR] tag can be used to insert a line break at a specific
	point. No [/BR] tag is required, but it is ignored if encountered. 


CONFIGURING THE FORUM SOFTWARE

Although the forum software should work as soon as you unzip it, you
will almost certainly want to configure it to work on your site and
also make sure it has your site's look and feel.  Full information on
this is available at:

	http://www.aspforums.com/ASPForums/howto/configuring.asp

To summarise, however, you can freely edit any of the user-visible pages
so long as you do not alter the forum tags.  These are the tags between
the <% and %> markers.  So long as you leave those intact, you can edit
the HTML layout of the forum however you choose.  If you really do want
to edit the tags, a full list of possible 1.0 forum tags is as follows:

	<% FORUM_LINK_DISC %>
	Displays a link to the main forum page.

	<% PARENT_MESSAGE_LINK_DISC %>
	Displays a link to the parent message, if one exists.

	<% SEARCH_FORM_DISC %>
	Displays the full search form.

	<% SMALL_SEARCH_FORM_DISC %>
	Displays a small version of the search form.

	<% NEW_POST_BUTTON_DISC %>
	Displays a button to go to the 'New Post' page.

	<% NEW_POST_LINK_DISC %>
	Displays a link to go to the 'New Post' page.

	<% NEW_REPLY_BUTTON_DISC %>
	Displays a button to go to the 'New Post' page to reply to the
	current message.

	<% EDIT_POST_BUTTON_DISC %>
	Displays a button to go to the 'Edit Post' page to edit the
	current message.

	<% ALL_ROOT_POSTS_DISC %>
	Displays a view containing all posts.

	<% ALL_ROOT_POSTS_THREADED_DISC %>
	Displays a view containing all posts in a threaded manner.

	<%CURRENT_POSTS_THREADED_DHTML_DISC%>
	Displays a view containing current posts in a threaded manner, with
	some DHTML code to implement a dynamic expand/collapse mechanism
	without requiring another page download from the server.  Currently
	this works only in IE4 and IE5 - all other browsers see the view
	functionality as with CURRENT_ROOT_POSTS_THREADED_DISC.

	<% CURRENT_ROOT_POSTS_THREADED_DISC %>
	Displays a view containing current posts in a threaded manner.

	<% NEW_POST_FORM_DISC %>
	Displays a form to create a new post.

	<% EDIT_POST_FORM_DISC %>
	Displays a form to edit an existing post.

	<% SEARCH_RESULTS_DISC %>
	Performs a search (based on input to a search form) and displays the
	results.

	<% POST_MESSAGE_DISC %>
	Performs the action of posting a new message.

	<% SAVE_EDITED_MESSAGE_DISC %>
	Performs the action of saving an edited message.

	<% MESSAGE_DISC %>
	Displays the current message.

	<% THREAD_DISC %>
	Displays the current thread.

	<% ADMIN_TOOLS_DISC %>
	Displays the administration tools forms.

	<% STD_MESSAGE_DISC %>
	Displays the message, a forum link, a new reply button, an new post
	button, and an edit post button, in that order.

	<% FORUM_TITLE_DISC %>
	Displays the title of the current forum.

	<% SUBJECT_DISC %>
	Displays the subject of the current message.

	<% MESSAGE_BODY_DISC %>
	Displays the body of the current message.

	<% AUTHOR_DISC %>
	Displays the author of the current message.

	<% AUTHOR_EMAIL_DISC %>
	Displays the email address of the author of the current message.

	<% AUTHOR_FULL_NAME_DISC %>
	Displays the full name of the author of the current message.

	<% DATE_CREATED_DISC %>
	Displays the date on which the message was created.

	<% SORT_CODE_DISC %>
	Displays the cort code of the current message.

	<% NUM_CHILDREN_DISC %>
	Displays the number of children of the current message.

	<% MESSAGE_ID_DISC %>
	Displays the message ID of the current message.

	<% PARENT_ID_DISC %>
	Displays the parent ID of the current message.

	<% THREAD_ID_DISC %>
	Displays the thread ID of the current message.

	<% ADMIN_SQL_FORM_DISC %>
	Displays the administration forms.

	<% ADMIN_SQL_EXECUTE_DISC %>
	Performs the administration actions associated with the
	administration forms.


SUPPORT

This product is not supported.  Much help is available on the web site,
and many requests placed on the web site forums are answered.  However,
no guarantees are given, and due to the increasing popularity of this
software no support will be given via email.  Email requests for
support will most likely be ignored.


FOR FURTHER INFORMATION

For full details of this product, please visit the ASP Forums web site at:

	http://www.aspforums.com/ASPForums/

This product is licensed under the GNU Public License, which should be
included in this distribution.  If not, copies are available at:

	http://www.gnu.org/