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.