Appy 0.8.2 has been released

Written for Appy by Gaƫtan Delannay on 2012-12-07

Here's what has changed.

appy.pod
- xhtml2odt: allow, when converting tables, to take into account attributes 'width' of tds.
- bugfix when converting 'href' attrs of 'a' tags.

appy.shared
- xml_parser.XmlParser: added param 'raiseOnError' allowing to raise or not an exception when a SAX fatal parsing error is encountered.
- Bugfix for https://bugs.launchpad.net/appy/+bug/1083533 (thanks Gauthier).

appy.gen
- Added some layouts for Ref fields in Ref.wLayouts and Ref.wdLayouts.
- Added a new, simpler way of defining auto-references (=Ref fields that refer to the class containing the field), via method appy.gen.autoref.
- Stop catching exceptions raised by Actions (so a partial action can't be committed anymore).
- Cleaner and more robust approach when using Zope database indexes.
- ckeditor now works with IE.
- Now it is possible to index and search Ref fields.
- Added a i18n label used for the title of web pages and added a default favicon and the possibility to override it.
- Bugfix in the standard banner for RTL languages.
- Added some default page and field layouts.
- Added the possiblity to extract in a clean way text from XHTML field values.
- Fine-tuned indexing machinery with more accurate text extraction from text and xhtml fields.
- Added a new calendar field, allowing to add a single (typed) event by day.
- Added missing i18n in Ref field.
- Calendar: added the possibility in some calendar to view events from another calendar.
- Optimized Ref: do not ajax-call the Ref view macro when displaying a complete page.
- Added Ref.changeOrder to enable/disable (independently from write permission) the possibility to sort or change order of referred objects.
- Improved performance of the Ref field and added an icon for dissociating referred objects.
- Calendar field: added the possibility to define eventTypes dynamically: eventTypes can therefore be anything, ie object UIDs.
- Calendar field: added the possibility to define a start and or end date for defining a specific date range; also added param 'defaultDate' (by default=now): when the calendar is shown for the 1st time, it shows the month where this date is included.
- Calendar: display weekend days in a special way.
- Calendar: allow to insert additional, custom (XHTML or textual) info in any cell of the calendar, via new attribute Calendar.additionalInfo.
- Bugfix for IE in master/slave relationships.
- Calendar field: added 2 params: 'preCompute' allows to specify a method that is called once every time a month is shown and whose result can be accessed by other methods; 'applicableEvents' allows to specify, for every day, a list of applicable events which can be a sub-set of all aplicable events (or even nothing).
- Added param Search.default allowing to define a default Search. The default search, if present, will be triggered when clicking on the main link for a class, instead of the query that collects all instances of this class.
- appy.gen.Type: removed 3 obsolete params: 'index', 'editDefault' and 'optional'. For achieving the same result than using 'editDefault', one may define 'by hand' an attribute on the Tool for storing the editable default value, and define, on the appropriate field in param 'default', a method that returns the value of the tool attribute.
- Added Type.defaultForSearch, allowing, for some sub-types, to define a default value when displaying the corresponding widget on the search screen.
- Removed obsolete test applications.
- For Strings with validator=String.URL, an HTML link is rendered in view layouts
- Added a 'real' 'state' field to any Appy class, allowing to use it in search screens for example.
- Added 2 hook methods: getIcons and getSubTitles, allowing to add, in lists of objects (Refs or queries), icons besides the title and anything below it.
- Optimized query.pt: for every new query, 1 server request is done (previously, one standard request + one ajax request were done).
- Removed columns 'actions' (Refs, query): action icons are not included in the column containing the title (we avoid having empty columns whhen no action is available).
- For Type.shownInfo and tool.resultColumnsXXX, added the possibility to define the name, width and alignment of every column (=notion of 'column layout').
- Added an index 'Modified' on every object (it represents the date of the last modification).
- Removed obsolete workflow-related code.
- Removed attributes Tool.showAllStatesInPhaseForXXX.
- Changed the way to display the object's current state in the UI.
- Removed attributes showWorkflowForXXX
- Buttons for triggering workflow transitions are not located besides the standard actions (icons): edit, save, etc.
- Allow to use class Group as parameter of Search.group.
- Refactored i18n-related code.
- Calendar: added a method for retrieving events from a calendar.
- Searches can now be grouped into groups of groups of..., creating a tree structure in the portlet.
- It is now possible to define, via method 'getDynamicSearches', dynamic searches for a class.
- Added the possility to get an XML version of every object by calling URL <objectUrl>/xml; added the possiblity to call any method on any object by calling <objectUrl>?do=myMethod and retrieve the result as XML.
- Added appy.gen.Pod.rLayouts, a default layout for rendering POD templates on query result pages.
- Various security and bugfixes.
- Ergonomic improvements: added a breadcrumb, more compact design.
- Simplified management and rendering of phases.

appy.bin
- job.py: if the specified user does not exist in the DB, try with a user named 'admin'.

appy.doc
 - Updated doc. Ready for publishing a new version of appyframework.org.

Read all announcements