Revision history for Rose-DBx-Object-Renderer

0.01    17/03/2008
        First version, released on an unsuspecting world.
0.02    01/04/2008
        Minor change to render_as_menu's HTML title. Updated POD.
0.03    04/04/2008
        Updated POD.
0.04    01/05/2008
        Updated the timestamp definition to properly display minutes. 
        Refined the file upload method for preserving old files.
        Simplified the sample form template (form.tt).
        Fixed chained output in render_as_menu.
        Fixed date column's 'for_update' method.
        Allow CGI object to be passed to the rendering methods (Suggested by Stewart Heckenberg).
        Fixed a bug in render_as_form when inserting empty values using custom 'for_update' methods.
        Added the 'join_delimiter' parameter in $CONFIG for joining multiple values, such as foreign objects.
        Minor Enhancements.
        Updated POD.
0.05    02/05/2008
        Added the 'unsortable' parameter to custom column definition in render_as_table. 
        Fixed buttons in the sample form.tt (Reported by Stewart Heckenberg).
        Enhanced template settings in rendering methods.
        Updated POD.
0.06    06/05/2008
        Added the 'no_pagination' parameter to render_as_table, updated the sample table template.
        Fixed POD.
0.07    27/05/2008
        Deprecate the 'unsortable' parameter in custom column definition for render_as_table (introduced in 0.05). Custom columns are always unsortable.
        Disable 'file' field type for foreign object and foreign key fields in render_as_form (Suggested by Stewart Heckenberg)
        Simplified CSS.
        Updated POD.
0.08    10/06/2008
        Fixed an issue when updating foreign objects.
0.09    11/06/2008
        Removed the constraint for all primary key must be named 'id'.
        Updated POD.
0.10    11/06/2008
        Fixed search box CSS in 'render_as_table'.
0.11    13/06/2008
        Minor CSS Updates.
0.12    17/06/2008
        Optimise load_database for persistent environments (Solution provided by Cees Hek).
0.13    25/06/2008
        Fixed an issue when using the 'searchable' option with date or timestamp columns in render_as_table.
0.14    26/06/2008
        Minor updates to the default CSS.
0.15    03/07/2008
        Added the 'for_filter' option for column filtering in render_as_table and the 'for_create' option for formatting default values in render_as_form.
        Minor enhancements to the column definitions and the default table template.
        Updated POD.
0.16    18/07/2008
        Removed obsolete js parameters in the global $CONFIG.
        Rewrote the logic for handling custom 'fields' option in render_as_form.
        Rewrote the logic for handling 'searchable' option in render_as_table.
        Rewrote render_as_chart to use the Google Chart API (removed the dependency on JSON::XS and Tie::Hash::Indexed).
        Minor code re-factoring.
        Updated POD.
0.17    20/07/2008
        Improved data scaling and Y axis labelling in render_as_chart.
        Update the sample menu template (menu.tt).
        Simplified the global $CONFIG hash.
        Minor code re-factoring.
        Updated POD.
0.18    24/07/2008
        Minor code re-factoring for the stringify_me object method.
        Updated POD.
0.19    24/07/2008
        Updated render_as_form to allow the 'for_update' formatting method of an empty valued column to execute.
0.20    25/07/2008
        Improve the 'searchable' option in render_as_table to handle foreign class columns with 'for_search' methods.
0.21    28/07/2008
        Fixed a bug (introduced since 0.19) causing render_as_form to fail when inserting new objects with custom fields.
        Renamed the 'join_delimiter' in the global $CONFIG to 'delimiter' and moved it into the 'table' hash.
0.22    30/07/2008
        Fixed a bug in render_as_form with custom fields having the 'required' field option set to 0.
        Fixed the regular expression for validating the 'money' column definition.
        Enhanced rendering 'static' form fields in render_as_form.
        Deprecated unused options in the global $CONFIG.
        Minor code re-factoring.
0.23    31/07/2008
        Fixed a bug in render_as_table where column values are not shown and column sorting is disabled when a custom column label is defined.
        Fixed a bug in render_as_table with columns using the 'for_filter' formatting option.
        Minor code re-factoring.
0.24    04/08/2008
        Enabled multiple keyword searches for 'searchable' columns in render_as_table. Added the 'keyword_delimiter' option to the global $CONFIG.
        Added support for matching RDBO column definitions.
        Deprecated the 'wait_message' option in the global $CONFIG and in rendering methods.
        Updated POD.
0.25    12/08/2008
        Updated the 'date' and 'timestamp' column definitions.
        Deprecated the 'varchar' column definition.
        Updated POD.
0.26    13/08/2008
        Added error handling code for the 'date' column definition.
        Update the column definition assignment logic.
        Updated POD.
0.27    15/08/2008
        Clean up the unnecessary 'sortopts' option for column definitions in the global $CONFIG.
        Updated POD.
0.28    17/08/2008
        Fixed an error in POD.
0.29    10/09/2008
        Migrated to an OO layout - BREAKS COMPATIBILITY WITH OLDER VERSIONS.
        Replaced load_database() with new(), config(), and load().
        Deprecated the global $CONFIG variable.
        Deprecated the 'show_id' parameter across rendering methods.
        Deprecated the 'no_pagination' parameter in render_as_table().
        Renamed stringify_package_name() to stringify_class().
        Changed the default 'stringify_delimiter' option to space.
        Moved the 'keep_old_file' in form options into the upload options and renamed to 'keep_old_files'.
        Moved the 'search_operator' in table options into the db options and renamed to 'like_operator'.
        Added the 'template_path', 'template_url', and 'html_head' options across rendering methods.        
        Added the 'search_result_title' as a configurable option for render_as_table().
        Passed the 'q' CGI param to template in render_as_table(), updated the sample 'table.tt' accordingly.
        Updated column definitions.
        Added Exporter tags.
        Removed the dependencies on File::Copy::Recursive.
        Code re-factoring.
        Updated POD.
0.30    15/09/2008
        Fixed a bug in render_as_form where 'fields' option values are ignored if the value is 0.
        Updated POD.
0.31    16/09/2008
        Fixed a primary key related issue that prevents objects being created, updated, or deleted properly.
        Rendering methods now use the manager class's object_class() method to resolve object class names. 
        Updated POD.
0.32    17/09/2008
        Use the Rose::DB::Object::Manager class to manage multiple foreign class objects in render_as_form() (Solution provided by John Siracusa).
        Updated POD.
0.33    17/09/2008
        Updated the 'for_view' formatting methods for the 'media' and 'address' column definition.
        Removed the dependencies on Image::ExifTool.
0.34    28/09/2008
        Removed the dependencies on Math::Round by tweaking the 'money' column definition.
        Use File::Copy to copy, move files when handling uploads.
        Updated POD.
0.35    30/09/2008
        Updated POD.
0.36    04/10/2008
        Fixed a bug in render_as_table() having inconsistent paginated results when sorted by a particular column due to the behaviour of LIMIT and OFFSET in PostgreSQL.
0.37    05/10/2008
        Results from render_as_table() are now by default sorted by the primary key in order to prevent inconsistent paginated results in PostgreSQL.
        Updated the default pagination in render_as_table(), added the 'pages' table option to the default config, updated 'table.tt' accordingly.
        Minor update to the default CSS.
        Updated POD.
0.38    07/10/2008
        Use table name in the default sort by clause in render_as_table() to prevent column name clashes.
        Fixed a problem when passing the default config hash to config().
0.39    08/10/2008
        Updated POD.
0.40    12/01/2009
        Added the 'copy' option to render_as_form() for cloning objects (Suggested by Stewart Heckenberg). Updated render_as_table() and render_as_menu() to take advantage of this new option.
        Added form field validation for unique keys (updated load()).
        Added the 'template_data' option to all rendering methods.
        Added the 'unsortable' option to the 'columns' parameter in render_as_table().
        Added the 'q' parameter to specify the search keyword in render_as_table().
        Fixed a bug when sorting columns in render_as_table() due to clashing column names across multiple loaded tables.
        Fixed a bug in delete_with_file() where uploaded files are not removed due to incorrect folder path (Reported by Stewart Heckenberg).
        Use File::Spec to concatenate all folder and file paths.
        Updated load() to better handle foreign keys with custom column definitions.
        Updated config() and render_as_table() to eliminate the need for cloning variables.
        Updated the sample templates to use the 'no_head' option.
        Updated the sample 'form.tt' to use form field messages.
        Updated POD.
0.41    14/01/2009
        Fixed a bug where non-unique columns inherits validation code from matching unique columns (Reported by Stewart Heckenberg).
        Updated the auto-generated unique key validation code to handle columns with 'for_filter' formatting methods.
0.42    11/02/2009
        Fixed a bug where copying objects with unique keys in render_as_form().
        Fixed the empty HTML title in render_as_menu().
        Update stringify_me() to use 'for_view' methods when available.
        Minor code re-factoring.
0.43    30/03/2009
        Added the 'delimiter' form option to the default config for handling columns with multiple values.
        Simplified the default CSS. Deprecated all built-in CSS classes except for: '.menu' (for render_as_menu()), and '.block' (for <div>s in render_as_table()).
        Revised the generated HTML. Rendering methods now generate complete HTML unless the 'no_head' option is in use.
        Added the 'doctype' option to the default config. Updated all sample TT templates.
        Updated render_as_form to use Javascript 'history.back()' for the 'Cancel' button in order to fix the Javascript validation issue in Safari.
        render_as_form now passes the [% form_submit %] variable to the template to utilise the custom 'Cancel' button.
        Fixed a bug in render_as_form() when updating columns using the ENUM data type in MySQL.
        Updated POD.
0.44    30/03/2009
        Removed useless <p> tags around undefined 'descriptions' in rendering methods when no template is used.
0.45    06/04/2009
        Fixed a bug (in 0.43+) where the Cancel button becomes useless when server-side validation is failed in render_as_form() (Reported by Stewart Heckenberg). The 'Cancel' button now sets the value of a special hidden field named '[form_id]_submit_cancel' to 1 in order to bypass the generated Javascript form validation function.
0.46    30/04/2009
        Added support for handling keyword searches in render_as_table() on PostgreSQL non-character based data types.
        Fixed render_as_table() where '0' values are ignored in column filtering and keyword searches.
0.47    01/05/2009
        Fixed a bug in 0.46's render_as_table() when performing keyword searching over foreign table columns on PostgreSQL non-character based data types.
0.48    11/05/2009
        Fixed URL encoding issues in querystrings and file paths.
0.49    14/05/2009
        Fixed a table alias issue that affects keyword searches in render_as_table() on PostgreSQL non-character based data types.
        Updated POD.
0.50    15/05/2009
        Fixed a foreign class name resolution issue related to keyword searches in render_as_table() for non-PostgreSQL databases.
0.51    02/09/2009
        Updated render_as_menu() to pass 'template_data' to the underlying table.
        Improved auto table aliasing for keyword searching in render_as_table() under PostgreSQL.
        Updated the default CSS class and the image icon tag of the 'media' column definition.
        Updated the Google Gadget URI of the 'address' column definition.
        Updated the default CSS style for menu, table, and form. Updated the sample 'table.tt' accordingly.
        Updated POD.
0.52    03/09/2009
        Minor CSS Updates.
0.53    09/10/2009
        Added the ability to nominate a custom accessor to populate the table column values in render_as_table().
        Updated POD.
0.54    16/10/2009
        Fixed a bug in render_as_form() where fields with multiple values can not be emptied.
0.55    20/10/2009
        Fixed typos in POD (Patched by Gary Ashton-Jones)
0.56    23/10/2009
        Added 'time_zone' as a 'misc' option in the config hash. Updated date, datetime, and timestamp column formatting methods to utilise the new option.
        Updated POD.
