FeinCMS 1.4 release notes

  • FeinCMS supports more than one site from the same database with django.contrib.sites now. Thanks to Bojan Mihelac and Stephen Tyler for the work and insistence on this issue.

  • It is possible to customize the administration model inline used for content types. This means that it’s possible to customize more aspects of content type editing and to reuse more behaviors from Django itself, such as raw_id_fields.

  • FeinCMS has gained support for django-reversion.

  • Reusing the media library in your own content types has become much easier than before. When using a feincms.module.medialibrary.fields.MediaFileForeignKey instead of the standard django.db.models.ForeignKey and adding the media file foreign key to raw_id_fields, you get the standard Django behavior supplemented with a thumbnail if the media file is an image. This requires the next feature too, which is…

  • Custom InlineModelAdmin classes may be used for the content types now by adding a feincms_item_editor_inline attribute to the content type specifying the inline class to be used.

  • New projects should use feincms.content.medialibrary.v2.MediaFileContent instead of feincms.content.medialibrary.models.MediaFileContent. The argument POSITION_CHOICES and the corresponding field have been renamed to TYPE_CHOICES and type because that’s a more fitting description of the intended use. The old and the new media file content should not be mixed; the hand-woven raw_id_fields support of the old media file content was not specific enough and interferes with Django’s own raw_id_fields support.

  • FeinCMS has gained a preview feature for pages which shouldn’t be accessible to the general public yet. Just add the following line above the standard FeinCMS handler:

    url(r'', include('feincms.contrib.preview.urls')),

    Another button will be automatically added in the page item editor.

Apart from all these new features a few cleanups have been made:

  • FeinCMS 1.2 removed the CKEditor-specific rich text content in favor of a generalized rich text content supporting different rich text editors. Unfortunately the documentation and the available settings only reflected this partially. This has been rectified. Support for TINYMCE_JS_URL, FEINCMS_TINYMCE_INIT_TEMPLATE and FEINCMS_TINYMCE_INIT_CONTEXT has been completely removed. The two settings FEINCMS_RICHTEXT_INIT_CONTEXT and FEINCMS_RICHTEXT_INIT_TEMPLATE should be used instead. See the Content types - what your page content is built of documentation for more details.
  • The two settings FEINCMS_MEDIALIBRARY_ROOT and FEINCMS_MEDIALIBRARY_URL have been removed. Their values always defaulted to MEDIA_ROOT and MEDIA_URL. The way they were used made it hard to support other storage backends in the media library. If you still need to customize the storage class used in the media library have a look at MediaFile.reconfigure.
  • Support for the show_on_top option for the ItemEditor has been completely removed. This functionality has been deprecated since 1.2.
  • A few one-line Page manager methods which were too similar to each other have been deprecated. They will be removed in the next release of FeinCMS. This concerns page_for_path_or_404, for_request_or_404, best_match_for_request and from_request. The improved for_request method should cover all bases.
  • A few page methods have been deprecated. This concerns active_children, active_children_in_navigation and get_siblings_and_self. The useful bits are already available through Django’s own related managers.