Congratulations!  I can't wait for what's to come!

On Sun, Apr 10, 2011 at 11:44 PM, Matthias Kestenholz <m...@feinheit.ch>wrote:

> Hello everyone
>
> FeinCMS 1.3.0 has just been released and is available at the usual places.
>
>
>
> What is FeinCMS anyway?
> =======================
>
>
> FeinCMS is one of the most advanced Content Management Systems built on top
> of Django. FeinCMS not only includes a page module with many bundled
> content
> types (plugins), a media library and up-to-date documentation but also the
> tools to build your own CMS if our view of how a page CMS is supposed to
> act like does not fit your requirements.
>
>
> PyPI: http://pypi.python.org/pypi/FeinCMS/
> Github: https://github.com/matthiask/feincms/
> Docs: http://www.feinheit.ch/media/labs/feincms/
>
> Please report any issues you find in the issue tracker of github:
> https://github.com/matthiask/feincms/issues
>
>
> Changes since the last announcement mail (1.3.0.rc1):
>
> * The test runner has been converted to the class-based test runner API
> * Several last-minute bugfixes
>
>
>
> This release would not have been possible without the contributions by the
> community. Thanks for all the patches, bug reports and ideas which went
> into
> this release.
>
>
>
>
> =========================
> FeinCMS 1.3 release notes
> =========================
>
>
> FeinCMS 1.3 includes many bugfixes and cleanups and a number of new
> features.
> The cleanups and features caused a few backwards incompatible changes. The
> upgrade path is outlined below.
>
> Highlights
> ==========
>
> * FeinCMS pages use the standard Django permalink mechanism inside the
>  ``get_absolute_url`` implementation. This means that you have to update
> the
>  URL definition if you did not include ``feincms.urls`` directly.
>
>  Change this::
>
>      url(r'^$|^(.*)/$', 'feincms.views.base.handler'),
>
>  to this::
>
>      url(r'', include('feincms.urls')),
>
>  Defining the URL patterns directly is still possible. Have a look at
>  ``feincms.urls`` to find out how this should be done.
>
> * FeinCMS requires at least Django 1.2 but already has support for Django
> 1.3
>  features such as staticfiles. The FeinCMS media file folder has been moved
>  from ``feincms/media/feincms`` to ``feincms/static/feincms`` - if you use
>  ``django.contrib.staticfiles`` with Django 1.3 (and you should!), FeinCMS'
>  media files for the administration interface will automatically be made
>  available without any further work on your part.
>
> * Content types can specify the media files (Javascript and CSS files) they
>  need to work correctly. See :ref:`contenttypes-extramedia` for information
>  on how to use this in your own content types.
>
> * The content type loading process has been streamlined and requires much
>  less database queries than before. The performance hit on sites with deep
>  page hierarchies, inheritance and many regions is several times smaller
>  than before.
>
> * The content type interface has been extended with two new methods,
> available
>  for all content types which need it: ``process`` is called before
> rendering
>  pages and is guaranteed to receive the current request instance. Each and
>  every content type (not only application contents as before) has the
>  ability to return full HTTP responses which are returned directly to the
>  user. ``finalize`` is called after rendering and can be used to set
>  HTTP headers and do other post-processing tasks. See
>  :ref:`contenttypes-processfinalize` for more information.
>
>
> (Backwards incompatible and other) Changes
> ==========================================
>
> * The default ``ContentProxy`` has been rewritten to load all content type
>  instances on initialization. The instances stay around for the full
>  request-response cycle which allows us to remove many quasi-global
> variables
>  (variables attached to the ``request`` object). The new initialization is
>  much more efficient in terms of SQL queries needed; the implementation is
>  contained inside the ``ContentProxy`` class and not distributed all over
>  the place.
>
> * The ``ContactFormContent`` has been updated to take advantage of the
>  new content type interface where content types can influence the
>  request-response cycle in more ways.
>
> * The ``ct_tracker`` extension has been rewritten to take advantage of the
>  new ``ContentProxy`` features. This means that the format of
> ``_ct_inventory``
>  could not be kept backwards compatible and has been changed. The inventory
>  is versioned now, therefore upgrading should not require any action on
>  your part.
>
> * ``feincms_site`` is not available in the context anymore. It was
> undocumented,
>  mostly unused and badly named anyway. If you still need this functionality
> you
>  should use ``django.contrib.sites`` directly yourself.
>
> * The ``_feincms_appcontent_parameters`` has been folded into the
>  ``_feincms_extra_context`` attribute on the current request. The
>  ``appcontent_parameters`` template tag is not necessary anymore
>  (the content of ``_feincms_extra_context`` is guaranteed to be available
> in
>  the template context) and has been removed.
>
>  In your appcontent code, change all references of
> ``_feincms_appcontent_parameters``
>  to ``_feincms_extra_context``, e.g.
>
>      params = getattr(request, '_feincms_appcontent_parameters', {})
>
>  becomes
>
>      params = getattr(request, '_feincms_extra_context', {})
>
> * As part of the effort to reduce variables attached to the request object
>  (acting as a replacement for global variables), ``request.extra_path``
>  has been removed. The same information can be accessed via
>  ``request._feincms_extra_context['extra_path']``.
>
> * The ``feincms.views.applicationcontent`` module has been removed. The
>  special casing it provided for application content-using pages aren't
>  necessary anymore.
>
> * The page's ``get_absolute_url`` method uses URL reversion for determining
> the
>  URL of pages instead of returning ``_cached_url``. This means that you
> need
>  to modify your URLconf entries if you added them to your own ``urls.py``
>  instead of including ``feincms.urls``. Please make sure that you have two
>  named URL patterns, ``feincms_home`` and ``feincms_handler``::
>
>      from feincms.views.base import handler
>
>      urlpatterns = patterns('',
>          # ... your patterns ...
>
>          url(r'^$', handler, name='feincms_home'),
>          url(r'^(.*)/$', handler, name='feincms_handler'),
>      )
>
>  If you want the old behavior back, all you need to do is add the following
>  code to your ``settings.py``::
>
>      ABSOLUTE_URL_OVERRIDES = {
>          'page.page': lambda page: page._cached_url,
>          }
>
> * The copy/replace and preview mechanisms never worked quite right. They
> were
>  completely dropped from this release. If you still need the ability to
> create
>  copies of objects, use the standard Django ``ModelAdmin.save_as`` feature.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django FeinCMS" group.
> To post to this group, send email to django-fein...@googlegroups.com.
> To unsubscribe from this group, send email to
> django-feincms+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/django-feincms?hl=en.
>
>

-- 
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+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to