Comments Scripts Upgrade to Version 4

Status:

Last updated, 30/12/11
Beta released, 23/04/11
Development started, 11/04/11

Project Aim:

To update the comments scripts (used in bug reporting, the comments forum and in the site's contact forms) as to increase their efficiency, maintainability and extendibility and to also remove the various bugs which currently exist.
Main upgrade targets:
  • Stop errors which cause out of date comments to load
  • Increase security
  • Develop scripts in a loosely coupled, object orientated way
  • Decrease the scripts total size
  • Decrease comment loading time

Needs Developing:

Classes which provide the following functionality need to be created (and tested):
  • Data sender
  • Data retriever
  • Date converter
  • Status message display
  • Converters/Filters:
    • BB to HTML converter
    • HTML filter
    • Bad language filter
  • Refresh controller
  • Automatic comment refresher
  • Script pre-loader
  • Loading interface
  • XML Parser (Including XSLT parsing)
  • No XSLT support handler
  • Validator (email, etc)
  • Comment frequency controller
  • Privilege controller
  • Form pre-populator/saver (to allow use of same email address, etc)
  • Cookie handler
  • Settings (enum)
  • Comment input interface
  • Comment display interface
  • Comment (input) controller
  • XML Creator
  • Custom post filter (eg Sharecash intercept)

Notes:

  1. Bold tasks indicate that the scripts have been written but not yet fully tested
  2. Strikethrough tasks have been completed (written and fully tested)


Progress:

30/12/11

  • Updated comment sender. Replaced bespoke sender with new cross-site XMLHttpRequest technology.


11/08/11

  • Improved file structure
  • Improved comments on some scripts
  • Upgraded to the latest library script versions
  • Allowed more flexibility when defining settings
  • Removed redundant code


29/06/11

  • Problems with the status message display (it was always visible even if no messages were being dispalyed) were fixed


07/06/11

  • A couple of bugs in the XML parser were fixed
  • Comment display was fixed for Internet Explorer. (Comment input still does not work in this browser)


05/06/11

  • Work done to make the code more extensible
  • The use of a singleton was removed, decreasing coupling and allowing better debugging
  • Checks and associated error messages were written to ensure valid input is given before the comment interface is built
  • Some classes were given new, more appropriate names
  • The settings file was fixed as it was discovered that it was not functioning as required


23/04/11

  • Completed and tested refresh controller
  • Compiled beta version


22/04/11

  • Re-wrote comment display controller
  • Started to write refresh controller


19/04/11

  • Work done towards adding comment refershing


17/04/11

  • Custom filters created


16/04/11

  • Added line break support in comments
  • Created post controller which includes a post frequency limitter
  • Fixed errors in cookie handler calls
  • Fixed user data storage problems


15/04/11

  • Completed the comment initiator
  • Completed the comment controller
  • Tested all scripts and fixed any bugs that were found
  • Alpha version created


14/04/11

  • Started the comment initiator
  • Started comment controller
  • Created the settings file
  • Created pre-populator
  • Created new comment database
  • Started writing loading interface


13/04/11

  • Created test environment for the input interface class
  • Dedicated XMLCreator written
  • Implemented message filters and converters
  • Made and tested date converter
  • Cookie handler imported and updated


12/04/11

  • Completed bad language filter
  • Increased the efficiency of the filters completed so far
  • Allowed flexibility of filters
  • BB to HTML converter (static) class created
  • HTML tag filter repackaged
  • Script loader improved and fully tested
  • Input interface scripts created
  • Started modifying XSL templates
  • Re-wrote XML parser, improving its XSLT handling


11/04/11

  • Data converter class created (no work done on conversion function yet though)
  • Data sender class created
  • Data retriever class created
  • Message manager scripts imported from other project
  • Written validation class
  • Script loader written
  • XML parser imported from other project and partly updated, pending future update to XSLT handling functionality
  • Wrote and tested a filter for bad language detection (and subsequent asterisk covering). Requires bad language list settings to be made
  • Created and tested string truncator