Wednesday, November 30, 2011

[ANN]: FeinCMS 1.5.0.pre1

Hello everyone

I'm finally starting the release process for FeinCMS v1.5 (sorry for
waiting so long).

The release is available at the following places:

PyPI: http://pypi.python.org/pypi/FeinCMS
Github: https://github.com/feincms/feincms

Documentation:
http://readthedocs.org/docs/feincms-django-cms/en/next/

The release notes draft follows:


====================================
FeinCMS 1.5 release notes (upcoming)
====================================


Explicit reversing of URLs from ``ApplicationContent``-embedded apps
====================================================================

URLs from third party apps embedded via ``ApplicationContent`` have
been traditionally made reversable by an ugly monkey patch of
``django.core.urlresolvers.reverse``. This mechanism has been deprecated
and will be removed in future FeinCMS versions. To reverse an URL
of a blog entry, instead of this::

# deprecated
from django.core.urlresolvers import reverse
reverse('blog.urls/blog_detail', kwargs={'year': 2011, 'slug': 'some-slug'})

do this::

from feincms.content.application.models import app_reverse
app_reverse('blog_detail', 'blog.urls', kwargs={'year': 2011,
'slug': 'some-slug'})

If you do not want to use the monkey patching behavior anymore, set
``FEINCMS_REVERSE_MONKEY_PATCH = False`` in your settings file.

The new method is accessible inside a template too::

{% load applicationcontent_tags %}

{# You have to quote the view name and the URLconf as in Django's
future {% url %} tag. #}
{% app_reverse "blog_detail" "blog.urls" year=2011 slug='some-slug' %}


Inheritance 2.0
===============

It's possible to use Django's template inheritance from third party
applications embedded through ``ApplicationContent`` too. To use this
facility, all you have to do is return a tuple consisting of the
template and the context. Instead of::

def my_view(request):
# ...
return render_to_response('template.html', {'object': ...})

simply use::

def my_view(request):
# ...
return 'template.html', {'object': ...}

.. note::

``template.html`` should extend a base template now.


Better support of ``InlineModelAdmin`` options for content types
================================================================

The ``FeinCMSInline`` only differs from a stock StackedInline in
differing defaults of ``form``, ``extra`` and ``fk_name``. All inline
options should be supported now, especially ``raw_id_fields`` and
``fieldsets``.


Minor changes
=============

* The main CMS view is now based on Django's class-based generic
views. Inheritance 2.0 will not work with the old views. You don't
have to do anything if you use ``feincms.urls`` (as is recommended).

* Request and response processors have been moved out of the
``Page`` class into their own module, ``feincms.module.page.processors``.
They are still accessible for some time at the old place.

* ``django.contrib.staticfiles`` is now a mandatory dependency for
the administration interface.

* The ``active`` and ``in_navigation`` booleans on the ``Page``
class now default to ``True``.

* The minimum version requirements have changed. Django versions older than
1.3 aren't supported anymore, django-mptt must be 0.4 upwards.

* The mptt tree rebuilders have been removed; django-mptt offers tree
rebuilding functionality itself.

* ``django-queryset-transform`` has been imported under ``feincms.utils``
and is used for speeding up various aspects of the media library. The
prefilled attributes have been deprecated, because
``django-queryset-transform`` can be used to do everything they did,
and better.

* ``PageManager.active_filters`` has been converted from a list to a
``SortedDict``. This means that replacing or removing individual
filters has become much easier than before. If you only used the
public methods for registering new filters you don't have to change
anything.

* The same has been done with the request and response processors.

* The ``TemplateContent`` has been changed to use the ``filesystem`` and
the ``app_directories`` template loaders directly. It can be used
together with the cached template loader now.

* The tree editor has received a few usability fixes with (hopefully)
more to come.

* ``Page.setup_request`` can be called repeatedly without harm now.
The return value of the first call is cached and returned on
subsequent calls which means that request processors are run
at most once.

* A few bugs have been fixed.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment