adva-cms 0.1.1 released!
One month has passed since the release of adva-cms 0.1.1 and things have moved quite a bit since then. The changes include a complete revision of our testing philosophy, the migration to more current plugins/gems (like paperclip and stringex), the removal of some rather community-related engines, lots of fixes and interesting features and additions.
Read more about this release and our plans for the next release.
Farewell to heavy stubbing and mocking
One of the biggest changes we did was to completely revisit our testing philosophy.
Our old way of heavy stubbing was not something we felt comfortable with in the end. With a growing team and code evolving over time we were less and less confident with what what our tests were actually testing. Do the stubs still match the actual implementation? Or do we just test hot air?
Also, when we wanted to quickly follow Rails' moves on edge we couldn't. RSpec was holding us back because it wasn't yet ready for Rails edge.
So, after a long period of experimentation and research we finally decided to convert our complete test suite to a combination of plain old test/unit and Rails tests combined with With (contexts for functional tests), Matchy (RSpec like matchers) and RR (flexible stubs, mocks and proxies).
By now there are hardly any stubs or mocks anymore. The switch to using "real models" already caught a bunch of bugs that previously were hidden in stubs that had diverged from the actual implementation. We're confident that this new approach will result in more stable code and a less steep learning curve for newcomers.
As a result of this change we got rid of pile of plugins that had accumulated for our various test setups: factory-girl, rspec-rails, rspec, factories_and_workers, factory_girl_scenarios, rspec_on_rails_matchers, rspec_on_rails_on_crack and stubby. Now, deleting stuff is always fun :)
Other changes
- adva-messages was pulled from adva-cms. This was more like a community feature and we did not feel that it should be a part of the CMS platform right now. We might reintroduce it in the future in some way once we have finally modularized adva-cms.
- FCKeditor plugin as a WYSIWYG editor for writing articles (the plugin is disabled by default and won't be shipped with the adva-cms core code base once we have a place for hosting adva-cms related plugins).
- Extensible Form Builder: As adva-cms is intended to be as extensible as possible both from the application build on top of it and from any kind of plugin, we wanted a flexible way to hook into and modify existing form templates that are shipped with adva-cms. The Extensible Form Builder allows us to do this.
- The Components plugin was replaced by Cells.
- attachment_fu was replaced by paperclip, added url_history plugin and LaterDude.
- Lots of improvements to adva_calendar, adva_forum, adva_wiki, adva_newsletter, adva_photo, adva_assets and adva_themes.
In the near future
Improvements that are on our radar for the next release are:
- Model translations by Joshua Harvey, based on Globalize2
- Revision of the section/contents model design
- Revision of the backend UI design, based on drafts by Mark Schlusnus and Ned Schwartz
- Documentation by Bettina
- Support for Rails 2.3
Support and contribution
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!
Developer team
Sven Fuchs, Marko Seppä, Clemens Kofler, Joshua Harvey, Priit Tamboom, Thomas R Koll