Release notes for SparkCMS 0.3.10

For archival purposes, here are the release notes for SparkCMS 0.3.10. This version of the CMS concluded more then nine months of work (since 0.3.9) and was uploaded to the servers on the 13th of September 2006.

This was the first version featuring a functional backend where users could create, edit and delete documents and blog posts. With this version a lot of time was spent integrating a rich text editor (TinyMCE). It also had several new features including PageElements, admin user profiles and easy video posting (from Google Video).

In order to at least keep the information overload to a minimum, I've tried to extract the more interesting and/or important entries from the changelog (this release has more the 300 entries!). As several of the entries could be rather cryptic, don't hesitate to contact me for a further explanation.

Selected of changelog entries (mouse-over for date)

  • F: Some fixes with special characters in UrlEncodeTitle()
  • F: Added "PageElements" module (dynamically sorted/included text bits)
  • F: Added configuration of sort order and title formating to PageElements
  • B: Bugfix: Errors in the length-validation displayed on all errors... :-)
  • B: Added several form validation functions (db availability amongst others)
  • B: Componentized most parts of the form validation for easier implementation
  • B: Added form validation of passwords (both against db and rule-set)
  • B: Finalized the first edition of the backend's global save-to-database function! (dbAddOrUpdate)
  • B: Switched LoginLogLogger() over to dbAddOrUpdate() function (instead of hard coded sql command)
  • B: Added ErrorHandler for dbAddOrUpdate(), added extended info for SQL commands
  • B: Added/enabled dbAddOrUpdate() for user profile editor!
  • B: Some optimization of AdminAccountProfile()
  • B: Separated SQL format/validation from dbAddOrUpdate(), expanded a bit on the functionality
  • B: Added stand-alone form to change password (so users can change password if it's forgotten)
  • B: Restructured the admin sections a bit, less items that hopefully have a clearer structure
  • B: Reorganized the backend file structure to be more concise (dashboard contents moved to general)
  • B: Re-organized the schematics of PageCtrlDrop() (pages drop-down used in contents listings)
  • B: Rewrote most parts of the "backend" PageCtrl() functionality, it's faster and uses less resources
  • B: Rewrote the "frontend" parts of the PageCtrl() functionality, also includes a bug fix
  • B: Split up/componentized PageCtrl(), allows more flexible/selective use by other functions
  • B: Renamed TextXhtmlEncode() to XhtmlEncode() and added a couple of Xhtml/UTF-8 output fixes
  • X: dbGetTitle(); Replaced Server.HtmlEncode() with XhtmlEncode() for better control over the output
  • B: Created contents lister so that previously created documents can be retreived!
  • X: Created functionality to serve centrally stored images (mostly for use by the admin UI)
  • F: Added ErrorHandler to a couple of general functions (SparkCreatePage() and FeaturesRetreive())
  • F: Some optimization of FeaturesRetreive()
  • B: Added ErrorHandler to AdminContentExploreList()
  • B: Expanded dbDeleteItem() to work with several new "call-types"
  • B: Created "Cancel" functionality for action forms (returns to previous (sub)page)
  • B: Separated "ActionList ItemBuidler" to a stand-alone, more general purpose function
  • B: Added deletion of content defenitions and blog elements
  • X: Changed db layout of PageElements(), relies on "ContentId" instead of "ParentId"
  • X: Changed db layout of FeatureRetRandom(), relies on "ContentId" instead of "ParentId"
  • B: Enhanced dbAddOrUpdate() to allow updates to multiple items with one query
  • B: Added deletion of documents, menu, randomness, comments, ads, pageelements and notifications
  • B: Contest listing will go to "previous page" if enough content is deleted...
  • B: Improved tolerance for different ways to represent boolean values in dbSqlFormatValue()
  • B: Added possibility to delete (move) content items to recycle bin
  • B: Expanded AdminContentExploreList() to deal with recycle bin
  • B: Disabled "Move to Recycle bin" for content that's already in the recycle bin
  • X: Fixed a bug which caused default values not to be set on numeric value retrieval (eg. forms)
  • X: Created a framework for backend form creation (not just the fields)
  • X: Re-created all "value-retrieval" functions, better speed, more functionality and improved security
  • B: Several improvements to dbDeleteItem() UI behaviour
  • B: Expanded a bit upon the form framework, allows much faster creation of new forms
  • X: Added various wrapper elements to the form validation output
  • X: Added various form validation tests (hacking prevention measures)
  • B: Made the form framework more flexible, submission types can be specified to the sub...
  • B: Adapted a couple forms (content editing) to take advantage of the updated form framework
  • B: Hidden a couple more "system" fields in the repost function (timeout form value catcher)
  • B: Content item properties form/editing introduced!
  • B: Added site names in the "Explore Items" list
  • X: Default value of numeric form fields only set on initial form load (allows empty check boxes...)
  • X: Fixed some issues with missing information bits in the output error information routine
  • X: Fixed an issue with dbSqlFormatValue() wrongly encoding double quotes
  • B: Document form/editing introduced!
  • B: Removed SQL command information from various error messages (for low-privileged users/admins)
  • B: Creation of new content items now allowed! (Currently folders and documents)
  • B: Fixed some minor semantic issues with AdminContentDelete()'s form
  • B: Added content creation and editing for blog posts!
  • X: Some performance and flexibility enhancements to Form2CreateSelect()
  • X: Expanded on the configurability of feedback settings, introduced feedback settings sets...
  • F: Switch document output encoding over to XhtmlEncode() (from Server.HtmlEncode)
  • F: Moved error message for document retreival to the config file.
  • X: Added ErrorHandler for document generation and blog post generation
  • X: Some minor enhancements to SparkInline(), including addition of the errorhandler
  • B: Fixed a minor issue with the continue from forms, now returns to content when call is empty
  • F: Bugfix: Added SparkInline() processing to aggregated content
  • F: Some minor speed improvements to the aggregation functionality (Mostly SQL related)
  • B: Fixed an Xhtml encoding issue with Form2CreateSelectFromArray()
  • B: Fixed an issue with empty value arrays in Form2CreateSelectFromArray()
  • B: Faster Parent title output in AdminContentExploreList() (Up to 0.07 seconds improvement!)
  • B: Improved error handling in Ip2CountryIso()
  • B: Fixed a minor issue with the (dedicated) change password dialog
  • B: Facilitated simultaneous logins to multiple accounts from the same computer at the same time
  • B: Initial implementation of a rich text editor (Moxicode's TinyMCE)
  • B: Added (temporarily?) linking to documents in the "list documents" view...
  • B: Fixed a bug that prevented password change from the change password dialog :-)
  • B: Optimized default settings for new documents and blog posts
  • B: Some minor changes to new/empty documents, better results from TinyMCE output
  • B: Changed internal layout of Spark inline module markers to fix issue with TinyMCE encoding
  • F: Added class definition to blog post properties to better allow CSS re-usage (of properties list)
  • B: Added errror checking and loading from parent for FeatureSet's
  • B: Fixed some capitalization issues with server selection in the migration module
  • B: Replaced svg flags with png variants in the login-log (Temporarily?)
  • X: Added functionality to add Google Video as a SparkInline() module (with valid xhtml output...)
  • B: SparkInline(), Google Video, Moved "no object message" to configuration file
  • F: Improved error handling for custom user features (access to global error handler is allowed)

The changelog above uses the following legend to indicate what parts of the CMS an entry affects

Frontend related (output)
Backend related (publisher)
System level (administrator)
Affects multiple levels

Couldn't generate page, however a cached copy was found and served on the 1st of January 1970 @ 00:00 in 0.017 seconds...

Errors occurred while generating this page... (More info availible)