atd / station
- Source
- Commits
- Network (3)
- Issues (2)
- Downloads (8)
- Wiki (1)
- Graphs
-
Branch:
master
| name | age | message | |
|---|---|---|---|
| |
LGPL-LICENSE | Mon Jan 28 08:46:44 -0800 2008 | |
| |
README.rdoc | Tue Jan 12 07:46:27 -0800 2010 | |
| |
Rakefile | Tue Jan 12 04:05:09 -0800 2010 | |
| |
app/ | Fri Feb 05 03:32:53 -0800 2010 | |
| |
config/ | Wed Feb 03 07:56:52 -0800 2010 | |
| |
db/ | Fri Nov 06 01:53:33 -0800 2009 | |
| |
doc/ | Mon Feb 02 03:19:42 -0800 2009 | |
| |
examples/ | Tue Dec 22 08:39:25 -0800 2009 | |
| |
generators/ | Thu Jan 28 05:07:10 -0800 2010 | |
| |
init.rb | Fri Nov 13 04:19:22 -0800 2009 | |
| |
install.rb | Fri May 08 03:26:24 -0700 2009 | |
| |
lib/ | Mon Feb 08 07:27:29 -0800 2010 | |
| |
tasks/ | Tue Dec 22 08:39:25 -0800 2009 | |
| |
test/ | Mon Jan 28 08:46:44 -0800 2008 | |
| |
uninstall.rb | Mon Jan 28 08:46:44 -0800 2008 |
Station
Station is a Rails Engine focused on Content Management and Distributed Social Software.
Rails = Ruby + Web Development Station = Rails + Content Management
Station provides your Rails application with a CMS framework. This means authentication, authorization, roles, permissions, tags, etc… but from a very flexible scope.
Features
- Authentication: Login/Password, OpenID, Central Authentication Service (CAS), CookieToken
- Authorization: Access Control, Roles and Permissions (RBAC)
- Activation: Email validation, Password reset
- Atom feeds, RFC 4287
- AtomPub protocol, RFC 5023
- Taxonomies: Categories, Categories Domains
- Folksonomies: Tags, Taggable models
- Logos for models
- Sortable lists for models
- Integration with exception_notification plugin
Requirements
- Rails 2.3.4
- RubyGems:
- mislav-will_paginate
- ruby-openid (optional)
- atom-tools (optional)
- hpricot (optional)
- Rails Plugins:
- attachment_fu
- exception_notification (optional)
Installation
Plugins
You need attachment_fu for Logos and Attachments support:
script/plugin install git://github.com/technoweenie/attachment_fu.git
To install Station, run:
script/plugin install -r stable git://github.com/atd/station.git
Install exception_notification plugin if you want to receive debugging emails from your application
script/plugin install git://github.com/rails/exception_notification.git
Gems
Run rake gems:install to install the required gem, mislav-will_paginate
You can install this aditional gems:
- ruby-openid, for OpenID authentication support
- atom-tools, for AtomPub support
- hpricot, for HTML discovery
Architecture
You can add this functionality to any of your ActiveRecord models:
Basic
| ActiveRecord::Resource: | a model that have, at least, CRUD operations and can be imported/exported in different formats. |
| ActiveRecord::Content: | a Resource that belongs to a Container, e.g. a Post |
| ActiveRecord::Container: | a model that have many Contents, e.g. a Space |
| ActiveRecord::Agent: | a model with authentication, authorization and potencial to perform actions over Resources, e.g. a User |
| ActiveRecord::Stage: | a model that defines an RBAC Authorization framework for Agents, e.g. a Group |
Complements
| ActiveRecord::CategoriesDomain: | a model which instances define Ontology domains |
| ActiveRecord::Categorizable: | a model that can be classified in any Category |
| ActiveRecord::Taggable: | a model that can be tagged |
| ActiveRecord::Logoable: | a model with Logo |
| ActiveRecord::Sortable: | a model with a sortable list |
Generators
Agents
An Agent has the capability to post Contents to Containers. An User is the example of Agent
script/generate station_agent Model
Resources
script/generate station_scaffold Model attributes
Example
Blog
Create personal blogs with a pair of commands:
script/generate station_agent User script/generate station_scaffold Article content:text rake db:migrate
Users now can entry their own Articles
You can add AtomPub support for Articles creation. You must implement params_from_atom method in Article model:
def self.params_from_atom(entry)
{ :body => entry.content.xml.to_s }
end
TODO
- Agents authentication support: OAuth
- Microformats
- RDF: FOAF + SIOC
Copyright © 2008-2010 Antonio Tapiador, released under the LGPL license
