Revision history for Rose-DBx-Object-Renderer

0.74    17/11/2010
        Updated default CSS.
        Fixed a bug related to hiding the output of render_as_table() via query param.
        Fixed the logic for checking if the auto generated Rose object base class is loaded already.
        Fixed a bug where the 'time' and 'date' column values cannot be emptied in render_as_form().
        Added the 'searchable => 1' support to render_as_table(), and render_as_menu().
        Improved 'class_prefix' generation for SQLite.
        Fixed a bug in render_as_table() when including non-character based columns from SQLite in keyword searches.
        Updated the column definitions for 'date', 'datetime' to allow editing and searching in YYYY-MM-DD.
        Updated the regular expression validation for file-related columns.
        Updated the 'for_view' method for the 'money' column definition.
        Minor UI updates to render_as_table() and to the default 'table.tt'.
        Relaxed the default validation regular expression in the 'image' column definition.
        Added the 'template_options' option to render_as_form() and allowed global template options in the default config.
        Added the 'cascade' option to 'table' and 'menu' option into the default config.
        Added the alias 'web' to the 'url' column definition.
        Add the 'query' parameter to all rendering methods to specify the CGI query object.
        RENAMED the 'inherit_form_options' option (introduced in 0.68) to 'form_options' in the default config. 
        Added the 'preload="none"' HTML5 attriube to the 'audio' and 'video' for view methods.
        Added the ability to remove uploaded files in render_as_form().
        Added the 'remove_files' option to the default config() hash. Added the 'remove' formatting method to file type columns.
        Code refactoring.
        Added tests.
        Updated POD.
0.73    13/07/2010
        Fixed a bug introduced in 0.71 where rendering methods failed to use custom stringify_me() methods (Reported by Gary Ashton-Jones).
        Minor code refactoring.
0.72    18/06/2010
        Fixed a keyword search bug in render_as_table() introduced in 0.71 due to the use of the 'ilike' operator in Pg with older versions of Rose::DB::Object (Reported by Stephen Muss).
0.71    10/06/2010
        Improved UI rendering for physical Rose::DB::Object subclasses. Added the 'prepare_renderer' method.
        Added the 'prepared' parameter to rendering methods.
        Deprecated the 'like_operator' option in the default config() hash in favour of auto detection for PostgreSQL database.
        Code refactoring.
        Updated POD.
0.70    17/05/2010
        Added the 'current' parameter to render_as_menu().
        Fixed a unique key handling issue when rendering an object directly using render_as_form().
        Updated the default CSS.
        Updated POD.
0.69    27/04/2010
        Fixed a circular reference problem in load().
        render_as_menu() and render_as_table() now accept a hash ref of template names.
        Updated render_as_form() and render_as_table() to return the relevant Rose DB objects.
        Updated the default CSS.
        Updated POD.
0.68    01/04/2010
        Rendering methods are now in compliance with HTML 5. Updated all sample TT templates accordingly.
        Turned on the 'stylesheet' option in CGI::FormBuilder as default in render_as_form() to eliminate obsolete HTML elements.
        Updated the 'for_view' formatting methods for 'date', 'datetime', 'time', 'timestamp', 'address', 'audio', 'video', and 'media' column definitions to take advantages of new HTML 5 elements.
        Updated the column definitions for 'text', 'phone', 'fax', 'mobile', 'float', and 'email'.
        Improved support for the 'other' form field option in render_as_form().
        Added the 'before' callback to all rendering methods.
        Added the 'inherit_form_options' option to the default config() hash and to render_as_table(), allowing a form to inherit options from other forms inside render_as_table().
        Improved title generation in render_as_form() and render_as_table().
        Updated the default CSS.
        Updated POD.
0.67    26/01/2010
        Fixed a query string bug introduced in 0.66.
0.66    25/01/2010
        Fixed a glitch in render_as_table() that leads to duplicated 'sort_by' and 'page' query parameters.
0.65    14/01/2010
        Updated load() to use Rose::DB's new_or_cached() method for all the generated classes by default (Suggested by Cees Hek).
        Added the 'new_or_cached' and 'check_class' parameter to the default config.
        Updated POD.
0.64    24/12/2009
        More minor CSS updates.
0.63    22/12/2009
        Minor CSS changes.
0.62    21/12/2009
        Updated the default CSS to better work with background image.
0.61    02/12/2009
        Fixed the incompatibility using 'limit' and 'offset' in the 'get' parameter in render_as_table() (Reported by Gary Ashton-Jones).
0.60    18/11/2009
        Added the 'get_from_sql' parameter to render_as_table() in order to provide primitive support for the 'get_objects_from_sql' method from Rose::DB::Object::Manager.
        Updated POD.
0.59    16/11/2009
        Updated CSS based on Firefox 3.6 beta 2.
        Updated column definition matching logic to match the longest string first.
        Minor bug fix.
0.58    12/11/2009
        Added the 'table_prefix' parameter to improve labelling titles, columns, and form fields in the generated UIs.
        Removed disabling sorting for columns with custom accessor (0.53+) in render_as_table().
        Deprecated the 'class_label' template variable in render_as_table().
        Improved form field order derivation in render_as_table().
        Improved performance for rendering pie charts in render_as_chart().
        Updated POD.
0.57    05/11/2009
        Added the 'filterable' parameter to render_as_table().
        Preserve the textarea field type when appropriate in render_as_form().
        Added gradient background support to the default CSS for the upcoming Firefox 3.6.
        Updated POD.
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.
0.55    20/10/2009
        Fixed typos in POD (Patched by Gary Ashton-Jones)
0.54    16/10/2009
        Fixed a bug in render_as_form() where fields with multiple values can not be emptied.
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.52    03/09/2009
        Minor CSS Updates.
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.50    15/05/2009
        Fixed a foreign class name resolution issue related to keyword searches in render_as_table() for non-PostgreSQL databases.
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.48    11/05/2009
        Fixed URL encoding issues in querystrings and file paths.
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.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.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.44    30/03/2009
        Removed useless <p> tags around undefined 'descriptions' in rendering methods when no template is used.
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.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.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.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.39    08/10/2008
        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.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.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.35    30/09/2008
        Updated POD.
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.33    17/09/2008
        Updated the 'for_view' formatting methods for the 'media' and 'address' column definition.
        Removed the dependencies on Image::ExifTool.
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.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.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.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  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.28    17/08/2008
        Fixed an error in POD.
0.27    15/08/2008
        Clean up the unnecessary 'sortopts' option for column definitions in the global .
        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.25    12/08/2008
        Updated the 'date' and 'timestamp' column definitions.
        Deprecated the 'varchar' column definition.
        Updated POD.
0.24    04/08/2008
        Enabled multiple keyword searches for 'searchable' columns in render_as_table. Added the 'keyword_delimiter' option to the global .
        Added support for matching RDBO column definitions.
        Deprecated the 'wait_message' option in the global  and in rendering methods.
        Updated POD.
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.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 .
        Minor code re-factoring.
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  to 'delimiter' and moved it into the 'table' hash.
0.20    25/07/2008
        Improve the 'searchable' option in render_as_table to handle foreign class columns with 'for_search' methods.
0.19    24/07/2008
        Updated render_as_form to allow the 'for_update' formatting method of an empty valued column to execute.
0.18    24/07/2008
        Minor code re-factoring for the stringify_me object method.
        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  hash.
        Minor code re-factoring.
        Updated POD.
0.16    18/07/2008
        Removed obsolete js parameters in the global .
        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.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.14    26/06/2008
        Minor updates to the default CSS.
0.13    25/06/2008
        Fixed an issue when using the 'searchable' option with date or timestamp columns in render_as_table.
0.12    17/06/2008
        Optimise load_database for persistent environments (Solution provided by Cees Hek).
0.11    13/06/2008
        Minor CSS Updates.
0.10    11/06/2008
        Fixed search box CSS in 'render_as_table'.
0.09    11/06/2008
        Removed the constraint for all primary key must be named 'id'.
        Updated POD.
0.08    10/06/2008
        Fixed an issue when updating foreign objects.
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.06    06/05/2008
        Added the 'no_pagination' parameter to render_as_table, updated the sample table template.
        Fixed 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.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  for joining multiple values, such as foreign objects.
        Minor Enhancements.
        Updated POD.
0.03    04/04/2008
        Updated POD.
0.02    01/04/2008
        Minor change to render_as_menu's HTML title. Updated POD.
0.01    17/03/2008
        First version, released on an unsuspecting world.
