I released Xataface 2.0.0 on Sourceforge today. You can download it at:
http://sourceforge.net/projects/datafac ... ace-2.0.0/
You can also install it via SVN using the 2.0.x branch repository.
2.0 is now considered the current stable release, although 1.3.x will still be maintained for bug-fixes only.
Xataface 2.0 is not being distributed with FCKeditor or TinyMCE as the 1.3.x distributions were. If you require a WYSIWYG editor, I recommend you install the CKeditor module. The default theme is still the same as 1.3.x (for compatibility), but it is recommended that you use and install the G2 theme and start using it, as it is much cleaner and more modern.
2.0.0 comprises all of the bug-fixes that have occurred in the past several months on the 2.0.x branch. The change log is as follows:
- Fixed bug in creation of modification times table - empty query.
if a result controller is for a related set of the whole result set.
- Improved lookup widget so that it only queries the server for the latest change to
the filter. It used to make an ajax request after each letter, but in slower
servers this would cause all kinds of problems. Now it waits 500ms before
sending the ajax request to ensure that the user is finished typing.
- Fixed issue with saving forms with tabs described at
- Fixed warning PHP Strict Standards: Only variables should be assigned by reference
in Dataface/Relationship.php on line 1312
- Forced lookup widget icon images to be displayed inline.
- Added actionPerformed action to the ListView that is fired when a user clicks on a
row of the list view. It passes both the view and model as part of the event data.
- Fixed fatal error when copy selected related records.
- Fixed pass by reference warning in Dataface/RelatedRecord.php class.
- Added parameter to the Dataface_IO::write() method to force inserting a new record.
This is to fix an issue with the new record form overwriting an existing record
if the keys match.
- Added override to fix bug related to related lists whereby fields that have the
same name as a field in the source table are hidden by default. This is still
the default, but now it can be overridden by adding visibility:colname=visible
to the relationships.ini file definition.
- Updated doc directory to be more self contained.
- Fixed longstanding bug with the activate action if the user was registering from a
URL that didn't have a ? in it, it would redirect to an invalid page because it
would form the url with a & instead of ?.
- Changed list view to show only 50 characters by default in the cell of a list view.
Added support for list:maxcols directive in the fields.ini file to override this
number on a field to field basis. Added data-fulltext attribute to the span tag to
used to show the full text on request. In a separate commit, the g2 theme has been
modified to take advantage of this - adding a 'show more' button on fields that
have been truncated.
- Fixed export_json action so that field-level permissions are properly handled now.
- Added documentation for the css__tableHeaderCellClass() and css__tableRowClass()
delegate class methods.
- Added support for css__tableHeaderCellClass() delegate class method to provide
custom css class for a table header cell.
- Fixed internationalization of copy_replace action. Numbers were incorrectly
included with sprintf().
- Fixed attempt to use dataface__record_mtimes without first creating the
- Internationalized strings in copy_replace action. Updated translations to
latest from translations spreadsheet. This includes new languages ca and nl.
- Fixed security issue that caused columns in json_export to be included even if
they have been disabled by field security
- Fixed bug in multilingual databases with many-to-many relationships.
- Added a commit action for comitting changes to multiple records.
- Added initial support for record versioning. You need to specify the field that is
to store the record versions in the fields.ini file via the version=1 directive.
Then if you try to save a record but the database version isn't the same, it
will fail with a version error.
- Added the whoami action that allows webservices to ping the app to see if they are
logged in. Also added support for the --no-prompt parameter that prevents
redirection to the login form. Instead it will just issue a 401 HTTP response
code to indicate that the user should log in.
- Added support for failedLogin trigger.
- Fixed typo from change in Relationship introduced from previous update.
- Added support for ListModel.getQuery()
- Changed relationships to truncate text fields in the query. Added relationships.ini
file directive: field:fieldname:max_length=1024 to set max length of field in the
query. It also respects the struct directive of the target table.
- Fixed warnings in php 5.4
- Handle empty cookie path
- Updated Document.js to work with the export_json action.
- Added support for --single parameter in export_json to return data as a single
object instead of as an array of records.
- Added better compatibility with the export_json action in ResultSet js class.
- Added support for --var parameter in the export_json action that essentially
causes the response to be wrapped in an object and the key specified by query[--var]
contains the rows of the response.
- Set time limit to 0 in export csv
- Removed ob_gzhandler due to PHP bug 55544
- Fixed to handle empty date fields properly
- Small fix to calendar.php so that it will work on forms where the field name differs
from the table's field name.
- Added improved support for the widget:ifFormat directive on the calendar widget.
Now it explicitly parses the value when putting value into the calendar widget and
converts it back with pushing value to the model.
- Fixed php warning PHP Notice: Array to string conversion in
lib/jscalendar/calendar.php on line 103
- Fixed parse error with date widget. PHP Parse error: syntax error, unexpected
'(', expecting ')' in lib/HTML/QuickForm/date.php on line 77