PRADO 3.1.2 is released

PRADO 3.1.2 is released

am 21.04.2008 20:55:29 von Qiang Xue

We are proud to announce the formal release of PRADO 3.1.2.
This is a feature enhancement and bug fix release over the previous
release.
In this release, we enhanced the functionality of Active Record about
relational object support; we added a few more components and Web
controls;
in addition to many minor enhancements, we also fixed about thirty
bugs that
were found in the previous releases.

You can download PRADO from its project website at
http://www.pradosoft.com


WHAT'S NEW IN THIS RELEASE

BUG: Ticket#595 - ControlCssClass not applied correctly if using
multiple validators on same control (Christophe)
BUG: Ticket#622 - Changing Display-attribute of a TActiveCheckBox
dynamically isn't possible (Michael)
BUG: Ticket#636 - I18N catalogue problem (Christophe)
BUG: Ticket#669 - Strange rendering behaviour with TActivePanel
(Christophe)
BUG: Ticket#671 - TActiveCustomValidator Callback Problem (Christophe)
BUG: Ticket#679 - TActiveLabel can't be shown from inside TRepeater.
TActiveRadioButton cant be unchecked (Christophe)
BUG: Ticket#695 - ActiveTextBox filled in IE blocks other elements
(Michael)
BUG: Ticket#707 - TPropertyAccess sets property twice on object when
using setters (Qiang)
BUG: Ticket#718 - prop:ClientSide OnLoading don't work in Opera
(Christophe)
BUG: Ticket#719 - TAutoCompleter should not trigger Validation if
CausesValidation=False (Christophe)
BUG: Ticket#721 - TActiveCustomValidator + TValidationSummary problem
(Christophe)
BUG: Ticket#736 - Files never created in clientscript.php (Qiang)
BUG: Ticket#744 - Callback error handling is improved (Qiang)
BUG: Ticket#747 - TRangeValidator accept letters when type Integer is
specified (Christophe)
BUG: Ticket#750 - The "expire" parameter is used inconsistently in
cache modules (Qiang)
BUG: Ticket#753 - Themes not allways being set (Qiang)
BUG: Ticket#754 - CultureInfo constructor errors (Qiang)
BUG: Ticket#759 - TSlider wrong layout with horizontal with center
horizontal align (Christophe)
BUG: Ticket#769 - Problem with Validator inside TActivePanel
(Christophe)
BUG: Ticket#776 - Logout button should not cause validation in blog
tutorial (Qiang)
BUG: Ticket#785 - TDatePicker OnDateChanged event problem (Christophe)
BUG: Ticket#787 - Typo in validation3.js (Christophe)
BUG: Ticket#766, #786 - TDbCache does not work with MySQL and
PostgreSQL (Qiang)
BUG: Ticket#799 - Fixed several link errors in documentation about PDO
(Qiang)
BUG: Ticket#803 - TActiveRecord cannot be serialized/unserialized
correctly. (Qiang)
BUG: Ticket#808 - Client side validation should work for file upload.
(Qiang)
BUG: Ticket#828 - Validators not working when
RepeatLayout="Raw" (Qiang)
BUG: Fixed a bug in TPropertyValue::ensureArray() (Qiang)
CHG: Ticket#819 - TLogRoute now displays GM time instead of local time
(Qiang)
CHG: Changed TConditional so that the controls in its template behave
like they are in its parent (Qiang)
CHG: Active Record many-to-many relationship change from
self::HAS_MANY to self::MANY_TO_MANY (Wei)
CHG: Active Record no longer automatically performs adding/removing/
updating related objects (Qiang)
CHG: TJavaScript::encode() will encode data as a list if integer
indices are detected (Qiang)
CHG: Ticket#755 - Upgraded to Prototype 1.6 and Scriptaculous 1.8 (j,
Christophe)
ENH: Ticket#660 - Using Globalization.Charset in JSON for AJAX
Callbacks (Michael)
ENH: Ticket#722 - Added Read Only capabilities to TInPlaceTextBox
(Christophe)
ENH: Ticket#741 - Added CDbConnection.currentTransaction property
(Qiang)
ENH: Ticket#743 - Added status code header in HTTP response when in
error (Qiang)
ENH: Ticket#745 - TWizard action MoveTo - allow specify step ID's
(Christophe)
ENH: Ticket#757 - TDateFormat and TNumberFormat now implement
IDataRenderer (Qiang)
EHH: Ticket#770 - THttpResponse send HTTP 1.1 Status code to the
client (Christophe)
ENH: Ticket#783 - Added date/time type support to soap implementation
(Hongliang)
ENH: Ticket#800,#833 - Added database connection charset for MySql and
PgSql (donkee)
ENH: Active Record supports multiple foreign references of the same
table (Wei)
ENH: Added TDbCommand.queryColumn() (Qiang)
ENH: Active Record now supports implicitly declared related properties
(Qiang)
ENH: Active Record now supports query criteria for implicitly declared
related properties (Qiang)
ENH: TDataFieldAccessor now supports chained property access without
getters. (Qiang)
ENH: TParameterModule added caching support (Qiang)
ENH: Added TAuthManager.switchUser() (Qiang)
NEW: Added TDbLogRoute (Qiang)
NEW: Added TDataRenderer and TItemDataRenderer (Qiang)
NEW: Added THtmlElement (Qiang)
NEW: Ticket#544 - Added TXCache (Wei)
NEW: Ticket#729 - Added TActivePager (Christophe)
NEW: Ticket#791 - Added TFirebugLogRoute (Christophe)

COMPATIBILITY INFORMATION

Please see the upgrade instructions included in the release.
The following changes introduced in this release need particular
attention:

- The RELATIONS type declaration in Active Record classes for Many-to-
Many using
an association table was change from "self::HAS_MANY" to
"self::MANY_TO_MANY".
E.g. change
'albums' => array(self::HAS_MANY, 'Artist', 'album_artists')
to
'albums' => array(self::MANY_TO_MANY, 'Artist', 'album_artists')
- Active Record no longer automatically adds/removes/updates related
objects.
- 'Raw' mode for TCheckboxList and TRadioButtonList (and their active
counter parts) now render
a surrounding tag to allow client scripts to identify them
with the ClientId. You may
have to check your CSS.


SYSTEM REQUIREMENTS

PHP 5.1 or above is required. All functionalities have been tested on
Windows and Linux using Internet Explorer 6/7, FireFox and Safari.


BACKGROUND OF PRADO

For those who have never heard of PRADO before, PRADO is a
component-based and event-driven programming framework for developing
Web applications in PHP. PRADO stands for Php Rapid Application
Development Object-oriented. PRADO was initially released in August
2004 as the grand prizer winner of the Zend coding contest and has
since been adopted by thousands of developers.

PRADO is best suitable for creating Web applications that are highly
user-interactive. It can be used to develop systems as simple as a
blog system to those as complex as a content management system (CMS)
or a complete e-commerce solution. Because PRADO promotes
object-oriented programming through its component-based methodology,
it fits extremely well for team work and enterprise development.