While on Google you'll find a complete CMS application, the stuff on GitHub is in very early stage of development.
But git will play a key role in the development process, see here for more information.

Hey schmunk,

I just had a look at the GitHub - code. I don't really get the difference to phundament. In Phundament you also rely on modules like SBARC. I took me only a few minutes to migrate phundament cms to my existing application, because I already had user management with access control.
Of course phundament has a lot of „too much“ functionality.

So what will be the difference with this approach to your existing phudament cms functions? Reduce complex functionality ?
When I tested the github-branch I played around with the widgets. I like the drag'n'drop usability a lot. Right now there is only the widget functionality.
So are you planning to integrate cells and content features as well?

I just had a look at the GitHub - code. I don't really get the difference to phundament. In Phundament you also rely on modules like SBARC. I took me only a few minutes to migrate phundament cms to my existing application, because I already had user management with access control.
Of course phundament has a lot of „too much“ functionality.

Yes, you always need different modules. But they should be pluggable ...
If you can leave SRBAC aside and only use phundament - thats wonderful, because it proves it's 'pluggability'

In the current code there's a P3AdminModule for installation of other modules.
And the P3WidgetModule which can create other widgets.
Content is created by any type of widget, but there are no modules for that included at the moment.
But I think another thing should be a P3ControllerModule, which serves as a dynamic controller, like P2Page in the old version.
The thing is, that this just a controller, but if you need to have a backend, you'll usually end up in a module.

peili, on 21 May 2011 - 02:34 AM, said:

So what will be the difference with this approach to your existing phudament cms functions? Reduce complex functionality ?
When I tested the github-branch I played around with the widgets. I like the drag'n'drop usability a lot. Right now there is only the widget functionality.
So are you planning to integrate cells and content features as well?

Hmmm, P3WidgetContainer should be the cell feature?!

Other features as mentioned above.
Modules for content should also be pluggable.
But I think I'll add another module like P2Html, HTML editor plus file manager.

In the download itself you'll find an app, based on the Yii webapp skeleton. To keep it slim, Yii itself is currently not bundled with the application.

See the INSTALL file for detailed instructions and have a look at the demo video:

You can watch this in 720p fullscreen on youtube, if you want to able to read a thing

Some more words about the setup.

Even a small scaled application needs a user and a rights management. Therefore I've included the two existing module exentions 'yii-user' and 'rights', instead of writing or using my own extensions.
When using existing modules I've found it problematic that there's always of different ways of installing the modules.
You have to configure it and for these two modules you also have to setup database tables. For example one module has an installer, but for the other one you have to create the tables manually.

This led me to the idea of writing a module which performs these schema setups with database migrations, to be honest a fairly new feature, so it's clear that it is not widely used.
It's very easy to create migration classes instead of sql dumps, there's also already an extension command for that.
I added those to the modules 'rights' and 'yii-user', besides a default config file.

Another part which has been added to the release above is the P3WidgetContainer. Simply a widget which allows you to create other widgets. Check out the video for a detalied explanation.

While putting the pieces together I had to work around a few problems.
So I want to address these a bit in detail.

Layout / CSS
Problem:
Modules layouts are inconsistent
Solution:
- conventions about CSS classes
- a module should provide a <div class="modulemenu"><?php $this->widget('CMenu', ...)?></div> for its internal navigation.
- a module should have a link to it's index page in the breadcrumbs
- make use of the same layouts as yii application skeleton (column1 and column2)

For sure there will be more updates on this topic, but depening on my spare time for this project.

As mentioned in the postings above this first main goal is to create conventions for a let's call it: 'Yii Standard Application', while the download provided above is only a setup of this app, called 'phundament'.

Sorry about the non-commenting, but I really like what you're doing here.
I don't mind if you keep it up.
I briefly checked it out, and it looks like a neat overall solution to managing an array of various modules/extensions.

Sorry about the non-commenting, but I really like what you're doing here.
I don't mind if you keep it up.
I briefly checked it out, and it looks like a neat overall solution to managing an array of various modules/extensions.

Excellent with the content editor.

I'am using cmssitestructuremodule and I am having problems to include your widgets in the views.
First of all, inside a widget view "$this->widget" ist not working.
But also your p3widgets require a unique path for controller, which i cannot provide with cmssitestructuremodule.
Do you understand what i mean? Any ideas?

CMS demo ain't working, could you update it please.
Besides download app is broken, there are missing files and configurations, like "The table "p3_widget" for active record class "Widget" cannot be found in the database."

p.s. where is p3widgets db schema?

No offense but this seems more like a personal app than a developer targeted cms.
Though don't really get what phundament targets to, or what phundament actually is.

If you let me tell you some thoughts, this is what a serious CMS should have at its core:
-coding guidelines
-pages module
-users module
-basic configuration
-defined module/plug-in architecture for extending it
-backend for managing default modules (pages, users, etc.), developer modules, and the basic configurations.
-no frontend, and this is important, as developer will code this as views (perhaps providing a default theme), and with this i'm suggeting forgetting p3widgets for a moment at least, while other things get solved first.

The backend should be independent from frontend, each one having their own default themes.

I can help you with themming, but you **have**(if you want to of course) to work on those things.

CMS demo ain't working, could you update it please.
Besides download app is broken, there are missing files and configurations, like "The table "p3_widget" for active record class "Widget" cannot be found in the database."

p.s. where is p3widgets db schema?

No offense but this seems more like a personal app than a developer targeted cms.
Though don't really get what phundament targets to, or what phundament actually is.

If you let me tell you some thoughts, this is what a serious CMS should have at its core:
-coding guidelines
-pages module
-users module
-basic configuration
-defined module/plug-in architecture for extending it
-backend for managing default modules (pages, users, etc.), developer modules, and the basic configurations.
-no frontend, and this is important, as developer will code this as views (perhaps providing a default theme), and with this i'm suggeting forgetting p3widgets for a moment at least, while other things get solved first.

The backend should be independent from frontend, each one having their own default themes.

I can help you with themming, but you **have**(if you want to of course) to work on those things.

I would suggest you read the beginning of this thread. I don't think the author schmunk want's to build an entire CMS application. More an approach to fill the gap for modules to build your own cms.

Just a note, when developing using DVCS such as git or mercurial, it's typically simpler to create forks than branches.
Also, if you want people to be able to use new extensions or modules separately, I've found that creating a repository for each, and then including as a sub-repo in my main project has worked very well.

I'am using cmssitestructuremodule and I am having problems to include your widgets in the views.
First of all, inside a widget view "$this->widget" ist not working.
But also your p3widgets require a unique path for controller, which i cannot provide with cmssitestructuremodule.
Do you understand what i mean? Any ideas?

No offense but this seems more like a personal app than a developer targeted cms.
Though don't really get what phundament targets to, or what phundament actually is.

Phundament 2 was a complete app, phundament 3 will consist of seperate modules.
Please don't mix up the complete GitHub Repo with the module available for download.
The application setup is described at the beginning of this thread.

-no frontend, and this is important, as developer will code this as views (perhaps providing a default theme), and with this i'm suggeting forgetting p3widgets for a moment at least, while other things get solved first.

You can customize a module with Yii's built-in themeing.

cpucpu, on 02 June 2011 - 11:22 AM, said:

The backend should be independent from frontend, each one having their own default themes.
I can help you with themming, but you **have**(if you want to of course) to work on those things.

Cool. There are many parts which need work, also writing guidelines. You're welcome to join, do you have GitHub Repo?