========================= FeinCMS 1.5 release notes ========================= 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. * Extensions such as ``translations`` and ``datepublisher`` which were only usable with the page module have been made more generic and are available for other FeinCMS-derived models too. * Media files from the medialibrary can be exported and imported in bulk. * When creating a new translation of a page, content is only copied from the original translation when the new page does not have any content yet. Furthermore the user is notified that some content-copying has happened. * A few bugs have been fixed.