github
Advanced Search
  • Home
  • Pricing and Signup
  • Explore GitHub
  • Blog
  • Login

atd / station

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
  • Pull Request
  • Download Source
    • 80
    • 3
  • Source
  • Commits
  • Network (3)
  • Issues (2)
  • Downloads (8)
  • Wiki (1)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Branches (3)
    • gh-pages
    • master ✓
    • stable
  • Tags (8)
    • 0.3.1
    • 0.3.0
    • 0.2.3
    • 0.2.2
    • 0.2.1
    • 0.2.0
    • 0.1-cmsplugin-last
    • 0.1
Sending Request…
Enable Donations

Pledgie Donations

Once activated, we'll place the following badge in your repository's detail box:
Pledgie_example
This service is courtesy of Pledgie.

Rails Content Management System engine — Read more

  cancel

  cancel
  • Private
  • Read-Only
  • HTTP Read-Only

This URL has Read+Write access

Include resource.container in StationResources#current_container 
atd (author)
Mon Feb 08 07:27:29 -0800 2010
commit  2f169a8d96d2210b217b070d7a4e2e1689bee9da
tree    40034fa821068bde1843813274b78647399b6422
parent  0dc065247855ef2b3bf3b9f87d0c69a63ff9312d
station /
name age
history
message
file LGPL-LICENSE Mon Jan 28 08:46:44 -0800 2008 Initial import git-svn-id: svn+ssh://rubyfor... [atd]
file README.rdoc Tue Jan 12 07:46:27 -0800 2010 Update README [atd]
file Rakefile Tue Jan 12 04:05:09 -0800 2010 Change rdoc documentation dir [atd]
directory app/ Fri Feb 05 03:32:53 -0800 2010 Fix a couple of bugs about current_site [atd]
directory config/ Wed Feb 03 07:56:52 -0800 2010 Add a couple of translations [atd]
directory db/ Fri Nov 06 01:53:33 -0800 2009 Add Tag#taggings_count [atd]
directory doc/ Mon Feb 02 03:19:42 -0800 2009 Enhance doc git-svn-id: svn+ssh://rubyforge.or... [atd]
directory examples/ Tue Dec 22 08:39:25 -0800 2009 Copy Oxygen icons task [atd]
directory generators/ Thu Jan 28 05:07:10 -0800 2010 Include resources/feed.atom.builder partial [atd]
file init.rb Fri Nov 13 04:19:22 -0800 2009 Merge vcc branch: tags and categories merged, s... [atd]
file install.rb Fri May 08 03:26:24 -0700 2009 Station Refactorization [atd]
directory lib/ Mon Feb 08 07:27:29 -0800 2010 Include resource.container in StationResources#... [atd]
directory tasks/ Tue Dec 22 08:39:25 -0800 2009 Copy Oxygen icons task [atd]
directory test/ Mon Jan 28 08:46:44 -0800 2008 Initial import git-svn-id: svn+ssh://rubyfor... [atd]
file uninstall.rb Mon Jan 28 08:46:44 -0800 2008 Initial import git-svn-id: svn+ssh://rubyfor... [atd]
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

  • 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

Blog | Support | Training | Contact | API | Status | Twitter | Help | Security
© 2010 GitHub Inc. All rights reserved. | Terms of Service | Privacy Policy
Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
Dedicated Server