keymone / merb_cms

as the name states....

This URL has Read+Write access

name age message
file .gitignore Wed Jun 25 05:54:38 -0700 2008 initial commit [keymone]
file README.markdown Wed Jun 25 11:27:33 -0700 2008 minor fix in README, removed default layout and... [keymone]
file Rakefile Wed Jun 25 05:54:38 -0700 2008 initial commit [keymone]
directory app/ Sun Jul 20 13:56:08 -0700 2008 * refactored extensions loading * added base mo... [keymone]
directory autotest/ Wed Jun 25 05:54:38 -0700 2008 initial commit [keymone]
directory config/ Fri Jun 27 05:49:41 -0700 2008 some basic extensions support Document include... [keymone]
directory lib/ Thu Aug 21 23:27:10 -0700 2008 fixed few bugs, extension classes should be glo... [keymone]
directory public/ Wed Jun 25 05:54:38 -0700 2008 initial commit [keymone]
directory spec/ Wed Jun 25 05:54:38 -0700 2008 initial commit [keymone]
README.markdown

merb_cms

merb_cms is CMS(obviously) written on top of Merb framework.

Currently this project in very early development stage and is open for suggestions and collaboration.

Main goals

Main goals to achieve:

  • fast
  • small
  • slice
  • extensible

Fast and Small

This is pretty obvious..

Slice

Having CMS as a slice is a great idea. Site on top of CMS is flawed design. CMS as part of your site is right design. Think about it.

Extensible

Extensions, extensions, extensions. They should provide new content types, template formats, data providers and data renders.

Current Functionality

In config/router.rb you can see that all requests matched by /content/* pattern are rendered by Router#route.

Router#route will find content and dispatch request as if it was originally routed to ContentTypeRouter#show.

ContentType and ContentTypeRouter are required classes to be defined for each supported content type.

ATM there is Content class which is base class for all content types provided by extensions and Document class which is required for any CMS i guess..

Database layout for CMS content types is STI as implemented in DataMapper.

Current routing implementation is trivial - content is matched by :route column which is extracted from url.