adva-cms 0.2.3, an autumn cleanup release

posted by Clemens Koffler on August 28, 2009 14:30

This month we have a release that contains tons of small changes and refactorings. We basically cleaned up the adva-cms code by removing legacy code and improving the quality of code where we found some code smells. We have also put some effort into making the adva-cms test suite more flexible when working with custom apps. There are a bunch of bug fixes again and also a long requested feature for site finding is now implemented. Oh, and we have cooler help hints now, too!

Whats new in 0.2.3 then?

    Site#find_by_host! behaviour change ...

    • Our users have been requesting this feature for a long time and now it is here: When there is only one site installed and adva-cms is running in single site mode the Site#find_by_host! method returns the first site from the database. The functionality for multi site mode stays the same as it was.

    ... more flexible tests ...

    • Tests were refactored so that they are more flexible to use and they work better with the custom applications.
      • Locale is reset to :en on a test environment. Test environment always runs tests against the English translations so we need to run them with English locale regardless of the custom app's locale.
      • Expanded 'with' testing plugin to allow :if => :condition. This allows us to skip some adva-cms tests if, for example, the default theme is not in use. Of course, you have to write tests for the custom apps frontend to cover skipped functionality.
      • Routing tests now have :default_routing_filters context to run the tests with the default routing filters.
      • Tests made presumptions about urls before - we changed this so they are more independent and do not rely on certain exact urls.
      • Controller actions are rescued with error pages in the test environment by a new context :rescue_action_in_public.
      • Extracted some matchy matchers from tests, check them from engines/adva_cms/test/test_helper/extensions/matchy_adva_cms.rb and engines/adva_cms/test/test_helper/extensions/matchy.rb
      • We have some custom apps that run adva-cms tests in the context of a custom app, so we have confirmed that our test suite is more flexible now than it was before! We hope these changes help you, too, to run your application's tests with the adva-cms tests more easily!

    ... adva-themes ...

    • There is no stupid forced cache folder under stylesheets and javascripts anymore! This awesome "feature" from the past created extra frustration to the image links in your CSS, because the cached file was forced to be one folder deeper than before.
    • adva-themes assets cache clearing only removes files that have cached_ on their file name, also everything under a cached folder will be removed when clearing the cache. So when you want to cache your theme asset files, remember to use correct names / folder for the cached files!
    • Cached asset for all the themes of a site are cleared when you click 'clear all' on site cache settings. This might sound obvious but previously there was no way of clearing the theme asset cache from the UI.

    ... cooler help hints ...

    • We started to use qTip - a jQuery tooltip library - for displaying our help hints and they are much cooler than before! Enjoy.

    ... adva-cms got little more flexible again ...

      We improved the modularity of adva-cms by moving some initializers out of engines where they do not belong. For example, we removed the photo initializer from adva_comments and added a comment initializer to adva_photos instead, because it just makes more sense this way. An even more noticeable change is that adva_blog now has its own blog_articles_controller because we didn't want the adva_cms engine to know anything about blogs.

    .. :max_display_level menu option reverted ...

    • We reverted :max_display_level menu option we introduced on the previous release.

    ... and some bug fixes

    • Issue with Rubypants is fixed and the library is updated
    • Fixed the cancel link on theme file edit page
    • Fixed text filter to work with translated columns
    • Fixed hast_filter to work with upcased text
    • Fixed force_html routing filter to work with root_urls
    • Fixed broken set_user_cookie! method from authentication library
    • Fixed adva_url_history
    • Fixed a bug with filtering set path on admin area with locale on url
    • Stubbed the URI opening method from adva_newsletter test
    • Confirmation code fields are not shown anymore if user is logged in on password/edit
    • We want only set section_id for page cache references if section is actually set
    • adva-cms mailer initializer fixed
    • Cookies are only set when user is available
    • Building a menu path for unsaved sections is now prevented
    • Articles_controller#current_resource fixed, current resource is the section when the section is in single_article_mode
    • [action]_url methods are now passing the :only_path option
    • Improved cache_references plugin to not overwrite existing references when calling caches_page_with_references/tracks_cache_references again.
    • Cell support for fckeditor fixed

    Plans for the future

    • Revisiting RBAC. This one is currently in development and it will be released in one of the following releases!
    • Revisiting i18n keys
    • Revisiting the frontend default layout
    • Namespacing adva-cms to prevent name clashes with your app
    • And much more!

    Support and contribution

    We are still more than happy to receive any new translations of adva-cms from you guys! Also, you can contribute to our guide!

    For any questions regarding adva-cms please drop by in #adva-cms @ irc.freenode.net or send an email to our mailing-list. We are happy to help you out!

    Developer team

    Sven Fuchs, Marko Seppä, Clemens Kofler, Joshua Harvey, Priit Tamboom, Thomas R Koll, Luca Guidi, Mark Schlusnus