Appy 0.9.15

This release contains bugfixes, functional as well as performance improvements, on all framework parts.

Detailed changelog

Appy 0.9.15 corresponds to revision 899. Details are hereafter.

pod

  • Implemented statement « do item... » to manage a portion of text corresponding to a (numbered or bulleted) list item.
  • statement « do item... » do not copy flag 'restart numbering' on elements 2 to n when a lis-item is repeated in a « for » loop.
  • Prevent the use of reserved name '_all_' as iterator variable in « for » statements.
  • Bugfix in statements « do... from pod(... » containing dynamically included images.
  • xhtml2odt: management of numbered lists: bugfixes.
  • Image importer via a Zope resolver: bugfix.
  • Implemented statement « do frame ... » to conditionally include a LibreOffice frame.
  • package appy/pod/xhtml (advanced « keep with next » functionality): bugfixes.

gen

  • Mode « grid » for query results: use a CSS grid layout, configurable via class appy.fields.search.Gridder.
  • Text field: completed the toolbar when mode is 'structured'.
  • Text field: classes TextReplacements and Text2Html moved from appy.gen.utils and improved.
  • Text field: added icon type 'sentences'.
  • Text field: specific shortcuts for Mac explained.
  • Text field: better regex for matching <> tokens.
  • Text field: added a warning when no sentence is present in icon 'sentence'.
  • Ref field: avoid dumping empty field values via Ref::getReferenceLabel.
  • Pod field: default format is now PDF.
  • Info field: improved default layouts.
  • Action field: 'multi-actions' implemented = actions acting on a set of objects. A multi-action can be defined on any search (including custom searches), with options and with checkboxes (to get only those being selected in the UI).
  • Searches: allow to display checkboxes in search results. For list pods, variable 'objects' only contains objects whose checkbox is checked.
  • Extracted 'select'-related functionality from string.py to select.py and added render modes 'radio' and 'checkbox' to the new Select field.
  • Extracted rich-text functionality from string.py into rich.py.
  • Select field: bugfixes. Inline-edit now works.
  • Use CSS attribute 'position sticky' to keep table headers always visible (even if the page has scrolled down).
  • UI config: make font size customizable.
  • UI config: integration with Google Fonts.
  • UI config: added parameters userStripShow and bannerShow allowing to define custom conditions for showing these UI elements (ie, for not showing them on the home page).
  • UI config: added parameter 'css' allowing to add app-specific CSS classes to some standard parts of the Appy UI.
  • UI config: customizable 'wrong input background color'.
  • UI config: allow to define a specific CSS class on tag 'body'.
  • Containers, initiators and object creation: backports from Appy 1.0.
  • Compatibility with Chrome < 41 (sic).
  • Pages: allow to specify a Python expression whose evaluation determines the page's visibility.
  • Manage authentication context errors.
  • Added a mechanism allowing to carry arbitrary information via the authentication context, via request key 'authInfo'.
  • Workflow transition, method addAction: bugfix.
  • Tool::pxBack: bugfix.
  • Management of container objects has been completed (attribute AbstractWrapper.container and method getContainer).
  • Performance and bufix: do not compute objet indexes twice at object creation.
  • Better error handling when a field is unknown on a class.
  • Base method getContainer: allow to get the forward reference instead of the backward one.
  • Allow URLs of type '?do=someMethod' to return plain HTML.
  • Allow to receive a HTTP POST request with JSON data.
  • Authentication contextxs: added method getObject allowing to get the authentication object once per request.
  • Javascript code and transmission of some info via the request (including filter data): bugfixes.

shared

  • sso.py: added a hook method for performing custom app actions on a SSO user whose local copy has just been created or updated.
  • xml_parser.py: XML marshaller is now able to marshall POD files.
Add picture from clipboard (Maximum size: 31.3 MB)