LebGeeks

A community for technology geeks in Lebanon.

You are not logged in.

#1 December 17 2009

Ayman
Member

Your Own CMS V.S. An Already Made One

Hello everyone, I was considering recently of developing my own CMS, one for basic websites and another e-commerce websites so that in case someone wants a data driven site with a CMS I would use it instead of relying on drupal or OS commerce. Do you think  it is worth putting time and effort into? Or should I use a ready made one when needed. What I thought of is that I wanted to give more originality for my works, better control over what I am doing, and I guess a custom maid CMS tailored to fit a client's needs would be better than trying to edit tons of code that I have not writen, just to make the CMS fit for the desired needs although it could work anyways. Do you think that would be a good step for me to do? Have you ever developed your own CMSs? please share your ideas and experience :)

Offline

#2 December 17 2009

rolf
Member

Re: Your Own CMS V.S. An Already Made One

It is close to reinventing the wheel, because if you create your own CMS and you keep developing it, then you will most probably end up with something close to Drupal. Unless... you start with a very original approach and keep it this way (for example, use the filesystem as a database), basically do things different...
I think CMS are well suited for clients who have no precise idea of what they want, you will be able to keep the coding at a minimum by using the available modules.
There are other options too, btw, like frameworks (Symfony, CakePHP) and libraries.

Offline

#3 December 17 2009

Ayman
Member

Re: Your Own CMS V.S. An Already Made One

It is close to reinventing the wheel, because if you create your own CMS and you keep developing it, then you will most probably end up with something close to Drupal. Unless... you start with a very original approach and keep it this way (for example, use the filesystem as a database), basically do things different...
I think CMS are well suited for clients who have no precise idea of what they want, you will be able to keep the coding at a minimum by using the available modules.
There are other options too, btw, like frameworks (Symfony, CakePHP) and libraries.

I see, actually it is reinventing the wheel, actually I heard lots of good comments about cake php and the zend framework too, I am thinking of trying zend and see how well it can enhance the productivity. As for using file system instead of database, it could be good in case of dealing with small websites, but with larger websites the database is a must IMO

Offline

#4 December 17 2009

rolf
Member

Re: Your Own CMS V.S. An Already Made One

It might be good though to create your own framework, adapted to your way of thinking, and easily memorizable by you. Framework give you more freedom but are hard to assimilate when they are the product of someone else's thinking (for me, at least).

CMSes, on the other hand, are designed to be easy to maintain and extend, but less flexible.

BTW, the file system in itself is a database.

Last edited by rolf (December 17 2009)

Offline

#5 December 17 2009

Joe
Member

Re: Your Own CMS V.S. An Already Made One

Developing your own CMS could be interesting, but you should hav a valid reason to do it.

If you're looking to create the next Drupal or Joomla, you are wasting your time. You're better off learning how to use them, and modifying parts of their source code to fit your needs. You'll save a lot of time by doing so and become much more productive in no time.

However, if you have a revolutionnary idea on how CMS should be, maybe it would be nice to start yours from scratch. It'd be a project that has the same function then current CMS, but would be fundamentally different in their inner working.

Another good reason to coding your own is to learn and practise PHP (or any other technology). Some great projects started as a hobby exercise (Linux for example), and some exercise projects never got famous, but still, it's a great way to learn.

In any case, bare in mind that productivity-wise, you're better off using an existing tool (many of which are entirely open-source), but shoudl you start your own, keep us posted with your progress.

Good luck!

Offline

#6 December 17 2009

arithma
Member

Re: Your Own CMS V.S. An Already Made One

It is not advisable in no given CMS to modify its source code.
Drupal, Joomla, MODx.. These are web CMSes.
Zend, Symphony, CakePHP, those are web frameworks...
PEAR is a class library (also worth taking a look at)..
All of these are different things, and work at the different levels.
If working with any CMS is clunky for you (I know it is for me), look into learning one of the web frameworks and starting from there.
You donot want to reinvent everything.. And relying on personal genius to come up with a consistent work for future reuse is a waste of time when the thing has already been done and tested for you for free. (I know I've went into that pitfall).

OK now on to the exciting part: I have been at the run for a good CMS to back my future flash websites. That needs an XML powered CMS as output, and various other requirements.
Perhaps if you list what you're after, we can start something off together.. Hell, I'll throw in hosting for the SVN repository if you don't want it to be absolutely open-source (which I believe should be decision taken late near the completion of the project when it acquires its value [or at least till the vision is clear]).

Offline

#7 December 17 2009

Ayman
Member

Re: Your Own CMS V.S. An Already Made One

Thank you very much guys for your input and ideas. For now I will be making a very simple CMS just for my personal website as a little practice and because I need a light CMS just for editing text, changing images and maybe colors. I will be using the Zend or php cake frameworks to be more productive from now on, but I will have to try them out first. I am about to finish the new design for the website, instead of the one that I have showed you in the last post.

@arithma, this sounds to be a great idea which I would like to work with you on, all I want is credit for my work because for now all what I am looking after is experience. Basically it would be done in such a way that the php page responsible for the control would update the xml files with data and then through connecting the xml to the flash object the data will be displayed. Let's say it would support editing text, images, sounds, will it also support changing the whole site flash template like joomla or drupal too ?

Offline

#8 December 17 2009

BashLogic
Member

Re: Your Own CMS V.S. An Already Made One

AymanFarhat wrote:

Hello everyone, I was considering recently of developing my own CMS, one for basic websites and another e-commerce websites so that in case someone wants a data driven site with a CMS I would use it instead of relying on drupal or OS commerce. Do you think  it is worth putting time and effort into? Or should I use a ready made one when needed. What I thought of is that I wanted to give more originality for my works, better control over what I am doing, and I guess a custom maid CMS tailored to fit a client's needs would be better than trying to edit tons of code that I have not writen, just to make the CMS fit for the desired needs although it could work anyways. Do you think that would be a good step for me to do? Have you ever developed your own CMSs? please share your ideas and experience :)

well where to start with, first of all arithma and rahmu presented the main pointers. reinventing the wheel is not the rigt path becuase: you are investing time and resource in a thing that by itself is not generating your income. you are reinventing the wheel. the aproach is a monolithic way of thinking. what i mean by that is you are better of play with lego instead of crafting a single solid toy which can serve only one function. just as was mentioned, you have php pear, cake, zend etc. those are your lego pieces. use them to construct what you need. the benefit of such is because you will not have the need to rethink every moving piece in your framework. and the better part is, if its broken, you do not need to do all the fixing, just make sure that you periodically upgrade. the good side to playing with lego is that you become more aware of what it takes to integrate different components, what needs to be noted and what it would yeld. for example, a simple average cms such as joomla would work greatly even at average load usage, it uses the db as a backend and use the cms templates for other functions and modifications. where it lacks is for example using cake, cake splits into smaller parts speeding up page rendering, now that alone does not suffice, you need cache management and optimize its usage. bring in zend and it would do lots of that keeping a precompiled dump and would maximize your page usage speed. different existing components have come to existance because there has been a clearly defined requirement. using all of those requires technology and integration comprehention. for example. i used to have a site that was coded with asp, during peak hours, it would bring down the server because the load was to much to continously render. in comes version 2 where the coder changed the implementation where instead of dynamically rendering each new page of every click of the mouse, it would render 80percent of the page a static and only rerender about 20percent of the page modules. that really dropped server load and site response by about 70percent! hence i no longer required to cluster the web servers nor invest in new hardware. from the academical perspective, my advice has always been to perform reverse engineering on existing stuff to learn and then try to code in order to learn. but after that phase just use existing stuff because if you are going to fine tune every single screw, you will have no time to concentrate on the actual usage of your custom made tool. if you end up having to hack lots of code in joomla or drupal, you are doing something wrong!

Offline

#9 December 17 2009

mir
Member

Re: Your Own CMS V.S. An Already Made One

somehow i agree with the guys , but the key difference for me is business.

You can't sell wordpress, drupal or joomla to your clients for a lot of money, they are available for free
Somehow , you can sell them a service, by installing this for them , finding a template and applying it.
as a service you can charge like 1000 usd and it will be too much, for a full blown e-commerce cms 1000 is the most most most cheap solution - hope u see the point

but if you have your own cms , you can sell it to ppl and if they want to modify the backend and some aspect of the site, you are more productive there , cuz it is ur own code

another thing, with already made CMS , there are tons of other ppl that know that code,  while with your own cms , it is only you , so you won't have competitors when it comes to maintenance ( aka where the money is )

I am giving you the non-geek , non-tech perspective, my point of view is ugly , but this is the "sales world"

Last edited by mir (December 17 2009)

Offline

#10 December 17 2009

Joe
Member

Re: Your Own CMS V.S. An Already Made One

mir wrote:

somehow i agree with the guys , but the key difference for me is business.

You can't sell wordpress, drupal or joomla to your clients for a lot of money, they are available for free
Somehow , you can sell them a service, by installing this for them , finding a template and applying it.
as a service you can charge like 1000 usd and it will be too much, for a full blown e-commerce cms 1000 is the most most most cheap solution - hope u see the point

but if you have your own cms , you can sell it to ppl and if they want to modify the backend and some aspect of the site, you are more productive there , cuz it is ur own code

another thing, with already made CMS , there are tons of other ppl that know that code,  while with your own cms , it is only you , so you won't have competitors when it comes to maintenance ( aka where the money is )

I am giving you the non-geek , non-tech perspective, my point of view is ugly , but this is the "sales world"

Then here's a question for you mir: Why me as a business should buy a proprietary solution (very expensive), that would make me dependent of its unique writer, when there are many freely available open source solutions, thoroughly tested and stable, maintainable by virtually anyone?

Open source business is meant to be cheaper, smarter and faster than traditional one. Can you imagine having to compete with all the other developer using Drupal? Unless the newly developed proprietary CMS would provide a great boost in productivity compared to Drupal, it will have a great handicap business-wise.

I still maintain that developing your own could be a nice exercise, a project to practice your coding skill. And I'd recommend, if you ever do, to publish the source code to get better exposure. But, as arithma said, this decision should be made once the product acquires some stability and maturity.

Offline

#11 December 17 2009

Ayman
Member

Re: Your Own CMS V.S. An Already Made One

I see... Thank you very much Bashlogic for your explanation, very informative indeed I will be checking the different Php frameworks, as until now I am still using the Php editor inside Netbeans 6.5 which seems not as efficient a full fledged framework. :)

@mir, I agree with you from the business perspective, the business world is quite hard, competition has no mercy and you will have to fight and make use of any opportunity to survive, in this case an open source and free CMS for your clients is quite an opportunity and time saver. But following this way in my opinion, you would just feel a bit bored and non-geeky in the sense that you are just setting up websites with 90% of the "fun" part already made by others. I hate business and everything related to it and I hate to work in a business oriented environment, but that's how the world is.

Since creating your own CMS would be reinventing the wheel, one thing to do I guess is to develop extensions and components for joomla and drupal, I guess this is the trend nowadays, everybody is building on top of other stuff, looks like few seem to be building from scratch.

Offline

#12 December 17 2009

BashLogic
Member

Re: Your Own CMS V.S. An Already Made One

mir wrote:

somehow i agree with the guys , but the key difference for me is business.

You can't sell wordpress, drupal or joomla to your clients for a lot of money, they are available for free
Somehow , you can sell them a service, by installing this for them , finding a template and applying it.
as a service you can charge like 1000 usd and it will be too much, for a full blown e-commerce cms 1000 is the most most most cheap solution - hope u see the point

but if you have your own cms , you can sell it to ppl and if they want to modify the backend and some aspect of the site, you are more productive there , cuz it is ur own code

another thing, with already made CMS , there are tons of other ppl that know that code,  while with your own cms , it is only you , so you won't have competitors when it comes to maintenance ( aka where the money is )

I am giving you the non-geek , non-tech perspective, my point of view is ugly , but this is the "sales world"

mir, as in every once in a while, we rattle on certain subjects. :) the way of working on tailored products and baracking yourself behind it transforms your product to an enclosed product and not an open one. this has always been the ill way of working in lebanon. you build your client network and entrap their needs and dependency to work only with you. well that backfires as well, for one thing, you are working with only certain technologies and serving only certain realms. narrowing down is good but harmfull as well since you would not be dynamic and flexible enough to converge to the new requirements at the rate of the demmand. the more products in your repertoir, the more time goes into resolving and patching. another part wher it backfires is where the lifecycle of the product thou it is within your hands, with an enclosed monopoly, it becomes a legacy product long earlier before an equivilent open products life cycle goes thru a full cycle. for example. you create a component to perform a particular function, and go on using it and not developing it. while as if a third party open product is used, you do not have to invest time in its development and can concentrate on providing solutions instead. the point is to be technology aware and prepare and agile to converge to the requirement. the dinosour monolithic aproach  would have failed long before it started. of the few ways how a monolithic closed product can work is by refining it and having a network of distribution,hence for example microsoft office but even open products is chewing up markets fom it. we all work in different ways and use different tools. there is nothing wrong with using joomla or drupal in commercial services, actually it is done often even by major web companies! you would be surprised to know how many major companies have gone open using opensource. the only parts they have customized are the ones that are unique to their rquirement and when they need to add regulatory features. those who are doing this are emphasizing on the part where the custom made compnents are audited, tested and verified for security and reliabilty.  the method of approach has been to survey the requirement, select the open products to fill most parts of the solution, assess, define and produce the custom parts. in small sites this would for example creating the template for joomla or a module for it. when it comes to ecommerce stuff such as webstores, i would not approach by thinking of reinventing the wheel.

Offline

#13 December 17 2009

mir
Member

Re: Your Own CMS V.S. An Already Made One

I can't agree with u guys more , that is why i am into Open source. creating too many dependant clients will eventually exhaust you and make all ur portofolio look old , ugly and small 
I can add more and more to the list you already said but still , the proof of what you saying , look who is using drupal and wordpress : the white house and cnn are a few . "Already made ones" have crossed from values and ideas to real world

For the CMS V.S. An Already Made One question, the money question still comes out and it is something to think about and  i should mention for someone who plans to work as a freelancer to take into consideration

and since i like being "the devil advocate"  and because it is boring to just agree with u guys, here is another thing :
Already made CMS are limiting the way we think about websites and graphic designs, they are shaping and limiting creativity into designs that this CMS or that CMS can do
So, if you want to be a real creative person , create websites that look like nothing else, better start building something that will give you this ability !

Offline

#14 December 18 2009

arithma
Member

Re: Your Own CMS V.S. An Already Made One

I am at the moment delibrating this venture with my partner... If in case we decide to go through and involve an outsider, I'll definitely be telling you through email.

For now, if you'd want to make something similar here's the basic idea:
The backend-db: Should hold all types of data to be stored in addition to images, translations and perhaps [for flash] a [placeholder to data map] that's stored something like a tree to allow nested data.
backend-ui: Will allow the user to CRUD. This could be anything from an AIR application to PHP pages. I like the idea of AIR since we don't have to leave the parlance of actionscript; your mileage might vary.
backend-services: Specific pages that convert from a node id into an XML page - the backend doesn't continue on generating millions of XML files, instead it generates them at the spot [possibly caching them], and delivering them when needed. This is similar to how RSS works.
This of course hasn't discussed the possibility of templating and how actually the schema is actually shaped and evolved. Definately design decisions, and particularly good reasons to roll your own thing - Drupal makes it way too obscure to get your data out of the db, and the services are not that friendly either to get running.
Hope this is useful.

Last edited by arithma (December 18 2009)

Offline

#15 December 18 2009

Ayman
Member

Re: Your Own CMS V.S. An Already Made One

I can't agree with u guys more , that is why i am into Open source. creating too many dependant clients will eventually exhaust you and make all ur portofolio look old , ugly and small
I can add more and more to the list you already said but still , the proof of what you saying , look who is using drupal and wordpress : the white house and cnn are a few . "Already made ones" have crossed from values and ideas to real world

For the CMS V.S. An Already Made One question, the money question still comes out and it is something to think about and  i should mention for someone who plans to work as a freelancer to take into consideration

and since i like being "the devil advocate"  and because it is boring to just agree with u guys, here is another thing :
Already made CMS are limiting the way we think about websites and graphic designs, they are shaping and limiting creativity into designs that this CMS or that CMS can do
So, if you want to be a real creative person , create websites that look like nothing else, better start building something that will give you this ability !

I understand. In addition with all those totally free sleek and attractive designs that I can never think of making ones like them on my own plus the big selection of free CMSs especially for e-commerce websites you already start to feel less competitive when making your own, then you would just resort for tweaking  a template, setting up OS commerce and delivering it to the customer with some hosting and maintenance.

When I see those websites on the web I just feel less powerful and less competitive than others who are already using an open source CMS or a free or even a commercial template which looks great and it's price is not more than 70$ usually. Looks like few sites are resorting for custom built CMSs. Looks like I will have to go with the wave for if I stand against it it would destroy me 

So reinventing the wheel won't work in such a world, I will go by your advice, I will only create a CMS in case I have some original idea, that no other CMS can deliver. So for now I guess learning more about OS commerce and drupal would be a better investment for me.

But what about security? I believe that well known especially open source CMSs have well known security flaws known on the web and by hackers, while if you have your own CMS wouldn't be a little more secure provided that you have all the basic security features added? In this case, it would be promoting security through obscurity, what do you think?

I am at the moment delibrating this venture with my partner... If in case we decide to go through and involve an outsider, I'll definitely be telling you through email.

For now, if you'd want to make something similar here's the basic idea:
The backend-db: Should hold all types of data to be stored in addition to images, translations and perhaps [for flash] a [placeholder to data map] that's stored something like a tree to allow nested data.
backend-ui: Will allow the user to CRUD. This could be anything from an AIR application to PHP pages. I like the idea of AIR since we don't have to leave the parlance of actionscript; your mileage might vary.
backend-services: Specific pages that convert from a node id into an XML page - the backend doesn't continue on generating millions of XML files, instead it generates them at the spot [possibly caching them], and delivering them when needed. This is similar to how RSS works.
This of course hasn't discussed the possibility of templating and how actually the schema is actually shaped and evolved. Definately design decisions, and particularly good reasons to roll your own thing - Drupal makes it way too obscure to get your data out of the db, and the services are not that friendly either to get running.
Hope this is useful.

Thanks for the info, now I have a general idea, I will see if I can experiment some stuff in my free time and see what I can do. :)

Offline

#16 December 18 2009

Joe
Member

Re: Your Own CMS V.S. An Already Made One

mir wrote:

For the CMS V.S. An Already Made One question, the money question still comes out and it is something to think about and  i should mention for someone who plans to work as a freelancer to take into consideration

This is where you and I disagree. I don't defend open source because of its moral value. You can make much more money using open source than traditional approaches. Sure maybe you will make more benefit on a single contract with proprietary approach, but how many contract can you get when the competition (open source people) are faster, cheaper, stabler?

Open source has some disadvantages, but the business part of it (especially when it comes to CMS) isn't one. Red Hat has a net income of 700 Million$ + per year, and IBM made 18 billion dollar last year on their Linux business.

I'm not saying that open source is always the answer, I cannot stress on that enough. But when the technology is mature (Drupal, Joomla, Wordpress, ...) open source gives you a great edge business-wise.

Offline

#17 December 18 2009

xterm
Moderator

Re: Your Own CMS V.S. An Already Made One

rahmu wrote:

Then here's a question for you mir: Why me as a business should buy a proprietary solution (very expensive), that would make me dependent of its unique writer, when there are many freely available open source solutions, thoroughly tested and stable, maintainable by virtually anyone?

The most common reason, you can pick up the phone and bitch all you want at the author.

People constantly mistake that something being open source is by default "free" in its nature. Yes, it's free to acquire, yes it's free to use (depending on the licensing terms), yes you can submit changes, yes you can submit problems and "wait" for answers or change them yourself. There are common scenarios where an open source product's creators provide paid support services. *This* is what businesses ought to seek, either a team available to manage the open source application or framework, OR a paid support service.

Weird, i know.

Offline

#18 December 18 2009

xterm
Moderator

Re: Your Own CMS V.S. An Already Made One

Ayman,

There's more to CMSes than what you see in the administration, you have to carefully plan.

Offline

#19 December 19 2009

Joe
Member

Re: Your Own CMS V.S. An Already Made One

xterm wrote:
rahmu wrote:

Then here's a question for you mir: Why me as a business should buy a proprietary solution (very expensive), that would make me dependent of its unique writer, when there are many freely available open source solutions, thoroughly tested and stable, maintainable by virtually anyone?

The most common reason, you can pick up the phone and bitch all you want at the author.

People constantly mistake that something being open source is by default "free" in its nature. Yes, it's free to acquire, yes it's free to use (depending on the licensing terms), yes you can submit changes, yes you can submit problems and "wait" for answers or change them yourself. There are common scenarios where an open source product's creators provide paid support services. *This* is what businesses ought to seek, either a team available to manage the open source application or framework, OR a paid support service.

Weird, i know.

This answers the general question people always ask: How do you make money in Open Source?

Providing support, and responsibility!!

Clients need someone they can bitch to. Answering "Hey, don't yell at me, I didn't develop it, it's open source ..." is a bad decision. If you decide to sell your service to a client using a certain open source solution, you are to be held responsible for everything that happens.

Then again, Drupal, Wordpress and others, are stable enough to be considered reliable.

Offline

Board footer