Yii Framework Forum: Content Management Framework - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Content Management Framework What to call CMF? Rate Topic: -----

#1 User is offline   andy_s 

  • Random Member Title
  • Yii
  • Group: Moderators
  • Posts: 1,526
  • Joined: 22-June 09
  • Location:Russia, Kostroma

Posted 02 December 2010 - 01:11 PM

Let's start with this Wikipedia's article: http://en.wikipedia....ement_Framework
There is a nice example to understand where is the place of CMF:

Quote

Unlike a typical CMS, a CMF is geared more towards configurability and customization. Picture a range of measurement where one end of the scale is labeled “specific” and the other end “abstract”. On the “specific” end of the spectrum, you would have something whose form is very specialized because it’s meant for a specific purpose—like, say, a hammer. On the other end of the spectrum, you would have something much more abstracted, that is available to be configured any way you like, for a variety of purposes—like some wood and a chunk of steel. You could make a hammer, or any number of other things with the wood and steel. Of course, while chunks of wood and steel are more “configurable” than a hammer, they aren’t terribly useful because few people have the specialized knowledge to work with such raw materials.

So we have a line with two ends: [ CMS -------------------------- Framework ]. CMF is somewhere between. But first, let's look at the ends.

CMS is for people not familiar with programming, while Framework is a programmer's tool.
But I realized the following. Most of us are using Yii to create a kind of CMS designed for a specific task. And me too. I don't need a general solution (like Drupal, MODx etc.). There are two (I have in my mind now) reasons:
1) Too complex admin panel. I need to learn it, but my customers don't and won't do it. It's not intuitive and obvious.
2) Extensibility. Some CMSystems have API. But I'm pretty sure I can't solve any task using only it's API. I'll need to learn source codes.

I think really serious applications are always need a programmer. So a programmer has a choise, whether to use CMS or Framework. I choose Framework (Yii of course ;)).

But how do we (programmers) solve our problems using Yii? Each of us have the same "chunk of wood and steel" and the same task to make a "hammer". Could be also nice to have the same "scenario". Different patterns solve this problem, especially ActiveRecord and MVC. But of course, it's not enough to build a CMS using Yii. Also, we don't need a "universal" CMS, because different projects have different database schemas, some projects don't need user management, some projects are really "unique" and need a special admin interface (or several).

Now I can explain what's CMF in my vision:
First of all, it's a programmer's tool. It's a set of patterns to build a CMS.
Assume, you need to make a catalog of products. You have a database schema with 3 tables. First table for common items' properties (name, description, cost, added_at), second table for Cellphones (where only cellphones' properties are stored) and third table for other products. Maybe this schema looks too complex, but it depends on the task. There are really many variants of schemas. Now, how to "handle" this schema with ActiveRecord? Also, we'll need an interface for adding products. And then we'll add to our application Users and Product Makers. I can't count the number of different program solutions of this problem, because it's too big :) But actually this can be done using 3-4 patterns (I'm not going to describe it here).

So, CMF should have some extensions of ActiveRecord. Combining these extensions you can perform an easy Object-Relational Mapping having a pretty complex database schema. Also, CMF should have a set of view templates using which you can build an admin panel.

What do I want to say? Simply "It's good to have a CMF based on Yii Framework" :)
Using Yii one can build (almost) any web-application. Using CMF one can build (almost) any Content Management System. I'm thinking of creating such CMF (at least, for personal use).

Thanks for reading and for your comments (I really want to know your opinion ;)).
0

#2 User is offline   jacmoe 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 2,601
  • Joined: 10-October 10
  • Location:Denmark

Posted 02 December 2010 - 01:23 PM

Since I am lazy, I tend to use existing modules if it's not too much work to get them to cooperate.
Yii-User, Rights and SimpleWorkFlow are my favorites (even though the latter really isn't a true module).
I would love to see more pluggable modules, of course.
I am keeping an eye on cmssitestructuremodule and Wiki for Yii but I must admit that I generally just piece together my apps, though I should probably create modules I can reuse later. :)
"Less noise - more signal"
0

#3 User is offline   jacmoe 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 2,601
  • Joined: 10-October 10
  • Location:Denmark

Posted 02 December 2010 - 01:30 PM

Phundament 2 is the nearest - I think - you get to a CMF in Yii.
The problem is that one usually end up with a framework which takes too many decisions on your behalf.
But, I'd like to see one. :)
"Less noise - more signal"
0

#4 User is offline   andy_s 

  • Random Member Title
  • Yii
  • Group: Moderators
  • Posts: 1,526
  • Joined: 22-June 09
  • Location:Russia, Kostroma

Posted 02 December 2010 - 02:09 PM

View Postjacmoe, on 02 December 2010 - 01:30 PM, said:

Phundament 2 is the nearest - I think - you get to a CMF in Yii.
The problem is that one usually end up with a framework which takes too many decisions on your behalf.
But, I'd like to see one. :)

In my opinion, CMF is not a CMS based on Framework. I can dislike any part of a ready CMS, so I'll need to learn and extend it's sources or replace some parts by my own. It's not that simple as it sounds.
I'm just trying to understand what's CMF, a kind of a framework designed to create different content management systems. And they can be really different.
0

#5 User is offline   jacmoe 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 2,601
  • Joined: 10-October 10
  • Location:Denmark

Posted 02 December 2010 - 02:29 PM

I agree.
What I'd like to see is a collection of modules which are designed to work together. Where the developer/user provides the glue and makes the decisions, but that's really hard to achieve.
"Less noise - more signal"
0

#6 User is offline   andy_s 

  • Random Member Title
  • Yii
  • Group: Moderators
  • Posts: 1,526
  • Joined: 22-June 09
  • Location:Russia, Kostroma

Posted 02 December 2010 - 03:17 PM

View Postjacmoe, on 02 December 2010 - 02:29 PM, said:

I agree.
What I'd like to see is a collection of modules which are designed to work together. Where the developer/user provides the glue and makes the decisions, but that's really hard to achieve.

Also it should not be a set of modules :) Some (or many, I don't know the statistics) applications don't use modules at all.
I would like to see it more Relational Database oriented. Assume you have 4 classes:

class Post {} // table "Post" (p_id, title, text, created_at, updated_at)
class News extends Post {} // table "News" (p_id, source, author)
class Article extends Post {} // table "Article" (p_id, short_text)
class Comment {} // table "Comment" (p_id, author, message, created_at)

// some desired magic code:
$article = Article::model()->findByPk(12);
$article->title = 'title';
$article->short_text = 'bla bla bla';
$article->save();

There should be a tool to easily save new posts (news or articles) and a kind of very basic view templates for adding news/articles. Of course, it's just a little example (posts can have authors, authors are "commentable" too, authors can belong to organizations, organizations can have a "special backend"). I know Propel or Doctrine can solve the first task, but they are real "monsters" (XML, YAML, auto-creating tables - I never really needed it, I prefer phpMyAdmin to create tables and define constraints; also I like "Yiish" way of defining relations).
0

#7 User is offline   Mike 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 3,016
  • Joined: 06-October 08
  • Location:Upper Palatinate

Posted 03 December 2010 - 03:54 AM

Could be completely wrong, but wasn't ezPublish meant to be something similar? But i admit that i didn't look at eZ for 10 years or so :).
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users