PHP Developers Network

A community of PHP developers offering assistance, advice, discussion, and friendship.
 
Loading
It is currently Mon Nov 24, 2014 8:14 pm

All times are UTC - 5 hours




Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject: Designing a basic CMS
PostPosted: Thu Jul 07, 2011 4:21 pm 
Offline
Forum Commoner

Joined: Tue Jul 29, 2008 10:01 pm
Posts: 42
Hi

I’m designing my own basic cms to use as a starting point for sites I will be developing. This is just to save me time in the long run. Its not going to be a fully featured cms like joomla or whatever just a way of managing content pages, users and menus, kind of like my own custom backend to any sites that Ill be creating.

I’m also doing this as a learning exercise as I’m still a fairly inexperienced programmer.

Does anybody have any advice on how to structure the architecture? What I’m looking for is not code examples but examples of how the logic of categorising content should work such as a database scheme or flow charts or uml diagrams showing the underlying design of a cms.

Does anybody have any links or books they could point me to? Iv searched but cant find much thats fairly comprehensive.


Top
 Profile  
 
PostPosted: Thu Jul 07, 2011 4:34 pm 
Offline
DevNet Master
User avatar

Joined: Sun Feb 15, 2009 12:08 pm
Posts: 2775
Location: .za
A good jump off point is to put down (either on paper or digital format) everything the CMS is supposed to do. If you have that figured out, designing the database, creating the code will be a lot easier if you know what you are working towards.

Other CMS can be a source of information as well. Look at how joomla, drupal, wordpress (etc) databases. It's a good place because these systems are established so looking at their setups might give you a few ideas on what to do with your own CMS. Some php books aimed at beginners have chapters dedicated to building simple things : login systems, basic shopping carts, message boards etc. Look for that type of book to give advice and guidance.

Some books you might find interesting:

Peachpit Press PHP 6 and MySql 5 by Larry Ullman
O'Reilly Head first PHP & MySql by Lynn Beighley & Michael Morrison

Hth.

_________________
“Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.” - Mosher’s Law of Software Engineering


Top
 Profile  
 
PostPosted: Thu Jul 07, 2011 10:05 pm 
Offline
Forum Newbie
User avatar

Joined: Thu Sep 02, 2010 12:36 am
Posts: 13
Looking the drupal, not joomla, wordpress, they are different in design of project structure and refactoring. The drupal is the better than others, maybe you learning and get a good idea from this web system , you know, actually, it is a CMF, not just CMS, what dose it mean CMF, that is CMS and FW. You can read the official documentation that tells how to develop a drupal and how to refactor a function in some situation frequently, in other word, it teaches you how to design, why you need to choose the drupal in the guide documentation it says.

But, all we know, the drupal is slow because it is very fixable and strongly in every function of application. You maybe just need some function as the portion of drupal, not all of them,

You can follow its workflow of system and design your CMS what you need the function in.
Such as you said, how to categorising by tag of post, designing a database scheme, invoking a template of view, searching contents in a CMS, etc
Perhaps you learn its principle, then design a weighlight excellent CMS of your.

Good luck to you.


Top
 Profile  
 
PostPosted: Fri Jul 08, 2011 7:49 am 
Offline
DevNet Evangelist

Joined: Tue Dec 21, 2004 6:00 pm
Posts: 6259
Location: Winnipeg
Great advice given above, although I wouldn't say Drupal is better than Joomla, that is subjective to a developers experience, requirements and the end-users involved in managing a site. Drupal is not work the lazy or non-tech savvy. WordPress is a far better choice if user simplicity is a must. Joomla has the most accurate MVC interpretation of the three (Joomla, WordPress, Drupal). Each are extensible, but Joomla uses a mini-application/componentized approach, whereas Drupal and WordPress implement most plugins as a series of hooks - resulting is more reusability of existing modules.

Study each of the three architectures, file structures, API - you will learn more from them than any of us.

CMF different from a CMS only in that a CMF provide a clear API and/or architecture to extend the base system. Each of the three provide this, so again, start studying the API.

There are so many ways you can implement a CMS, right from a simple page editing type system to a complex composite layout such as Drupal allows using blocks. The former is easier to understand, implement and use as a end-user, but you quickly hit road blocks and have to revert to" hacks" to circumvent this simpler architecture.

Cheers,
Alex


Top
 Profile  
 
PostPosted: Thu Jul 14, 2011 4:57 am 
Offline
DevNet Master
User avatar

Joined: Mon Sep 19, 2005 6:24 am
Posts: 3587
Location: London
social_experiment wrote:
A good jump off point is to put down (either on paper or digital format) everything the CMS is supposed to do.
Even better if you can do that in the form of executable specs/tests :)


Top
 Profile  
 
PostPosted: Thu Jul 14, 2011 7:59 am 
Offline
DevNet Master
User avatar

Joined: Sun Feb 15, 2009 12:08 pm
Posts: 2775
Location: .za
Jenk wrote:
in the form of executable specs/tests

Like unit testing?

_________________
“Don’t worry if it doesn’t work right. If everything did, you’d be out of a job.” - Mosher’s Law of Software Engineering


Top
 Profile  
 
PostPosted: Thu Jul 14, 2011 8:54 am 
Offline
DevNet Master
User avatar

Joined: Mon Sep 19, 2005 6:24 am
Posts: 3587
Location: London
That's one example, but probably too low level to consider at the specifying stage. :)

They could be acceptance tests. :)


Top
 Profile  
 
PostPosted: Sun Jul 17, 2011 7:39 am 
Offline
Forum Newbie

Joined: Sat Jul 16, 2011 12:13 am
Posts: 10
Hi if you write any of skeleton share it here so that we can discuses further


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC - 5 hours


Who is online

Users browsing this forum: Google [Bot] and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group