public
Description: cutting edge cms, blog, wiki, forum ...
Homepage: http://artweb-design.lighthouseapp.com/projects/13992-adva_cms/overview
Clone URL: git://github.com/svenfuchs/adva_cms.git
floess (author)
Mon Nov 02 03:56:13 -0800 2009
commit  cfd086c241889d26643167fd1eb0b484174e56d9
tree    8ec7ecc7de502670017d0b3495ef5b22dc6d07db
parent  170a1858fd96c10eff14e99b16f8d2f6ecf95532
name age message
file .gitignore Tue Sep 08 12:37:43 -0700 2009 added optimistic lock to wiki backend [chris]
file CHANGELOG Mon Nov 02 03:56:13 -0800 2009 preparing for 0.3.0 release [floess]
file LICENSE Fri May 08 13:52:34 -0700 2009 Added license file. [clemens]
file README Mon Nov 02 03:56:13 -0800 2009 preparing for 0.3.0 release [floess]
file Rakefile Tue Apr 21 06:30:50 -0700 2009 Decoupling Rake task from jstest.rb related paths [jodosha]
directory doc/ Wed Oct 28 09:54:02 -0700 2009 doc: git tips got updated with more clean git u... [priit]
directory engines/ Loading commit data...
directory plugins/ Fri Aug 28 01:12:29 -0700 2009 Fixed cell support. [clemens]
directory script/ Tue Oct 27 06:06:22 -0700 2009 move roles tests to adva_rbac, re-enable --with... [svenfuchs]
file setup.rb Thu Feb 05 06:32:47 -0800 2009 making setup.rb executable [TomK32]
directory templates/ Mon Nov 02 03:56:13 -0800 2009 preparing for 0.3.0 release [floess]
directory test/ Tue Aug 25 03:35:52 -0700 2009 expand with so it allows to specify an :if => :... [Clemens Kofler and Sven Fuchs]
README
Welcome to adva-cms
===================
 
adva-cms is a cutting edge open source application platform based on Ruby on
Rails and Rails Engines.

Different from others, adva-cms lives in vendor directory and keeps your main
app directory clean and dandy. So you can reclaim app directory and use it
only for your own application files.

adva-cms makes it extensible: you can only pick those engines/features you really
need for your application and omit the rest. All engines are designed to work
together seamlessly, so the whole platform feels much more consistent for
similar but separate Rails applications.
 
Please check out /doc directory and our site http://adva-cms.org for more info.

Installation: Release 0.3.0
===========================

Required: Rails 2.3.4, ImageMagick for image handling

# install Rails 2.3.4 gems if you don't have them already
  sudo gem install rails --source http://gems.rubyonrails.org

# install and setup adva-cms using a template
  rails my-app -m http://github.com/svenfuchs/adva_cms/raw/master/templates/adva-cms.0.3.0.rb

# there's no step 3
  cd my-app
  ruby script/server
  open http://localhost:3000

You should see adva-cms installation screen.
Fill out the form and you're started, enjoy!

You can install additional engines and plugins through rake adva:install. See
below for more about that.

*Important note for using adva-cms with Rails 2.3.4*

You *must* use Rails' old routing recognition/generation mode in order for adva-cms to work correctly:

  # config/initializers/new_rails_defaults.rb
  # either uncomment the following line or set it to true
  ActionController::Routing.generate_best_match = false


Installation: Edge version using rails template
===============================================

Required: Rails 2.3.4, ImageMagick for image handling

# install Rails 2.3.4 gems if you don't have them already
  sudo gem install rails --source http://gems.rubyonrails.org

# install and setup adva-cms using a template
  rails my-app -m http://github.com/svenfuchs/adva_cms/raw/master/templates/adva-cms.master.rb

# there's no step 3
  cd my-app
  ruby script/server
  open http://localhost:3000

You should see adva-cms installation screen. 
Fill out the form and you're started, enjoy!

You can install additional engines and plugins through rake adva:install. See
below for more about that.


Installation: Edge version manually
===================================

Required: Rails 2.3.4 or newer, ImageMagick for image handling

# Create your app
  rails my-app
  cd my-app
  rm public/index.html

# Prepare the config/environment.rb and remove the public/index.html
  # in config/environment.rb make sure you have:
  require File.join(File.dirname(__FILE__), 'boot')
  require File.join(File.dirname(__FILE__), '../vendor/adva/engines/adva_cms/boot') # this line

# Clone the adva-cms ( this might take a bit, grab a coffee meanwhile :) )
  git clone git://github.com/svenfuchs/adva_cms.git vendor/adva  # or use: git submodule add ...

# Install the core engines and copy the assets
  rake adva:install:core -R vendor/adva/engines/adva_cms/lib/tasks # install adva-cms to vendor/plugins/
  rake adva:assets:install                                         # symlinks plugin assets to public/

# Start the server
  ruby script/server
  open http://localhost:3000

You should see adva-cms installation screen. 
Fill out the form and you're started, enjoy!


Installing/Uninstalling adva-cms engines and plugins
====================================================

You can install/uninstall adva-cms engines and plugins by using a set of rake
tasks. Installation simply works by symlinking (copying on Windows) to 
vendor/plugins.

There are the following tasks/subtasks:

  rake adva:install:all
  rake adva:install:core
  rake adva:install

  rake adva:uninstall:all
  rake adva:uninstall:core
  rake adva:uninstall

For each of these tasks you can specify the option except and give it a list
of engine/plugin names that should be excluded from the install/ uninstall
task. E.g.

  rake adva:install:all except=adva_themes,adva_wiki
  rake adva:uninstall:all except=adva_themes,adva_wiki

For the tasks adva:install and adva:uninstall one can specify the options
engines and plugins and give it a list of engine/plugin names that should be
included to the task. E.g.

  rake adva:install engines=adva_themes,adva_wiki plugins=adva_url_history
  rake adva:uninstall engines=adva_themes,adva_wiki plugins=adva_url_history

(Accidentally, for the task adva:install:core one can specify the plugins
option in the same way and thus install all core engines plus certain
plugins.)

For both the engines and plugins options one can specify the keyword "all"
which then expands to all available engines and plugins respectively. Thus,
these are equivalent:

  rake adva:install:all
  rake adva:install engines=all plugins=all
  
When the "all" keyword is used with the uninstall task this only applies to 
all engines and plugins except the adva-cms core engines. To uninstall these
you can still simply delete the symlinks (directories on Windows) from 
vendor/plugins.

NOTE please note that right now assets not installed to public/ when engines are
installed and they are not removed from public/ when engines are uninstalled.
So after you've installed additional engines you'll most probably want to 
install the assets to public:

  rake adva:assets:install


Configuration
=============
 
You can change adva-cms configuration by including an initializer to your 
application and overwriting things that adva-cms sets as defaults. See the 
initializers in adva-cms engines/plugins, e.g. in

  vendor/plugins/adva_cms/config/initializers/*


Running tests
=============

Running tests for adva-cms version 0.1.2 or newer:

  $ sudo gem install mocha                              # We depend on this gem in some of our tests

  $ rake db:test:clone                                   # Clones from your development database to test database
  $ vendor/adva/script/test_prepare_database            # Prepares database
  $ vendor/adva/script/test vendor/adva/engines         # Runs all tests
  $ vendor/adva/script/test vendor/adva/engines -p       # Prepares the database and runs all adva-cms tests

Please check out /doc directory for high level overview about adva-cms.


Installing Selenium
===================

$ (sudo) gem install Selenium selenium-client


Unfortunately the jar that the Selenium gem (version 1.1.14) comes with does not work with Firefox 3. So we have to get 
the latest jar from the Selenium-RC site:

Download the Selenium RC Beta 2:

http://seleniumhq.org/download/

Once you have extracted the download we copy:

selenium-remote-control-1.0-beta-2/selenium-server-1.0-beta-2/selenium-server.jar

Over the jar that was installed with the Selenium gem:

GEM_INSTALL_DIR/Selenium-1.1.14/lib/selenium/openqa/selenium-server.jar.txt # yes, with .txt in the end

 
Development
===========

Please report bugs to Lighthouse: 
  http://artweb-design.lighthouseapp.com/projects/13992-adva_cms/overview
 
Git repository:
  http://github.com/svenfuchs/adva_cms/tree/master
 
adva-cms mailing list:
  http://groups.google.com/group/adva-cms
 
adva-cms irc:
  irc://irc.freenode.net#adva-cms


Developers
==========

Sven Fuchs
Marko Seppä
Clemens Kofler
Matthias Viehweger
Christopher Floess
Priit Tamboom
Thomas R. Koll
Joshua Harvey
Luca Guidi
Mark Schlusnus