ComfortableMexicanSofa is a powerful CMS Engine for your Rails 4 applications.
This fork of Comfy adds a few extra features, most notably support for multi-user authentication through Devise and CanCan. This basically means you can have more than one user and users only have access to specific sites (set by a super admin).
Important: You cannot swap from the vanilla Comfy to this fork, as this version is not considered an 'upgrade' on vanilla. See 'using this fork'.
There are two database migrations that you will need to apply if upgrading from a vanilla Comfy:
- Multi-user authentication through Devise and CanCan.
- A hook called
snippet_form
to allow you to display some information on the snippet new/edit page in the administration panel. - Support for importing and exporting file fixtures
- Layout CSS is parsed for Comfy tags just like layout HTML. Be careful with this feature: Some Comfy tags may expect to know about the page they are being rendered on, and will produce unexpected results when they only know about the layout.
- A seperate
head
field on layouts that can optionally be rendered by an application layout using thecms_layout_head
helper method. - A boolean field on Pages called 'include in Nav'. This could be used (but isn't used by default) if you are auto-generating navigation links but want some pages to not appear in the navigation.
- Mixin for comfy filters to add to any controllers that don't inherit from CmsContentController.
- Simple integration with Rails 4 apps
- Build your application in Rails, not in CMS
- Powerful page templating capability using Tags
- Multiple Sites from a single installation
- Multilingual
- Fixtures for initial content population
- Revision History
- Great extendable admin interface built with Bootstrap, CodeMirror and WYSIHTML5
Add gem definition to your Gemfile:
gem 'comfortable_mexican_sofa', '~> 1.10.0'
Then from the Rails project's root run:
bundle install
rails generate comfy:cms
rake db:migrate
Now take a look inside your config/routes.rb
file. You'll see where routes attach for the admin area and content serving. Make sure that content serving route appears as a very last item.
ComfortableMexicanSofa::Routing.admin :path => '/admin'
ComfortableMexicanSofa::Routing.content :path => '/', :sitemap => false
When upgrading from the older version please take a look at Upgrading ComfortableMexicanSofa
For Rails 3 apps feel free to use 1.8 release
gem 'comfortable_mexican_sofa', '~> 1.8.0'
After finishing installation you should be able to navigate to http://yoursite/cms-admin
Default username and password is 'username' and 'password'. You probably want to change it right away. Admin credentials (among other things) can be found and changed in the cms initializer: /config/initializers/comfortable_mexican_sofa.rb
Before creating pages and populating them with content we need to create a Site. Site defines a hostname, content path and it's language.
After creating a Site, you need to make a Layout. Layout is the template of your pages; it defines some reusable content (like header and footer, for example) and places where the content goes. A very simple layout can look like this:
<html>
<body>
<h1>{{ cms:page:header:string }}</h1>
{{ cms:page:content:text }}
</body>
</html>
Once you have a layout, you may start creating pages and populating content. It's that easy.
For more information please see Wiki pages.
GoogleGroups: http://groups.google.com/group/comfortable-mexican-sofa Twitter: @GroceryBagHead
ComfortableMexicanSofa is released under the MIT license
Copyright 2009-2013 Oleg Khabarov, The Working Group Inc