Comments Scripts Upgrade to Version 4
Status:
Last updated, 30/12/11Beta 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:
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 senderData retrieverDate converterStatus message display-
Converters/Filters:
- BB to HTML converter
- HTML filter
Bad language filter
Refresh controller- Automatic comment refresher
Script pre-loaderLoading interfaceXML Parser (Including XSLT parsing)- No XSLT support handler
Validator (email, etc)Comment frequency controllerPrivilege controllerForm pre-populator/saver (to allow use of same email address, etc)Cookie handlerSettings (enum)Comment input interfaceComment display interfaceComment (input) controllerXML CreatorCustom post filter (eg Sharecash intercept)
Notes:
- Bold tasks indicate that the scripts have been written but not yet fully tested
Strikethroughtasks 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