Menu

Tree [f2f4e3] master /
 History

HTTPS access


File Date Author Commit
 docs 2014-04-08 Jeff Weston Jeff Weston [10794c] Added index files.
 sql 2014-04-07 Jeff Weston Jeff Weston [78fc9a] Updated copyright for 2014.
 www 2014-06-24 Jeff Weston Jeff Weston [f2f4e3] Sorted the entries in the CSS style sheet.
 .project 2011-10-04 Jeff Weston Jeff Weston [b8c4ef] Added Eclipse project file.
 CHANGES.txt 2014-04-08 Jeff Weston Jeff Weston [bf62b2] Minor formatting fix.
 COPYRIGHT.txt 2014-04-07 Jeff Weston Jeff Weston [78fc9a] Updated copyright for 2014.
 LICENSE.txt 2012-08-05 Jeff Weston Jeff Weston [9faddd] Removed redundant directory.
 README.txt 2012-08-07 Jeff Weston Jeff Weston [4c609c] Minor formatting change.
 TESTPLAN.txt 2012-08-05 Jeff Weston Jeff Weston [9faddd] Removed redundant directory.
 UPGRADE.txt 2012-08-07 Jeff Weston Jeff Weston [4c609c] Minor formatting change.

Read Me

Extend-A-Story is an interactive, extendable, choose your own adventure
story. It is written in PHP and is designed to work with a MySQL
database.


Here are the basic steps needed to get Extend-A-Story working on your
site with just one story:

- Set up a MySQL database to store the Extend-A-Story data.

- In the new database, run the database creation script
  'ExtendAStory.sql'.

- Take the contents of the 'www' directory and place them in a directory
  accessible to your web server.

- Modify db.php to contain the relevant login information for the
  database you created.

- Point your browser to '<story root>/admin.php' and login as the
  administrator:
  - Login Name : admin
  - Password   : change-me

- !!! CHANGE THE PASSWORD OF THE ADMIN ACCOUNT !!!

- Click on the 'Configure Story Settings' link and change the story
  configuration to suit your site:

  - Story Name       : The name of the story.

  - Site Name        : The name of your site.

  - Story Home       : URL for the home page of the story.

  - Site Home        : URL for your site.

  - Read Episode URL : URL leading to the PHP script that displays
                       episodes: 'read.php'. This is sent out in emails
                       from Extend-A-Story to authors letting them know
                       when episodes they have written have been
                       extended.

  - Admin Email      : The email address for the administrator of this
                       story. All email sent from Extend-A-Story is sent
                       from this address. Also, this address receives
                       email every time an episode is created.
                       Extend-A-Story will send no email if this is not
                       set.

  - Is Writeable     : When set to 'Yes', the story is open and people
                       can write episodes. When set to 'No', the story
                       is closed and people cannot write episodes.
                       People can still read episodes that have been
                       written.

  - Max Links        : The maximum number of links that can lead off
                       from a particular episode.

  - Max Edit Days    : The maximum number of days that an author will be
                       allowed to edit an episode after they have
                       created it. Moderators are not affected by this.

- Create a home page for the story with links pointing to the various
  features of Extend-A-Story that you want people to have access to. You
  may want to delete the PHP scripts for features that you don't want to
  use. The PHP scripts offering various features are as follows:

  - read.php        : Read the story. Provide a link to this script to
                      start the reader at the very beginning of the
                      story.

  - statistics.php  : Displays a count of the created episodes, empty
                      episodes, and total episodes.

  - search.php      : Allows various ways to search for episodes. If you
                      want to remove this functionality, be sure to
                      delete 'results.php' as well.

  - story-tree.php  : Provides a listing of which episodes are available
                      at various levels of depth within the story.

  - admin.php       : Grants access to the administration and moderator
                      functionality.

  - list-locked.php : Displays all episodes that are currently locked
                      for creation.

- Create the first episode. When you first set up the database, no
  episodes exist. Create the first episode to start the story and verify
  that everything is working. If you properly set up your AdminEmail
  setting, you should receive email notifying you of the newly created
  episode.

- Take the contents of the 'docs' directory and place them in a
  directory accessible to your web server. These HTML pages are the
  documentation for the users of Extend-A-Story. Be sure to link to them
  from your site.


If you want to set up multiple stories, you follow the same directions
as above, but bear in mind the following:

- Each story will need its own database.

- Each story will need its own separate directory with a copy of the PHP
  scripts.


Although I've tried my best to ensure that Extend-A-Story is bug free,
some inconsistencies may still crop up in your database. Some examples
of problems you may find are:

- A link record has an incorrect 'IsCreated' flag, where the episode it
  points to is created, but the link says it's not, or the episode it
  points to is not created, but the link says it is.

- A link record has an incorrect 'IsBackLink' flag, where the target
  episode is an actual child of the source episode, but the link says
  it's not, or the target is not a child of the source episode, but the
  link says it is.

I've included select statements that will identify these problems in
'DBMaintenance.sql'.