Total Pageviews

Sunday, 23 February 2014

LocomotiveCMS-基于ruby和mongodb的cms程序




Dependency Status
LocomotiveCMS is a simple but powerful CMS based on liquid templates and mongodb database. At my company (NoCoffee), we use it for our clients when they request a simple website.
If we have to give a couple of features to describe our application, there will be:
  • managing as many websites as you want with one application instance
  • nice looking UI (see http://www.locomotivecms.com for some screenshots)
  • flexible content types
  • content localization out of the box
  • playing smoothly with Heroku, Bushido and MongoHQ
  • inline editing (wip)
  • API

Strategy / Development status

We already developed a fully functional prototype in Rails 2.3.2 with both active record / mongomapper and it worked quite well. We are even using it for some client websites.
Now, our goal is to port our prototype to Rails 3 and migrate from mongomapper to mongoid. Besides, we put a lot of efforts to make it as robust as we can by writing better specs than we wrote for the prototype at first.

Gems

Here is a short list of main gems / technologies used in the application.
  • Ruby 2.0
  • Rails 3.2.16 (Rails 4.0 planned for the beginning of 2014)
  • Mongoid 3.1.3 (with MongoDB 2.x)
  • Liquid
  • Devise
  • Carrierwave
  • Haml
  • Formtastic
  • Cells
  • Coffeescript / Backbone / SASS

Installation

See the installation documentation on the official website

Upgrading

We work on the procedure to upgrade from a previous version of the engine (below the 2.0.0)

Community

Contributing to LocomotiveCMS

LocomotiveCMS is an open source project, we encourage contributions. If you have found a bug and want to contribute a fix, or have a new feature you would like to add, follow the steps below to get your patch into the project:
  • Install ruby and mongoDB
  • Clone the project git clone git@github.com:locomotivecms/engine.git
  • Setup a virtual host entry for test.example.com to point to localhost
  • Install PhantomJS (Required for the cucumber suite See: https://github.com/jonleighton/poltergeist)
  • Run the tests rake
  • Write your failing tests
  • Make the tests pass
  • Create a GitHub pull request
For new features (especially large ones) it is best to create a topic on the Google group first to make sure it fits into the goals of the project。

from https://github.com/locomotivecms/engine