Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
DEPRECATED, do not use it.
Ruby CSS

This branch is 28 commits ahead of atd:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
app
config
db/migrate
doc/template
examples/config
generators
lib
test
LGPL-LICENSE
README.rdoc
Rakefile
init.rb
install.rb
uninstall.rb

README.rdoc

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.

Web page

Features

  • Agents

  • Resources

    • Atom feeds, RFC 4287

    • AtomPub protocol, RFC 5023

    • Contents and Containers relations

  • Folksonomies: Tags, Taggable models

  • Logos for models

  • Sortable lists for models

  • Integration with exception_notification plugin

Architecture

You can add any of the following functionality to any of your ActiveRecord models:

Basic

ActiveRecord::Agent

a model with authentication, authorization and potencial to perform actions over Resources, e.g. a User

ActiveRecord::Resource

a model that have, at least, CRUD operations and can be imported/exported in different formats, like Atom/RSS.

ActiveRecord::Content

a Resource that belongs to a Container, e.g. a Post

ActiveRecord::Container

a model that have many Contents, e.g. a Project

ActiveRecord::Stage

a model that defines an RBAC Authorization framework for Agents, e.g. a Group

Complements

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

Requirements

  • Rails 2.3.4

  • RubyGems:

    • mislav-will_paginate

    • ruby-openid (optional)

    • atom-tools (optional)

    • nokogiri, prism (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

  • nokogiri, prism, for HTML management, Microformats discovery

TODO

  • Agents authentication support: OAuth

  • Microformats

  • RDF: FOAF + SIOC

Copyright © 2008-2010 Antonio Tapiador, released under the LGPL license

Something went wrong with that request. Please try again.