I and my friend has made a CMS for our projects, and now we want to open source it to give back to community and make it better. You can find it at Github :
The Sample Project
This CMS uses existed extensions/modules :
Translate : http://www.yiiframework.com/extension/translate
Some current features of it:
Multiple languages ( for Content, Categories, Pages,…)
Multiple Content types ( Easily define new content type like : article, event…like wordpress posts custom fields but maybe better )
User Management ( Thanks to Rights module )
Workflow handle ( Who can create an article, publish or cancel it, transfer to others to review )
- Multiple layouts
- Pages management : The site can create pages. Ya, a page can have different layouts that are defined above. In each layout, we can add blocks in slots. The Blocks are ( for example : HTML Block, Content list Block, Menu Block,…). A new block can be developed easily for backend handle and frontend appearance.
Missing and going to develope features :
Caching management ( Re-work)
Ip and visits statistics
Multiple domain support
Update some F.A.Q
1/- The CORE is the part that will not be changed, it is the part that
is for use only (like yii/framework, but then for CMS functionallity)
[b]2/ - Every project has it’s own BACKEND / FRONTEND / COMMON but all
projects makes use of the same CORE[/b]
In fact, I am thinking about a multi-sites feature but maybe later.
[b]3/ - FRONTEND and BACKEND has it’s own main config file so different
modules can be used on different ends?[/b]
4/ - in COMMON are files used in both FRONTEND and BACKEND[/b]
[b]5/- COMMON/front_layouts holds the layout for the frontend, you can call
this the theme for the frontend.
- COMMON/front_blocks holds Yii Widgets that are called blocks in GXC?[/b]
front_layouts: The layouts for frontend.
front_blocks: The blocks for frontend. It has files :
+ input: For inputting in backend + output: For render information in frontend + ClassBlock: Handle Business Stuff.
content_type: Define different content types for site.
storages : Different file storages (Save file to local, to Amazon,…)
Happy coding! ^^