|
|||||||
New to SitePoint Forums? Register here for free!
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
SitePoint Enthusiast
![]() Join Date: Sep 2004
Location: San Diego
Posts: 30
|
How many CMS's do there need to be?
I would guess that something like 1/5 of the developers here have written their own CMS. This seems to me like a large waste of resources. Why do you think that there are hundreds of commercial PHP CMS's, and prolly thousands of personal projects? Are the problems CMS's solve that diverse? I doubt it. What's your opinion?
While we're at it... Do you think that someone will come up with a universal CMS that will eclipse the current ones? |
|
|
|
|
|
#2 | |
|
SitePoint Enthusiast
![]() Join Date: Aug 2004
Location: georgetown, tx
Posts: 97
|
Quote:
|
|
|
|
|
|
|
#3 |
|
☆★☆★
![]() Join Date: Jan 2002
Location: in transition
Posts: 21,481
|
Every CMS has a slightly different goal or approach in mind. Most CMSes I build would have little relevance to anyone but the clients I build them for. In some cases, it may be applicable to other clients in the same industry, but that's about it. Also, what I find to be important may not be what you find to be important about content management, so it can come down to a matter of style. Finally, you'll always have some people who'd rather write their own software than use something off the shelf for whatever reason, so the proliferation of the homegrown CMS will continue on.
|
|
|
|
|
|
#4 |
|
SitePoint Enthusiast
![]() Join Date: Sep 2004
Location: chile
Posts: 44
|
I think that the real issue here is that PHP developers tend to build applications rather than libraries.
An application tends to solve too many problems, and the resulting product will only suit you if you have exactly the same problems. This is what happens with most CMSs out there. And this is why we have to reinvent the wheel over and over. Take ezPublish for example... they have put effort in building their own db abstraction layer, xml parsing classes, cache, roles, etc, etc even templates!. Not only did they repeat work that has been done 1 trillion times, but the result is a take it or leave it package, it either suits you or it doesn't (it can be extended, but basically you cannot tear it into pieces and rearrange it as you please). (Anyway, I do congratulate them for developing a standalone library and documenting it.) I believe that a universal CMS is not what we must look for (I agree with vgarcia, we all have different needs), but rather a universal set of libraries and specifications that would allow us to build customized applications. I hope that PHP5's SPL, PEAR or any centralized effort will lead to this in a near future. But it's not all dark... I do believe that there is a standard solution that might suit 90% or more of the content websites (not applications). I personally use a CMS I developed and I havenīt needed anything else for a long time. By the way, I'm starting to build a list of specifications to create a new CMS (another one? nooo! jaja). This time the idea is actually to reuse open source projects at all cost, no duplicate efforts. I already started a thread on data structure for the sake of fun, if you'd like to participate. Does anyone know of a similar project? Please tell me, I'd rather use my time helping in something big (maybe a cms implementation over mojavi or binarycloud, etc) cheers, |
|
|
|
|
|
#5 |
|
SitePoint Wizard
![]() ![]() Join Date: Jun 2003
Location: Andromeda Galaxy
Posts: 4,610
|
Yeah, I agree. I build my own, though I do look around for quality free CMSes like Mambo, WordPress, etc. so that I can see what features they have & how do they do it but I build my own for the websites that I make, more for the reason that Vinnie explained. Each of my CMS is also relevant to that particular website, though I do have ready to use components for CMSes which are more or less same in every CMS I use but they are just 1-2 components. The rest is made so as to seamlessly fit into the website & the works.
Also, I like working on my own CMSes as I learn new things each time I make a CMS & then I find it easier to hack my own code than Mambo or any other. ![]() |
|
|
|
|
|
#6 |
|
SitePoint Wizard
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Aug 2004
Location: California
Posts: 1,672
|
Some in the CMS community has been trying this for a while but there is too much noise between the different language communities.
Then you have ideas like, "it can come down to a matter of style." That is true in a sense, but certainly each CMS does not have 100% different style. If you did a survey of the different CMSs (or template systems or database abstraction layers) you would find that a least half of the code (or more) is common and the rest would fall into 2-4 different styles that could share code as well. There are lots of everything in PHP because we are part of the Bazaar. It looks messy and wasteful as you wander past the stalls, but taken as a whole it ends up being an efficient way for an entire community to progress. If you want a Cathedral approach then .NET is for you. Things don't have to be as bad as they are in PHP. We are lacking in leadership in this area. That is not to say we don't have good leaders. PHP had lots of smart people who have wisely chosen to let Bazaar operate naturally. The problem is that when the Bazaar has evolved a solution, it's up to those leaders to formalize that solution to benefit the community. But groups like PEAR and things like PDO tend to promote yet-another-solution rather than solidifying the consensus. |
|
|
|
|
|
#7 |
|
SitePoint Enthusiast
![]() Join Date: Sep 2004
Location: chile
Posts: 44
|
YUP,
I cannot agree more with arborint. |
|
|
|
|
|
#8 |
|
SitePoint Enthusiast
![]() Join Date: Sep 2004
Location: chile
Posts: 44
|
A note aside for those reluctant to use other people's code.
At first I thought that the best reason for using 3rd party libraries, standards and projects was saving development time. I was wrong! I realized that I developed much faster when using my own code, tips and tricks. The thing is that learning to do something in other way rather than yours will cost you more time at first (sometimes the learning curve can be quite steep actually). Speed will only come with practice... However, the rewards are huge: - robustness - using bug-free components - existing documentation - adhering to specifications when things get "not so clear" - ease for other people to hack my applications And anyone who has built a large project knows that these four points are well worth the time penalty. And in most cases, time will be recovered when it comes to debugging and deploying last minute changes. Jaja excuse me for posting so much on this, it's just that I've really been through hell with custom made CMSs and spaghetti coded applications in PHP. |
|
|
|
|
|
#9 |
|
SitePoint Wizard
![]() ![]() Join Date: Jun 2003
Location: Andromeda Galaxy
Posts: 4,610
|
well, I'm not against using 3rd party code, which has not been developed by me, but its like this, I like to do some things my own way. So in all, I both code myself as well as use 3rd party applications.
![]() |
|
|
|
|
|
#10 |
|
SitePoint Wizard
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Aug 2004
Location: California
Posts: 1,672
|
On the subject of any kind of standardization there is always the "I like to do some things my own way" factor. I have always suspected there much fewer ways than it appears. So here is my challenge to this thread:
How many distinct "styles" of CMS are there really? By "style" I assume it means a distinct database layout and code architecture. But I am open to other definitions. |
|
|
|
|
|
#11 | |
|
SitePoint Enthusiast
![]() Join Date: Sep 2004
Location: San Diego
Posts: 30
|
Quote:
2. Framework-oriented (i.e ezPublish) 3. Portal-oriented (Nuke) 4. Database-oriented (glorified DB editors) That's what I came up with. |
|
|
|
|
|
|
#12 | |
|
SitePoint Enthusiast
![]() Join Date: Sep 2004
Location: San Diego
Posts: 30
|
Quote:
* Smarty * SmartyValidate * ADODB * Sarissa * KTML-lite * phpMyAdmin That makes the entire package weigh in at about 10 Megs. It's a bit heavy, but far from unmanagable. The front-end is Smarty templates, with features for easy relational data access with paging, site-search, friendly URLs, and form validation/handling features. The database variables Smarty uses are initialized automagically (kinda complicated to explain), so PHP is really only used for form-handling. The back-end is an extensible (custom field controls and "actions"), skinnable (Smarty), object-oriented database editor (SELECTS, INSERTS, UPDATES, and DELETES). I leave the database design to phpMyAdmin. I do some small customization of the backend on a per-client basis, but it's really flexible and basically needs 10 minutes of config. Advanced functionality (file uploads, WYSIWYG) is provided in the custom field controls. I've been looking to sourceforge it eventually, and if you, or anyone else wants to help, that'd be cool. It's not "big," but I think it has potential. |
|
|
|
|
|
|
#13 |
|
SitePoint Zealot
![]() ![]() Join Date: Mar 2004
Location: Milano
Posts: 127
|
MadMaX: I'd like to see your project in action (... and source too of course).
|
|
|
|
|
|
#14 | |
|
SitePoint Wizard
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Aug 2004
Location: California
Posts: 1,672
|
Quote:
Are the differences in the frontend whether the are block oriented or template oriented? Is it access controls? Are the differences in the backends on the how smart articles are about themselves? the types of relations? what the smallest or common content unit is? |
|
|
|
|
|
|
#15 |
|
SitePoint Member
Join Date: Jul 2001
Posts: 13
|
From what was listed, I think this can be a fair description.
Page oriented editors are sort of editors like frontpage, where static pages can be easily created and uploaded. A Framework oriented model can be adopted when you want to use the libraries of a CMS(role management, multilanguage, access rules ... ) and build a specialised site over it. This works out great if you want to build a CMS from bottom up, but don't have the time or money to write all the libraries. (another example of a framework - seagull) A portal oriented CMS like Nuke can be used off shelf. Usually has many free and commercial third party modules which can be installed on the base CMS. You can even write your own module. This model does not lend itself to very high degree of customization. They are built rather for quick use. Database oriented CMS - Basically these types of CMSs may not have a lot of libraries to support your sophisticated configurations. If you want a site where all the static pages need to be editable by a simple editor online, then it comes in this category. No rule management or access controls. Each type has its own purpose. What happens is most times, developers can't get the CMS they want and then end up developing from ground up. If any developer reaches this situation, I would suggest using a framework and then build what you want. |
|
|
|
|
|
#16 |
|
SitePoint Addict
![]() ![]() ![]() Join Date: Jul 2004
Location: Central Coast, CA
Posts: 365
|
Simply time saving. I save time when I code my own CMS. I know how it works from the inside out, and it would inefficient for me to use someone else's CMS. Most CMS's are used for updating one or two pages throughout a site. Very few people use a CMS to truely keep an entire site dynamic and managed by multiple people.
Plus, most CMS's suck. Yes, they suck HARD. I recently had a run-in with mambo and honestly I can't belive it's been given any praise at all. Customizing it took me longer than it would have for me to code my own. We have this issue in the PHP community where programmers create applications for programmers... NOT web producers who end up using it. They create a CMS that can even make my coffee in the morning - but lack to ask the question of whether or not it can be easily implemented into a site of variing layout/content. |
|
|
|
|
|
#17 |
|
SitePoint Member
Join Date: Jul 2001
Posts: 13
|
Use the right CMS for your application. If you want to simply edit a few pages, write your own code or use a glorified DB editor. Using a sophisticated framework like mambo or seagull and trying to modify it won't work.
On the other hand, If you want to have role management, access control, multi-language support, template support, external module support and so on in your CMS, then writing your own code from ground up can be very expensive and unnecessary. It is cheaper to use an existing CMS framework like mambo or seagull. |
|
|
|
|
|
#18 |
|
SitePoint Addict
![]() ![]() ![]() Join Date: Jul 2004
Location: Melbourne, VIC, Australia
Posts: 228
|
I think what was said about the standard libraries is a BRILLIANT idea, like most languages PHP is fairly robust when it comes to web applications and so having some kind of standard library is always a bonus because it means less time re-inventing the wheel and more time debugging etc.
i will agree that most CMS's are purely made because current CMS's don't offer a feature and sometimes even just the 'bloat' factor of the current CMS's around you look at some CMS's such as PHPnuke (probably a bad example and they are just chock a block full of useless crap that a business would not require or use at all.Also security issues if you take an open source CMS, again ill use PHPNuke and you integrate that on your site then you gotta constantly have to update it as new exploits are being found for out of the box products everyday and if you create something yourself with security in mind you will usually keep the script kiddies away provided you know what your doing and there won't already be 32 pages of exploits written to delete all users in your database ![]() So yes id agree to make a kind of standard library BUT dont make one CMS that will do everything because at the end of the day something that suits your small business is going to be either too much or too little for another project and will jsut be wasting space and memory. |
|
|
|
|
|
#19 | |
|
SitePoint Addict
![]() ![]() ![]() Join Date: Apr 2004
Location: Melbourne
Posts: 362
|
Quote:
|
|
|
|
|
|
|
#20 |
|
SitePoint Member
Join Date: Sep 2004
Location: Port Townsend, WA, USA
Posts: 1
|
some missing points
My number one question is whether the system is for my use or a client. I wrote my own CMS and used it for a while. Actually, I still use it for a couple of pages (it's a great ego stroker) but there are some difficulties with that approach. The point is that it is okay for me but not something I will put on client's sites.
While it is possible to customize your own code, there is a big time element involved in developing, what is basically an alpha application, then putting it in a production environment. What have you forgotten? What bugs are going to show up on a client's site? What security issues will you have to deal with? How much documentation will you have to write for the client? How portable is the site if the client needs to include other developers or designers? Those are all big concerns to me, especially the security and documentation ones. A CMS with an active developer or community will have taken care of these issues. And it's a huge plus to have a well written and thorough manual to offer with a CMS website. I print out a hard copy of the admin instructions when I train the client on a CMS. It builds confidence and goodwill, and is more than worth the effort of manhandling a CMS to meet their needs. |
|
|
|
|
|
#21 |
|
SitePoint Enthusiast
![]() Join Date: Aug 2004
Location: Catalunya
Posts: 51
|
I think this happens the same way as any other software, for example OSes . People that don't like a "default" one create their own to fill their needs. With CMS the same. And I like originality, I hate for example nuke sites. They are all same.
|
|
|
|
|
|
#22 | |
|
Afraid I can't do that Dave
![]() ![]() ![]() ![]() ![]() Join Date: Mar 2004
Location: East Anglia, England.
Posts: 634
|
Quote:
Sure, if I was seriously pushed for time, or designing a site for mission critical use, I would invest in a pre-made CMS. As for now, I find it fun tinkering away with a little CMS project I have in development, and don't really see it as a chore. Re-inventing is one of the best ways to learn how something works, so maybe that's why a lot of people choose to do so. |
|
|
|
|
|
|
#23 |
|
Non-Member
![]() ![]() ![]() ![]() ![]() Join Date: Sep 2004
Location: Florida
Posts: 644
|
Mostly I believe it's a flexiblity issue. Most sites have existing php, admin, systems etc and want to integrate with that rather than add a full blown app. As far a portibility, classes are alot more usefull. Before I do anything that I imagine has already been done a kazillion times, I usually check on phpclasses.org. Its kind of like the php version of CPAN.
|
|
|
|
|
|
#24 |
|
I <3 Internet
![]() ![]() ![]() Join Date: Dec 2003
Location: Maine
Posts: 354
|
I think it's great that there are so many CMS'. There are just too many ways to do what us developers need to do for one CMS to fit the bill. Not only is PHP going through fits of change, but the entire world of web standards is and will continue to do so.
The reason I have created my own CMS is threefold: 1. I learned 75% of what I know about PHP coding my own architecture. It was/is fun and challenging. 2. I use zero 3rd party code, so it's all mine. Not to say I won't consider opening it up down the road, but right now it's actually becoming a big part of our business model. 3. It's what I want it to be. It is both an architecture and a portal, depending on how and what you wish to implement. Even if there was a 'perfect' CMS, I believe that we would continue to see them crop up everywhere. I love the 'Bazaar' model, there wouldn't be nearly as many experienced coders out there if all of these folks didn't invest the time into learning how to do something from scratch, and hence far fewer resources for the rest of us to indulge in. This isn't to say I wouldn't like to see some more standardization as an option, but I think that the technology surrounding 'templating', as well as what different people actually view templating as, holds us back amongst other factors. Anyway this post probably makes little sense, as I'm sleep deprived and trying to sum up years of contemplation in the few minutes I have right now. |
|
|
|
|
|
#25 |
|
SitePoint Enthusiast
![]() Join Date: Sep 2004
Location: chile
Posts: 44
|
MaDMaX, ponticelli
Yes I am willing to participate in an open source CMS project, but for now I'm too busy to commit into anything too serious. However, I do believe that a lot can be learned by posting in these forums, maybe we could organize things a little. Perhaps create a research plan. If we really want to define a consensus and reuse existing projects, there is a need to locate valuable experiences and ideas, and that will take some time. Check this out ( http://www.cmsreview.com/ ). You'll be amazed with the number of CMSs out there... there is a lot of reading to do. My idea is not to create yet another do-it-all CMS. I think of using a different approach, by defining different tiers within a CMS system, creating different solutions for each tier behind a unified API, and letting people configure their solution from this. The two of you seem quite interested in CMSs (and for what I can see from madmax's post, you also have experience on the subject). So I'll ask you in turn: Would you be interested in teaming up to organize some sort of research? I'm leaving for the weekend, see ya next week. Last edited by aldob; Sep 16, 2004 at 14:57. |
|
|
|
![]() |
| Bookmarks |
«
Previous Thread
|
Next Thread
»
| Thread Tools | |
| Display Modes | |
|
|
|
All times are GMT -7. The time now is 07:32.









and they are just chock a block full of useless crap that a business would not require or use at all.



Linear Mode
