Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 274 Vote(s) - 3.55 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Should I write my own CMS?

#1
I am planning to begin working on my first personal project this June: a community about students. What I want to have is a wiki, full with information about universities, a forum where people can discuss and a blog with news, articles, etc, all three of them integrated to eachother.

Now, the way to go seems like wordpress+mediawiki+some forum software but I have been having these thoughts about giving it a try and writing my own CMS. I have some RoR and PHP knowledge but certainly not to the point where I can write my own CMS, especially entirely from scratch.

How much time do you think it would take me to achieve it? I think/estimate I can spend 3 to 5 hours daily working on it and I want the whole site up and running by the end of August (which gives me about 300 hours of work, as I am also planning to spend some time just...doing nothing! :P).

The question is, is it worth it? Is it going to help me improve my programming skills?
Reply

#2
Its possible in that time frame depending on how good you are with ruby on rails and php.

However, I would just use what's out there. Is it really worth all that time to make your own?
Reply

#3
Judging from your goals it seems like it'd be easily accomplished in Drupal with minimal work.

[To see links please register here]


Forums and user blogs are built in and I'm pretty sure I saw a wiki module somewhere.

However, if you're going for a learning experience - doing it yourself will be quite the learning experience. Whether you actually accomplish it or not you will understand RoR and/or PHP better by the time you're done.
Reply

#4
I would say consider why you are doing it, if it's to further your knowledge of programming and learn something new then go for it and build it your self, otherwise I would just use available tools to put it together.

As for time frame? I am crap at estimation for my own skills, so have no chance of estimating yours :)
Reply

#5
If you want to go at it for the learning experience then I think you should. Phil Haack wrote a good blog post called [Rolling Your Own Blog Engine][1] with a good list of issues you'll run in to.

It's not as easy as many try to make it sound. The truth is that you *can* write a very minimal blog engine in a few hours (some will say minutes, but following along with [the Rails video][2] doesn't really count as your own development time), but it wouldn't be much use to anyone but yourself. Other users are going to demand more features.

Just make sure you leave yourself enough time to bail out and go with Plan B (wordpress+mediawiki+some forum software) if you need to.


[1]:

[To see links please register here]

[2]:

[To see links please register here]

Reply

#6
I'm in a somewhat similar situation, albeit at a smaller scale. I need a blog software in ,net, but the existing ones aren't really that good, so I've started my own. Here are my thoughts:

1. Don't try to make 1:1 copies of something. Rolling your own gives you the chance to implement only what you need and leave out everything else.
2. Start small. Wordpress and Mediawiki have years of coding behind them. Trying to duplicate that on your own is not going to work.
3. Blogs and Forums are incredibly simple at first, but get incredibly complicated once you deal with stuff like WYSIWYG Editors, Anti-Spam techniques, Browser compatibility issues and the like.
4. This is a great way to get serious experience with your language and "Enterprise" technologies, but if you're inexperienced and on a deadline, you're should really look at extending something already on the market first.

If you are willing to cut some corners at the beginning, I think that building a CMS in 300 hours is certainly feasible. But then don't start thinking about stuff like a Plugin Architecture, great User Experience for the Admin and Documentation - these points are really important if you want to release your CMS to other people, but not that much for internal use.
Reply

#7
What you shall do is up to your own discretion, but what you *should* do is implement something like Drupal.

Drupal is a CMS which is intended to be used for community sites. It's not the easiest system to understand and use, but it's very customizable.

Here's some references that you could use to get started learning about Drupal:

[To see links please register here]

[To see links please register here]


Whenever you have to choose between writing something for yourself and using existing software there are four key pieces of information you need to account for.

1. How Complex will it be?
2. How closely does an existing system match my needs?
3. What would it cost to implement an existing system Vs write your own
4. How soon do I need it?

If it's not very complex, nothing else really matches your needs well, it would be cheap to create (in time and money) and you don't need it immediately then go ahead and do your own thing.

Otherwise, jump on board one of the existing open source CMS's and start contributing there. Not only will you get great feedback from experienced programmers, but you'll be part of some really awesome software.
Reply

#8
I think you'll find similar answers to

[To see links please register here]


As I said there, it really depends on your ultimate goal.

While I agree with what many have said already - why reinvent the wheel? - an answer that is going to be useful to you is going to depend on what you are trying to do.

**Point #1:**<br/>
If [you|your company] just need a CMS, there are numerous tools out there, free and otherwise, high quality and otherwise, why program your own?


**Point #2:**<br/>
If you are looking for a learning experience, looking for some something to learn [ChoiceLanguage] with, and/or [just looking to learn more about wheels][1], there are a number of articles and there are a number of open source projects you can peek at the code to see how they work (or not as the case may be).

I've found that sometimes starting with an open source project helps me at least get a large chunk of code out of the way. I have taken a Classic ASP forum package and morphed it into a CMS - but it took a year or so and I was getting paid to do it. YMMV

**In the end:**<br/>
If the latter is your ultimate goal, then by all means, read the articles, do the research, and code away.

If its the former, you might want to look at something thats already been done - [unless its going to be your businesses core competency][2].

Ultimately, the answer you get is going to depend on the question you ask. Being clear from the get-go will go a long way. ;)


[1]:

[To see links please register here]

[2]:

[To see links please register here]

Reply

#9
The how much time factor is impossible to answer, as we frankly, do not know how good you are or what resources you have. I will say though, every example you cited probably has atleast a thousand man hours behind it, and that is being very very conservative.


As to if you should develop your own? Well, that really depends what you want to accomplish. Want to be efficient in your usage of time? By all means, NO! Use a pre-existing solution. Want a case study to learn better programming? Thats a completely different scenario.
Reply

#10
To create something of the same quality as wordpress+mediawiki+some forum software would take many thousands of hours.

But if you're just building it for yourself to use, there are a lot of "good enoughs" you'll come across that'll save you time. So I would say... under 1,000 hours. That sounds kind of vague doesn't it? I've been programming 14 years and I'm still horrible at estimating time for projects, lol. Of course the definition of the project is pretty vague too.

To answer the question if it's worth it is really a question for yourself. If it's something you're excited about doing then it could be a great learning opportunity. About 7 years ago (before the days of Google Analytics) I wrote a fairly powerful web traffic tracking & statistics engine. It was a great learning experience for me and I don't regret doing it. Of course on the other hand, just like myself, you will be pouring a whole lot of work into something you'll have little chance of making any money from.
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through