Skip to content

gabecoyne/Soapbox

Repository files navigation

soapbox

Soapbox is a Rails 3 CMS by Killit Creative. It manages pages, users, permissions, redirects, galleries, attachments, menus, and more out of the box. It’s easy to extend to manage all kinds of other content and attach files and images to them and manage permissions over them.

Contributing to soapbox

  • Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet

  • Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it

  • Fork the project

  • Start a feature/bugfix branch

  • Commit and push until you are happy with your contribution

  • Make sure to add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.

Copyright © 2011 Gabe Coyne. See LICENSE.txt for further details.

Install

Add soapbox to your Gemfile

gem ‘soapbox’ Run ‘bundle install’

Generate soapbox tables

rails g soapbox_migration rake db:migrate Create a super user to admin the site

rails c

User.create(:email => "your@email.address", :password => "xxxxxx", :super_admin => true)

Fire it up

rails s You have everything you need out of the gate for a super basic site

Then start customizing

  • Start adding page templates by creating new layout files in app/views/pages/templates

  • Start adding pages by login into /admin

  • Add your google analytics credentials to /admin/analytics

Scaffold Generator

rails g soapbox_scaffold plugin_name field:type field:type

Features

  • shared admin list view - paging, search, add, edit, delete

  • plugin generator

  • admin tab navigation

  • admin authentication using devise

  • plugin ordering/nesting

  • shared list management

  • shared tree management

  • S3 paperclip file manager - integrated with wizywig

  • tinymce wizywig editor

  • admin and form css styling

  • settings

  • dynamic sitemap.xml - for pages

  • users, groups, permissions, custom permissions, user.can?(do, plugin)

  • admin search

  • paper_trail - version control and user history

  • permissions.yml - user.can? and group.can? - checkbox ui in admin - Global overrides - Plugin & Model level perms

  • analytics plugin - google analytics API integration - show top pages, traffic sources, and search terms

  • polypaperclip - attach anything to anything and browse/search it all in one library

  • menus - drag pages and other menuable models into different menues

  • front end edit buttons

  • keyed contents (snippets)

  • tags - acts_as_taggable_on

  • image galleries - bulk upload, ordering, captions - nivo viewer and prettyPhoto viewer

Todos

  • soapbox_stlyesheets_tag helper

  • soapbox_javascripts_tag helper

  • ruby 1.9.2 - rails 3.0.9

  • rake soapbox_override app/views/admin/pages/form.html.erb - pull file out into app to customize

  • shortcodes - [partial:locals,args] - render “shortcodes/partial”, :params => args.split(“,”)

  • add default permission stuff for shared list and admin_controller - create, edit, delete, admin, etc

  • analytics - PageRankr - rubydoc.info/gems/PageRankr/2.0.1/frames

  • gitsatisfaction for community support

  • caching - memcache

  • default error docs

  • sending email

  • permissions - bulk selection - jQuery

Phase 2

Reference