views:

366

answers:

2

im going to create a new web application that is very customized.

it will contain images, that are fully searchable - in a very, very customized way.

when you click on the pictures you can add comments and so on.

it requires users to be registered, but the registration/login process will be highly customized too.

at the moment im using CodeIgniter for this. But i've read a lot of posts about CMS like Drupal and it sounds like i could let it handle basic stuff, maybe design and other front end work.

i have no experience with CMS, in fact, i just started to use a MVC framework like CI and was impressed of how much easier it gets to start developing.

so i wonder, if i'm going to create this kind of application, could i use drupal and then add the usual stuff, as i was going to do with CodeIgniter, like controllers, views, models, config files, my own libraries and so on?

how does it work on a system like Drupal. how do you code PHP with it as with any MVC framework. it sounds like it has a lot of modules, i just wonder, if i can use it as a MVC framework but have the benefit of having all these basic stuff and design ready to use? cause then it sounds like the best "library" to provide for a web application from scratch.

or is it difficult to create a customized app with it? i guess it has modules like images and users, but then how could i customize these so that every image has tags on it and country information, or have every user subscribing to changes to an image, that email will be sent to users and so on?

cause i guess its easy to install a module. the question is, how do i customize it. maybe i don't need all that table columns. maybe i want to add/remove business logic.

what are the pros and cons with using Drupal for this? is it even the right way to go?

can you make a Stackoverflow with Drupal? Facebook? Twitter? Youtube? assuming that you know php of course.

share your thoughts cause im totally new on creating a web application!

thanks

+2  A: 

Using Drupal is a fine idea -- it can take care of the mundane details like user registration, authentication, etc.

Then you extend drupal by writing a module or three.

The interaction between drupal's core and your module is going to be a pretty well-defined thing.

The internals of module can be structured however you want. You could even use an MVC framework!

I did a project once that did just that. It was a custom drupal module that internally used Zend Framework's MVC stack.

Worked like a charm.

There's definitely a learning curve for drupal in general and module development particuarly, but it's not insurmountable.

timdev
so CodeIgniter extends Drupal and not the other way around? But as i pointed, all these parts of my app are highly customized. lets say that im going to create Stackoverflow from scratch using Dupral and Codeigniter. Exactly how and with what can Drupal help me?
never_had_a_name
Right, CI is a lot more general purpose. Drupal is a CMS platform. It's primary job is to manage content, in a very generic way. If you have a very specific kind of content, you write a module that handles that. You can use any framework or library you like -- you just need implement the proper hooks so drupal can use your module. What drupal will get you is things like user management, permissions, basic CMS stuff (pages, blogs) etc.
timdev
+1  A: 

I have seen fully fledged web applications written in Drupal. Drupal is really handy for offloading the boring bits of the web application - user authentication and authorisation, comments, captcha, theming etc.

It really lets you get that head start into writing code for your application. With the stable release of Drupal 7 just around the corner, why not give it a shot?

wiifm