0
0
mirror of https://github.com/wagtail/wagtail.git synced 2024-11-25 13:10:14 +01:00
wagtail/docs/releases/1.4.rst
2016-02-29 18:16:50 +00:00

102 lines
5.7 KiB
ReStructuredText

==========================================
Wagtail 1.4 release notes - IN DEVELOPMENT
==========================================
.. contents::
:local:
:depth: 1
What's new
==========
Collections for image / document organisation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Images and documents can now be organised into collections, set up by administrators through the Settings -> Collections menu item. User permissions can be set either globally (on the 'Root' collection) or on individual collections, allowing different user groups to keep their media items separated.
Protection against unsaved changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The page editor interface now produces a warning if the user attempts to navigate away while there are unsaved changes.
Multiple document uploader
~~~~~~~~~~~~~~~~~~~~~~~~~~
The "Add a document" interface now supports uploading multiple documents at once, in the same way as uploading images.
Customisation of the page listing QuerySet
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The pages shown in the explorer can now be customised using a new hook called :ref:`construct_explorer_page_queryset <construct_explorer_page_queryset>`.
Custom document models
~~~~~~~~~~~~~~~~~~~~~~
The ``Document`` model can now be overridden using the new ``WAGTAILDOCS_DOCUMENT_MODEL`` setting. This works in the same way that ``WAGTAILIMAGES_IMAGE_MODEL`` works for ``Image``.
Removed django-compressor dependency
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Wagtail no longer depends on the `django-compressor <http://django-compressor.readthedocs.org/>`_ library. While we highly recommend compressing and bundling the CSS and Javascript on your sites, using django-compressor places additional installation and configuration demands on the developer, so this has now been made optional.
Minor features
~~~~~~~~~~~~~~
* Snippets now support a custom ``edit_handler`` property; this can be used to implement a tabbed interface, for example. See :ref:`customising_the_tabbed_interface` (Mikalai Radchuk)
* Date/time pickers now respect the locale's 'first day of week' setting (Peter Quade)
* Refactored the way forms are constructed for the page editor, to allow custom forms to be used
* Notification message on publish now indicates whether the page is being published now or scheduled for publication in future (Chris Rogers)
* Server errors when uploading images / documents through the chooser modal are now reported back to the user (Nigel Fletton)
* Added a hook ``insert_global_admin_css`` for inserting custom CSS throughout the admin backend (Tom Dyson)
* Page models now perform field validation, including testing slugs for uniqueness within a parent page, at the model level on saving
* Page slugs are now auto-generated at the model level on page creation if one has not been specified explicitly
* New translations for Hungarian, Swedish (Sweden) and Turkish
Bug fixes
~~~~~~~~~
* Custom page managers no longer raise an error when used on an abstract model
* Wagtail's migrations are now all reversible (benjaoming)
* Deleting a page content type now preserves existing pages as basic Page instances, to prevent tree corruption
* The ``Page.path`` field is now explicitly given the "C" collation on PostgreSQL to prevent tree ordering issues when using a database created with the Slovak locale
* Wagtail's compiled static assets are now put into the correct directory on Windows (Aarni Koskela)
* ``ChooserBlock`` now correctly handles models with primary keys other than ``id`` (alexpilot11)
* Fixed typo in Wistia oEmbed pattern (Josh Hurd)
* Added more accurate help text for the Administrator flag on user accounts (Matt Fozard)
* Tags added on the multiple image uploader are now saved correctly
* Documents created by a user are no longer deleted when the user is deleted
* Fixed a crash in ``RedirectMiddleware`` when a middleware class before ``SiteMiddleware`` returns a response (Josh Schneier)
* Fixed error retrieving the moderator list on pages that are covered by multiple moderator permission records (Matt Fozard)
* Ordering pages in the explorer by reverse 'last updated' time now puts pages with no revisions at the top
Upgrade considerations
======================
Removal of django-compressor
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As Wagtail no longer installs django-compressor automatically as a dependency, you may need to make changes to your site's configuration when upgrading. If your project is actively using django-compressor (that is, your site templates contain ``{% compress %}`` tags), you should ensure that your project's requirements explicitly include django-compressor, rather than indirectly relying on Wagtail to install it. If you are not actively using django-compressor on your site, you should update your settings file to remove the line ``'compressor'`` from ``INSTALLED_APPS``, and remove ``'compressor.finders.CompressorFinder'`` from ``STATICFILES_FINDERS``.
Page models now enforce field validation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In previous releases, field validation on Page models was only applied at the form level, meaning that creating pages directly at the model level would bypass validation. For example, if ``NewsPage`` is a Page model with a required ``body`` field, then code such as:
.. code-block:: python
news_page = NewsPage(title="Hello", slug='hello')
parent_page = NewsIndex.objects.get()
parent_page.add_child(instance=news_page)
would create a page that does not comply with the validation rules. This is no longer possible, as validation is now enforced at the model level on ``save()`` and ``save_revision()``; as a result, code that creates pages programmatically (such as unit tests, and import scripts) may need to be updated to ensure that it creates valid pages.