mongocms A CMS based on mongodb

  1. Features:
  2. Requirements
  3. Installation
  4. What's next

'mongocms' is a cms based on mongoDB. This is the first official release v0.1.

Features:

  • A powerful basic contenttype 'Page' with attachments, links, settings, content permissions ...

  • Presets for image attachments to autogenerate thumbnails ... (like imagecache in Drupal)

  • Example for a custom contenttype: Slideshow

  • Add to favorites, print, direct edit links in pages

  • 3 level permissions for user roles:

    • route (Menu per role module in Drupal)
    • content (permissions per page)
    • contenttype
  • Autogenerating menu
  • menu cache for increasing performance
  • Users/Roles management, Users online portlet

...

Screenshots and Howto

See downloadfile 'mongocms.quickstart.01.pdf'.

Requirements

  • mongoDB 1.6.5+
  • Yii 1.1.5+
  • Extension yiimongodbsuite

'mongocms' includes following additional extensions, no need for extra installation:

  • appendo
  • ckeditor
  • image
  • mPrint
  • timepicker
  • EMongoDBCache
  • GUrlValidator (see forum)
  • jqueryslidemenu (see yii documentation)

Installation

You can download the preconfigured 'mongocms.fullapp.01.zip' or install manually:

  1. Install the extension yiimongodbsuite

  2. Extract mongocms.01.zip into protected/modules

Configuration in applications main.php

1. Register the module

...
    'modules' => array(
        'mongocms' => array(
          //'mongoConnectionId' => 'mongodb'  //(=default)
			'modules' => array(
                'slideshow', //register the contenttype as submodule
                ),
            ),
 ...

Note: Take a look at the public properties of MongoCmsModule for more configuration possibilities to expose here

2. Register the mongocms behavior

...
    behaviors' => array(
	   'mongocms' => 'mongocms.components.MongoCmsBehavior',
	   ...
	),
 ...

3. Register the controllers

in the controllerMap and set the defaultController of the application to the ContentController
...
 'defaultController' => 'content',

 'controllerMap' => array(
			'admin' => 'application.modules.mongocms.controllers.AdminController',
			'files' => 'application.modules.mongocms.controllers.FileController',
			'content' => 'application.modules.mongocms.controllers.ContentController',
			'user' => 'application.modules.mongocms.controllers.UserController',
        ),

 ...

Note:

  • Step 3 is optional, but it 'hides' mongocms module
  • You can change the key, but then you have to rename the corresponding directoryname in the themes folder too.

4. Register and configure the components

  • Configure the yiimongodbsuite
  • Set the loginUrl of the user to the login of the mongocms
  • Install the urlManager but - important - uncomment the default rules
...

 'components' => array(
   ...

   'mongodb' => array(
            'class' => 'EMongoDB',
            'connectionString' => 'mongodb://localhost',
            'dbName' => 'mongocms',
            'fsyncFlag' => true,
            'safeFlag' => false,
            'useCursor' => false
        ),

   'user' => array(
            'allowAutoLogin' => true,
            'loginUrl' => array('/user/login'),
			              //or /mongocms/user/login if the controllerMap is not used
        ),

    'urlManager' => array(
		'urlFormat' => 'path',
		'rules' => array(
		   // '<controller:\w+>/<id:\d+>' => '<controller>/view',
		   // '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
		   //  '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
		 ),
    ),

...
)

Note: The default rules of the urlManager conflicts with the handling of viewing pages in mongocms

Call the url index.php (or index.php/mongocms if defaultController is not set) and see what happens ...

What's next

  • Fixing bugs ;-)
  • User registration
  • German translation
14 0
26 followers
13 260 downloads
Yii Version: 1.1
License: BSD-2-Clause
Category: User Interface
Tags: cms, mongodb
Developed by: Joblo
Created on: Feb 5, 2011
Last updated: 12 years ago

Downloads

show all

Related Extensions