MoseCMS

A new open source Easy/Extensible/Editable CMS:

* MoseCMS has several features such as editable pages like Microsoft frontpage or any HTML eidtor. You can create template for MoseCMS from any free template you download from internet, does not require a database but support it via DBi4PHP, etc. Please see more detail in the MoseCMS page.

===MoseCMS===

What is MoseCMS?

* MoseCMS is short for "My Open Source Easy/Extensible/Editable CMS"

A working sample is here: http://mosecms.ongetc.com

What features MoseCMS has?

* It has support for TinyMCE, FCKEditor, Spaw2, plain, and various others
* It has various way to extend the core via: macro, extension, mods, cmods, apps, connectors, etc (there are so much to say in this topic!)
* It has several managers to support the above add-ons.
* In the heart it is just a online editable web page but can be extend to have script code in it and can be extend using various add-ons that described above
* The core is very small, it has just a handful of classes and function and the core can be locate any where after the initial install
* It has support for various positions and you are free to create even more...
* It has backend admin which can have its own template or be a copy the frontend template.
* It has backend admin skin and frontend skin. The skin are selectable via config mamager.
* It has database support via various packages and connectors with the use of ez_sql, adodb, dbi4php that has various database drivers.
* it has flexibility to share core, packages.
* It has flexibility to put folder in private and public area of resources and content to secure your site with MoseCMS
* It has multi-site support
* and more...

Note: Another words if you want to have adodb database support just drop in the package and MoseCMS will detect and load it to make it available.

* ez_sql has support for mysql, mssql, postgresql, oracle8_9, pdo and sqlite. See http://www.woyano.com/jv/ezsql
* adodb has support for 48 different database drivers. See http://adodb.sourceforge.net
* dbi4php has support for MySQL, MS SQL Server, Oracle, PostgreSQL, ODBC, Interbase, SQLite, IBM DB2. See http://www.k5n.us/dbi4php.php (Note: bundle with the core package)

Why MoseCMS?

* As a volunteer at http://opensourcecms.com site where we demo lots of CMS and in my search for CMS effort and you can find my effort at http://ongetc.com I found that there is no perfect CMS and I can't find one that meet my need. Thus from my research and from people feedback on what they are looking for in a CMS that are the features set that I develop for MoseCMS. The most important is it has to be small, it is editable, and most of all it must be easy and extensible! MoseCMS draws lot of inspiration from many CMS that I came across, so to name a few, Mambo, Joomla, Nuke, Drupal, DokuWiki, WordPress, many framework like CakePHP, etc. I port my Mambo template and MosModule into MoseCMS easily!

What is unique about MoseCMS?

* For convenience of template designer it has a handful of API call that template designer can use like: mosecmsMainBody(), mosecmsLoadInHeader(), mosecmsCurrentTemplated(), etc. But the really unique about MoseCMS is it single global variable "mosecms", all MoseCMS API are available through this one variable. You only need to make one global declaration and all of MoseCMS internal API will be available for you to use any where and every where!
* The real strength of MoseCMS is in the add-ons. It is very extensible! Lot of way like I describe above!
* For example the editors are written as loader which is a MoseCMS add-on for editor. This loader will load the editor packages from the respective packages folder so you can easily upgrade any of the editor by just drop in the new editor package. That's it!
* Multi sites can be easily achieve by mean of sharing the core. You can create as many sites as you want just set the path to the share core in the config manager. Each site will have its own set of add-ons and templates, etc
* MoseCMS can easily be upgrade one time for all sites that share the same core.
* It does not take any special feature from PHP 5 so it should be able to run with PHP 4.

What is the core of MoseCMS?

* It is still evolving but currently it has: functions.global, class.main and base, class.admin and base, class.helpers and class.setup and base and may be some packages like AJAX, etc. That's it!

How to create add-on for MoseCMS?

* Very easy!
* For example:


<?php

// mods: hello

echo hello();

function hello() {
return "Hellohello from mods";
}
?>

What is Macro?

* Macro is a macro processor that process any add-on macro and use as a shortcut or tag in your pages to make it easier to construct content from various source whether static or dynamic.
* I create a couples macros: a simplemacro {!YourMacroCommand} and a port of my Mambo add-on call MosModule to become a macro in MoseCMS {mosmodule command}.

* Some samples of the simplemacro:

* {!today} will show today's date in your page
* {!servername} will show your server name in your page
* You can extend this simplemacro by adding more method to the class.

What are Extensions?

* Extension are any PHP code that you put in the folder and will be available to be call in any of your page, add-ons, etc

What are cmods?

* cmods are content modules that will show in the template base on the position that you assign. cmods can be just html, php or any script that your web server support

What are mods?

* mods are modules that you can use to extend the core. I create three modules for serving as a sample:

+ hello: a typical hello world
+ cssmenu: show page in a nice little css menu
+ themeselect: let you select which theme to show.

What is connectors:

* connectors are a connection to other libraries you want to add to your site. I created two connectors: ez_sql and adodb. In theory you can create connector to your favorite forum, blog, or other CMS and access those content in MoseCMS.

MoseCMS folder tree:

MoseCMS folder tree

MoseCMS root
├───docs
├───share
│ ├───core
│ │ └───packages
│ │ └───dbi4php
│ └───packages
│ ├───adodb
│ ├───dbi4php
│ └───ez_sql
├───siteprivate
│ ├───addons
│ │ ├───apps
│ │ │ ├───dbi4php
│ │ │ ├───hello
│ │ │ └───phorumembed
│ │ ├───connectors
│ │ │ ├───adodb
│ │ │ ├───dbi4php
│ │ │ ├───ez_sql
│ │ │ └───mambo
│ │ ├───editors
│ │ │ ├───default
│ │ │ ├───fckeditor
│ │ │ ├───hype
│ │ │ ├───plain
│ │ │ ├───spaw2
│ │ │ └───tinymce
│ │ ├───extensions
│ │ │ ├───adodb
│ │ │ ├───ez_sql
│ │ │ ├───hello
│ │ │ ├───jquery
│ │ │ └───opacity
│ │ ├───macros
│ │ │ ├───mosmodule
│ │ │ └───simple
│ │ └───mods
│ │ ├───cssmenu
│ │ ├───hello
│ │ └───themeselect
│ └───contents
│ ├───cmods
│ ├───pages
│ └───positions
└───sitepublic
├───js
│ ├───fckeditor
│ ├───jquery
│ ├───opacity
│ ├───spaw2
│ └───tinymce
└───templates
├───default
│ ├───css
│ └───images
├───fruit
│ ├───css
│ └───images
├───hifi_news
│ ├───css
│ └───images
├───plainblue
│ ├───css
│ └───images
│ ├───backgrounds
│ └───_notes
└───transparentia
├───css
└───images

How multi-sites work?

Very easy, just copy "siteprivate" and "sitepublic" folder to a new folder and edit config.php to point to your newly copy site folders. Once you have that done then you can just access your new site via http://yoursite.com/newsite. The main site is still http://yoursite.com. There is no limit to number of site you can create. Just copy more folder.

I have so much fun develop MoseCMS and feel like there are so much more features I want to add however it has so much useful features already that I think lot of you might find MoseCMS very compelling CMS to use and to build on. Please let me know if you are interested in take a look!

There are so much more so stay tune!

That's for now!