On Mon, Sep 8, 2008 at 9:17 AM, apm [email protected] wrote:
For an application i need to have app-specific parts + content
management. I thought of integrating with an existing CMS project in
Rails. These would be the requirement i would have for a CMS:
Radiant http://github.com/radiant/radiant/tree is the way to go.
Must-have-features:
Radiant comes with Rails 2.0.2 in vendor/rails. There is current work to
move to Rails 2.1.
- Easy integration: should be easy to integrate with other parts of
the website that would be developed also in Rails
Check out the
share_layoutshttp://github.com/radiant/radiant-share-layouts-extension/tree/masterextension.
Also, look at the
import-exporthttp://github.com/radiant/radiant-import-export-extension/treeextension.
- Stable: should be used in production
Radiant is very well tested.
- Localization support (DB, YAML or GetText)
Via DB:
translatorhttp://github.com/cradle/radiant-translator-extension/tree/masterextension.
Nive to have features:
Radiant extensions exist for
FCKeditorhttp://github.com/djcp/radiant-fckeditor/treeand
TinyMCE http://github.com/search?q=radiant+tinymce.
Radiant’s User model is available to the local Rails app:
User(id: integer, name: string, email: string, login: string,
password:
string, created_at: datetime, updated_at: datetime, created_by_id:
integer,
updated_by_id: integer, admin: boolean, developer: boolean, notes: text,
lock_version: integer, salt: string, session_token: string)
class User < ActiveRecord::Base
Default Order
order_by ‘name’
Associations
belongs_to :created_by, :class_name => ‘User’
belongs_to :updated_by, :class_name => ‘User’
Validations
validates_uniqueness_of :login, :message => ‘login already in use’
validates_confirmation_of :password, :message => ‘must match
confirmation’, :if => :confirm_password?
validates_presence_of :name, :login, :message => ‘required’
validates_presence_of :password, :password_confirmation, :message =>
‘required’, :if => :new_record?
validates_format_of :email, :message => ‘invalid e-mail address’,
:allow_nil => true, :with =>
/^$|^([^@\s]+)@((?:[-a-z0-9]+.)+[a-z]{2,})$/i
validates_length_of :name, :maximum => 100, :allow_nil => true,
:message
=> ‘%d-character limit’
validates_length_of :login, :within => 3…40, :allow_nil => true,
:too_long => ‘%d-character limit’, :too_short => ‘%d-character minimum’
validates_length_of :password, :within => 5…40, :allow_nil => true,
:too_long => ‘%d-character limit’, :too_short => ‘%d-character minimum’,
:if
=> :validate_length_of_password?
validates_length_of :email, :maximum => 255, :allow_nil => true,
:message
=> ‘%d-character limit’
validates_numericality_of :id, :only_integer => true, :allow_nil =>
true,
:message => ‘must be a number’
…
end
–
Tim