Xataface 2.0.0 Released

Archived from the Xataface News forum.

shannah — Mon May 13, 2013 1:24 pm

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.
  • Added class to related result stats to make it easier for javascript to determine
    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
    ?place=msg%2Fxataface%2F783PPFvWTp8%2FIPhoNTO2GWcJ
  • 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.
  • Fixed Javascript ListView so that it retains selections on update now.
  • Fixed bug with data-kvc dot notation in the xataface.model.Model javascript 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
    store the full text (well only the first 255 characters) so that javascript can be
    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
    record_mtimes table.
  • 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 PHP warning filemtime() stat failed in JavascriptTool
  • 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.
    viewtopic.php?f=4&t=5345
  • 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
    http://bugs.weblite.ca/view.php?id=1169