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.