how to start a drupal like project
I want to write my own open source web application and make it as flexible and usable as drupal. I have no experience with a project this size. How do I go about it ? What do I need to do first and how do I plan the project ? I dont know where to start. I need to know the core technical side of project planning (not the hosting, cvs, etc..) data structures file system layouts theme, modules support, etc..
Why not just use Drupal? -Anthony My Own Linux wrote:
I want to write my own open source web application and make it as flexible and usable as drupal. I have no experience with a project this size. How do I go about it ? What do I need to do first and how do I plan the project ? I dont know where to start. I need to know the core technical side of project planning (not the hosting, cvs, etc..)
data structures file system layouts theme, modules support, etc..
Hi, Not to discourage you in your efforts, IMHO, It will be nice if you contribute your efforts with Drupal. just to quote an old saying "Re-inventing a wheel is crime". cheers, Thyagarajan Shanmugham
2008/11/11 My Own Linux <myown.linux@gmail.com>:
I want to write my own open source web application and make it as flexible and usable as drupal. I have no experience with a project this size. How do I go about it ? What do I need to do first and how do I plan the project ? I dont know where to start. I need to know the core technical side of project planning (not the hosting, cvs, etc..)
1. Scratch an itch you care about 2. Inspire other people to join in and help you out 3. Keep improving your codebase 4. Repeat the above steps for 5-10 years 5. ??? 6. Profit Seriously though, if you start out to write a project the size and scope of Drupal with the same amount of flexibility by yourself in your spare time you will never finish it. You need to make something much smaller and simpler that is still useful, then build a community around it to help you incrementally build it to something bigger over time. If you want to see how Drupal or other projects do stuff for inspiration, just look at their code. But you're far better off just joining an existing project. -- Cheers Anton
Am Montag 10 November 2008 18:20:31 schrieb My Own Linux:
I want to write my own open source web application and make it as flexible and usable as drupal. I have no experience with a project this size. How do I go about it ? What do I need to do first and how do I plan the project ? I dont know where to start. I need to know the core technical side of project planning (not the hosting, cvs, etc..)
data structures file system layouts theme, modules support, etc..
I can't imagen any project you could not write as a drupal module (and there exist realy big modules with for example 30 MB). your Application can use drupal as a Framework. - so what answer do you expect here ;-) Best Thomas Zahreddin Cofounder of http://VoiceHero.net
you forget o mention the money :), so perhaps it helps http://www.damnsmalllinux.org/income-guide/intro.html Blessings! My Own Linux wrote:
I want to write my own open source web application and make it as flexible and usable as drupal. I have no experience with a project this size. How do I go about it ? What do I need to do first and how do I plan the project ? I dont know where to start. I need to know the core technical side of project planning (not the hosting, cvs, etc..)
data structures file system layouts theme, modules support, etc..
I believe what you are looking for is mostly covered here: http://producingoss.com The first step is to write code that fixes the problem you're trying to solve. Then use that link to help you release it and grow it.
Read http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ This guy did it with fetchmail. Tells you the whole story. And you might gain valuable insight into how "I" isn't exactly as powerful as the Gillette razor commercials try to sell you into believing, isn't quite as powerful as a whole community, working, testing, using, posting issues, fixing issues, over the space of, say, a decade. "I" isn't exactly the "I" Sara Palin means when it's actually the "we" and the nature, the character of the exploitation of the labor force. <offtopic>Which doesn't mean of course that Open Source is not just another form of exploitation. It's just a "better" one in that it makes for a better product, etc., etc., etc. But of course you didn't ask about that.</offtopic> Microsoft found out with Vista that the "I" business model is inferior to the open source business model, which is why it may be looking into webroot for IE8. Ay, ay, ay... Victor Kane http://awebfactory.com.ar On Mon, Nov 10, 2008 at 3:20 PM, My Own Linux <myown.linux@gmail.com> wrote:
I want to write my own open source web application and make it as flexible and usable as drupal. I have no experience with a project this size. How do I go about it ? What do I need to do first and how do I plan the project ? I dont know where to start. I need to know the core technical side of project planning (not the hosting, cvs, etc..)
data structures file system layouts theme, modules support, etc..
Firstly thanks to all those who replied. I would like to clear the point that what I am making is not a CMS. I just want to make a php based web app that is scalable like drupal and has support for themes, modules, etc. I was looking for some pointers on the design aspect of a similar php - mysql based projects. How to design the database, what parts of code can be reused, how to make a project theme-able, module-able, how to design the filesystem layouts, how to make sure its secure, structures for admin area - user area, how to design the class and functions, how to design the page structures, etc ps : I have read both the books (esr, producing foss) - but they dont have any answers for what I am looking for. I hope this will make my question more clear :) Excuse me for my bad english.
I am asking this because I was working on a FOSS project for many months and few bad initial design decisions and I had to spend a lot of time rewriting a lot things, and basically the project has come to a dead halt because it just not possible to fix those things now ! I dont want to repeat the same mistakes again :) I want to be more careful this time. I just to know what the provable things and the best approaches for such projects - reinventing the wheel and repeating the same stupid mistakes is just not fun :) :D
Quoting My Own Linux <myown.linux@gmail.com>:
I am asking this because I was working on a FOSS project for many months and few bad initial design decisions and I had to spend a lot of time rewriting a lot things, and basically the project has come to a dead halt because it just not possible to fix those things now !
I dont want to repeat the same mistakes again :) I want to be more careful this time.
I just to know what the provable things and the best approaches for such projects - reinventing the wheel and repeating the same stupid mistakes is just not fun :)
How is your post related to _Drupal development_? You're asking about project management and a google for http://www.google.com/search?q=open+source+%22project+management will give you correct results. Earnie http://r-feed.com Make a Drupal difference and review core patches. -- http://for-my-kids.com/ -- http://give-me-an-offer.com/
I think you want books on design patterns. http://www.amazon.com/s/ref=nb_ss_gw?url=search-alias%3Daps&field-keywords=d... Design patterns are just what you're looking for -- proven best practices for designing architectures. Kyle Research Assistant eBusiness Center @ BYU kyle.mathews2000.com/blog On Tue, Nov 11, 2008 at 6:51 AM, Earnie Boyd <earnie@users.sourceforge.net>wrote:
Quoting My Own Linux <myown.linux@gmail.com>:
I am asking this because I was working on a FOSS project for many months
and few bad initial design decisions and I had to spend a lot of time rewriting a lot things, and basically the project has come to a dead halt because it just not possible to fix those things now !
I dont want to repeat the same mistakes again :) I want to be more careful this time.
I just to know what the provable things and the best approaches for such projects - reinventing the wheel and repeating the same stupid mistakes is just not fun :)
How is your post related to _Drupal development_? You're asking about project management and a google for http://www.google.com/search?q=open+source+%22project+management will give you correct results.
Earnie http://r-feed.com Make a Drupal difference and review core patches.
You might try this title, although I have not read it. -> http://www.packtpub.com/PHP-5-CMS-Framework-Development/book Your points about "reinventing the wheel" and "repeating the same stupid mistakes" are good ones. One of the most important benefits of adopting a community based solution is having access to the work of many, many intelligent people - that has been tested by time and diverse install base - and has been improved with that experience. I recommend you use Drupal and direct your creative energies towards bringing improvements to that project. What you'll begin with is quite amazing. Why reinvent the wheel or start over at the beginning? Anyway - all the best! On Tue, Nov 11, 2008 at 7:02 AM, My Own Linux <myown.linux@gmail.com> wrote:
I am asking this because I was working on a FOSS project for many months and few bad initial design decisions and I had to spend a lot of time rewriting a lot things, and basically the project has come to a dead halt because it just not possible to fix those things now !
I dont want to repeat the same mistakes again :) I want to be more careful this time.
I just to know what the provable things and the best approaches for such projects - reinventing the wheel and repeating the same stupid mistakes is just not fun :)
:D
One other option -- Drupal is open source of course. You're welcome to borrow code from Drupal or any of the other innumerable php frameworks out there. But like the others said, are you sure you can't build what you want on Drupal -- it'd save you gobs of time provided there's not some fatal incompatibility. Kyle Research Assistant eBusiness Center @ BYU kyle.mathews2000.com/blog On Tue, Nov 11, 2008 at 7:42 AM, Amy Stephen <amystephen@gmail.com> wrote:
You might try this title, although I have not read it. -> http://www.packtpub.com/PHP-5-CMS-Framework-Development/book
Your points about "reinventing the wheel" and "repeating the same stupid mistakes" are good ones. One of the most important benefits of adopting a community based solution is having access to the work of many, many intelligent people - that has been tested by time and diverse install base - and has been improved with that experience.
I recommend you use Drupal and direct your creative energies towards bringing improvements to that project. What you'll begin with is quite amazing. Why reinvent the wheel or start over at the beginning?
Anyway - all the best!
On Tue, Nov 11, 2008 at 7:02 AM, My Own Linux <myown.linux@gmail.com>wrote:
I am asking this because I was working on a FOSS project for many months and few bad initial design decisions and I had to spend a lot of time rewriting a lot things, and basically the project has come to a dead halt because it just not possible to fix those things now !
I dont want to repeat the same mistakes again :) I want to be more careful this time.
I just to know what the provable things and the best approaches for such projects - reinventing the wheel and repeating the same stupid mistakes is just not fun :)
:D
Yes! a success example is the drupal module ubercart[1], which competes with "specialized" FLOSS ecommerce packages. This topic is OT from this point so pleace place project details at group Contributed Modules Ideas[2]*.* /[1]http://drupal.org/project/ubercart/ [2]http://groups.drupal.org/contributed-module-ideas//* *Blessings!* * Amy Stephen wrote:
You might try this title, although I have not read it. -> http://www.packtpub.com/PHP-5-CMS-Framework-Development/book
Your points about "reinventing the wheel" and "repeating the same stupid mistakes" are good ones. One of the most important benefits of adopting a community based solution is having access to the work of many, many intelligent people - that has been tested by time and diverse install base - and has been improved with that experience.
I recommend you use Drupal and direct your creative energies towards bringing improvements to that project. What you'll begin with is quite amazing. Why reinvent the wheel or start over at the beginning?
Anyway - all the best!
On Tue, Nov 11, 2008 at 7:02 AM, My Own Linux <myown.linux@gmail.com <mailto:myown.linux@gmail.com>> wrote:
I am asking this because I was working on a FOSS project for many months and few bad initial design decisions and I had to spend a lot of time rewriting a lot things, and basically the project has come to a dead halt because it just not possible to fix those things now !
I dont want to repeat the same mistakes again :) I want to be more careful this time.
I just to know what the provable things and the best approaches for such projects - reinventing the wheel and repeating the same stupid mistakes is just not fun :)
:D
cool !
Drupal is a lot more than just a CMS -- it's a pretty darned good web application platform as well. My company uses an intranet web application for many of our accounting and workflow needs. I wrote it as a series of Drupal modules, so I didn't have to reinvent wheels for themes, modules, authentication, user authorization, logging, menus, input cleansing, localization.....etc. There is essentially no "content" on this Drupal installation -- just the custom modules.
this is exactly what I was looking for ! i wanted to make a web application for freelance projects where people can post projects, bid on it, etc. something like http://www.elance.com/p/landing/buyer.html will drupal work for such projects ?
yes, but carry it to another thread and start reading the drupal handbook to get a grip on how to implement what you want. On Thu, Nov 13, 2008 at 3:54 AM, My Own Linux <myown.linux@gmail.com> wrote:
cool !
Drupal is a lot more than just a CMS -- it's a pretty darned good web application platform as well. My company uses an intranet web application for many of our accounting and workflow needs. I wrote it as a series of Drupal modules, so I didn't have to reinvent wheels for themes, modules, authentication, user authorization, logging, menus, input cleansing, localization.....etc. There is essentially no "content" on this Drupal installation -- just the custom modules.
this is exactly what I was looking for ! i wanted to make a web application for freelance projects where people can post projects, bid on it, etc. something like
http://www.elance.com/p/landing/buyer.html
will drupal work for such projects ?
On Tue, 2008-11-11 at 18:26 +0530, My Own Linux wrote:
Firstly thanks to all those who replied. I would like to clear the point that what I am making is not a CMS. I just want to make a php based web app that is scalable like drupal and has support for themes, modules, etc.
Drupal is a lot more than just a CMS -- it's a pretty darned good web application platform as well. My company uses an intranet web application for many of our accounting and workflow needs. I wrote it as a series of Drupal modules, so I didn't have to reinvent wheels for themes, modules, authentication, user authorization, logging, menus, input cleansing, localization.....etc. There is essentially no "content" on this Drupal installation -- just the custom modules. It sounds as if the things you don't want to reinvent are the things Drupal already provides. The only thing better than reusing proven design patterns is reusing proven *code.* :-) You will write your best code if you are focused on the parts of the application that are most interesting to you. Use off-the-shelf Open Source code for the parts that are necessary but are not part of what makes your application unique. Kind regards, Scott -- Syscrusher <syscrusher@4th.com>
On Tuesday 11 November 2008 15:57:00 Syscrusher wrote:
On Tue, 2008-11-11 at 18:26 +0530, My Own Linux wrote:
Firstly thanks to all those who replied. I would like to clear the point that what I am making is not a CMS. I just want to make a php based web app that is scalable like drupal and has support for themes, modules, etc.
Drupal is a lot more than just a CMS -- it's a pretty darned good web application platform as well. My company uses an intranet web application for many of our accounting and workflow needs. I wrote it as a series of Drupal modules, so I didn't have to reinvent wheels for themes, modules, authentication, user authorization, logging, menus, input cleansing, localization.....etc. There is essentially no "content" on this Drupal installation -- just the custom modules.
It sounds as if the things you don't want to reinvent are the things Drupal already provides. The only thing better than reusing proven design patterns is reusing proven *code.* :-)
You will write your best code if you are focused on the parts of the application that are most interesting to you. Use off-the-shelf Open Source code for the parts that are necessary but are not part of what makes your application unique.
Kind regards,
Scott
A good example for this is testing.drupal.org: http://testing.drupal.org/ All the website at essentially does is iterating all modules and making nice charts out of it. The Drupal framework has been used to write the 'application' while all the 'CMS' features are disabled or not in use. Therefore I've got to agree with Scott here, Drupal is a darn good application framework and eases lots of things like input validation, themes, forms and so on. Niels -- Met vriendelijke groet, Niels van Mourik Software Ontwikkelaar MADCAP Schapedrift 89 3371 JJ Hardinxveld-Giessendam Mob 06 159 632 70 Tel 088 99 088 99 Fax 088 99 088 98 pgp 63399E566EBB7C1C fp 9802 027D 61E3 1E7C 803B 5ED6 6339 9E56 6EBB 7C1C www.madcap.nl / open.madcap.nl ------------------------------------------------------------------------------------- Save a tree...please don't print this e-mail unless you really need to.
Minor Point: That is not at all what testing.drupal.org does. What testing.drupal.org does is download patches from the queue, run the test suite on them, and report the results back to drupal.org However, systems like this take tons of time to code. If you use Drupal, it's coded for you :-) Dmitri On Nov 11, 2008, at 7:46 AM, Niels van Mourik wrote:
On Tuesday 11 November 2008 15:57:00 Syscrusher wrote:
On Tue, 2008-11-11 at 18:26 +0530, My Own Linux wrote:
Firstly thanks to all those who replied. I would like to clear the point that what I am making is not a CMS. I just want to make a php based web app that is scalable like drupal and has support for themes, modules, etc.
Drupal is a lot more than just a CMS -- it's a pretty darned good web application platform as well. My company uses an intranet web application for many of our accounting and workflow needs. I wrote it as a series of Drupal modules, so I didn't have to reinvent wheels for themes, modules, authentication, user authorization, logging, menus, input cleansing, localization.....etc. There is essentially no "content" on this Drupal installation -- just the custom modules.
It sounds as if the things you don't want to reinvent are the things Drupal already provides. The only thing better than reusing proven design patterns is reusing proven *code.* :-)
You will write your best code if you are focused on the parts of the application that are most interesting to you. Use off-the-shelf Open Source code for the parts that are necessary but are not part of what makes your application unique.
Kind regards,
Scott
A good example for this is testing.drupal.org: http://testing.drupal.org/
All the website at essentially does is iterating all modules and making nice charts out of it. The Drupal framework has been used to write the 'application' while all the 'CMS' features are disabled or not in use.
Therefore I've got to agree with Scott here, Drupal is a darn good application framework and eases lots of things like input validation, themes, forms and so on.
Niels
-- Met vriendelijke groet, Niels van Mourik Software Ontwikkelaar
MADCAP Schapedrift 89 3371 JJ Hardinxveld-Giessendam
Mob 06 159 632 70 Tel 088 99 088 99 Fax 088 99 088 98
pgp 63399E566EBB7C1C fp 9802 027D 61E3 1E7C 803B 5ED6 6339 9E56 6EBB 7C1C
www.madcap.nl / open.madcap.nl
------------------------------------------------------------------------------------- Save a tree...please don't print this e-mail unless you really need to.
Again, you have not to duplicate the whole work, that is why I propose to do same as GIMP, they released GTK as a separate library, why not drupal? and this is not about the core, is about FAPI, Database Abstraction layer and so... weird ? :/ Blessings! My Own Linux wrote:
Firstly thanks to all those who replied. I would like to clear the point that what I am making is not a CMS. I just want to make a php based web app that is scalable like drupal and has support for themes, modules, etc.
I was looking for some pointers on the design aspect of a similar php - mysql based projects. How to design the database, what parts of code can be reused, how to make a project theme-able, module-able, how to design the filesystem layouts, how to make sure its secure, structures for admin area - user area, how to design the class and functions, how to design the page structures, etc
ps : I have read both the books (esr, producing foss) - but they dont have any answers for what I am looking for.
I hope this will make my question more clear :)
Excuse me for my bad english.
participants (15)
-
"Fernando P. García" -
Amy Stephen -
Anthony Wlodarski -
Anton -
Darrel O'Pry -
Dmitri Gaskin -
Earnie Boyd -
Kyle Mathews -
My Own Linux -
Niels van Mourik -
Ryan Cross -
Syscrusher -
Thomas Zahreddin -
Victor Kane -
தியாகராஜன்