I am looking to see if Drupal is the right solution for me and my needs.

What do I have to do (or can Drupal handle) if data source is from an external and existing database, with existing user lists, searchable content (like product data) and even existing blog/forum entries? My start-up company is building multiple services such as iphone app, android app, mobile web, etc... off an existing database. And I am looking to see if Drupal will fill the role of running our main website.

I am not hoping to maintain 2 redundant lists of everything (one on main database, the other on Drupal proprietary database). Drupal will have to authenticate users and fetch other data from external databases.

I understand that Drupal offers to create brand new page with a lot of features. But I am hoping to see if Drupal can handle building web site off existing databases. I have been reading this site for a few hours and I find more questions than answers. I would like to use Drupal to reduce development time, not to increase management headache.

Tomomi N.

Comments

tomomi1922’s picture

I may want to emphasize that I am not looking to migrate or transfer database into Drupal. My external database structure will remain as is as part of my company's overall framework. My Drupal site will have to fetch all data from central database to authenticate users or display anything. Which also means Drupal will have to read/write into the external database with new user registration and stuff.

Thank you very much for any advice and direction.

jaypan’s picture

While it can be done, you are setting yourself up for months of headaches to learn to do so. It won't make your life easier.

Contact me to contract me for D7 -> D10/11 migrations.

tomomi1922’s picture

I am not even the one who will make this decision (but I was already set up to be the one researching this framework). I am still convinced that Drupal may make life easier at the start.

More importantly is, in the grand scale, what approach do I have to go through for achieving my goal? I must write dedicated module for the database interface, right? I was led to believe Drupal is very modular. Is there any limitation I need to know about?

jaypan’s picture

Well, I and the others on the site were responding to this comment:

"I would like to use Drupal to reduce development time, not to increase management headache."

Drupal is always a headache with the first few sites you build. It's extremely complex, and it's quite difficult to know where you should be placing code, and how you should be doing it. Usually people end up resorting to hacks, which then cause problems further down the line as their site grows. Sometimes these hacks can open up huge security holes without you even realizing, and/or the hack can get accidentally overwritten with a future update, breaking functionality, but with little clue as to why, since a missing hack appears like a working system.

Anyways, Drupal is all modular. Even the core is built as modules. There are a few core systems that aren't built from modules, but that point is purely academic, it won't make a difference to you the developer.

It's pretty hard to give you specifics on what you would do, because there are ten ways to do any one thing with Drupal, and ten different types of systems that are trying to do that.

Your best bet is to start reading the documentation, and once you have an idea of how to create modules and do some basic functionality, come back with some specific questions. Most open questions just get left with no responses, frustrating the person asking. Specific questions generally get an answer, though extremely specific questions can also be left with no replies, since only someone who has been through that extremely specific situation will be able to reply.

Here is the link to the developer documentation:

http://drupal.org/documentation/develop

Good luck, you're going to need it. What you want to do is quite advance stuff, and in all honesty, I don't think I'd take on a job with that requirement, and I've been developing with Drupal for five years. I can't imagine having taken it on with no clue of how Drupal works in the first place, it would definitely be a challenge!

Contact me to contract me for D7 -> D10/11 migrations.

tomomi1922’s picture

Thank you for the concise response.

My company is exploring a couple PHP frameworks such as Symfony and Zend as well. It's just Steve and I were in charged of researching Drupal. Thus all teams would come back to our project manager reporting our findings. I personally got a Drupal for Dummies book (that shows how to build a site without coding) which was quite neat for a stand alone site. I built that in 2 nights from the book's instructions. I also have some experience with Wordpress theme development so I presume Drupal won't fall too far from that.

I also came by this site:

http://stackoverflow.com/questions/3697789/why-use-symfony-not-drupal

According to this forum entry, my speculation is realized as Drupal is still strictly a CMS in this regard, and it only works best with its proprietary design. And enterprise development seems to be asking for trouble, at least in my scenario.

At any rate, I really thank you for taking the time to respond. I wish there was a more clear cut of what Drupal can or cannot do but I read too much on the hype of "Drupal can do everything". I have just checked out your site and it does look very interesting. Maybe we can outsource some work to you in the future if my project manager has needs.

I am curious though, from all of your sites in your portfolio, which one has the hardest requirement? And their databases, do you either create them from scratch (data entry), or migrate them into Drupal system? Because I am more convinced that we should stick with simple PHP when it comes to working with enterprise database (from external source).

jaypan’s picture

Drupal is halfway between a CMS and a CMF. It can act like both. That's one of its strengths.

I wish there was a more clear cut of what Drupal can or cannot do but I read too much on the hype of "Drupal can do everything".

Well, Drupal can definitely do a lot. Particularly Drupal 7 - the architecture behind it is very well built, and very scalable. But that said, figuring out how to do what you want to do with it can often be very difficult.

from all of your sites in your portfolio, which one has the hardest requirement?

That's depends on what you mean by hardest requirement. They are each different in their own way. The most technologically advanced project I built was my own site itself. HiringBoss was the one I spent the most time on (near six months! And they continued work on it after I left). And English Friendly Japan was the trickiest as far as javascript is concerned... with maybe the exception of Jaypan itself.

And their databases, do you either create them from scratch (data entry), or migrate them into Drupal system?

Wixi required database migration. I've done migration on a few other sites not listed on my portfolio as well. And After Hours Japan was a migration from a phpbb installation, though for most of that integration I used a 3rd party module. But I had to write my own migration scripts for the areas that the module didn't provide.

Contact me to contract me for D7 -> D10/11 migrations.

WorldFallz’s picture

i agree with jay-- while you can, i'm not sure why you'd want to. You'd probably be better off just switching to a pure framework better suited to this type of arrangement.

Or bite the bullet up front, and simply convert to drupal.

hershel’s picture

I would like to use Drupal to reduce development time, not to increase management headache.

In this case I agree--I don't think Drupal will reduce your development time in this case.

tomomi1922’s picture

I expect the up front learning curve. But I was hoping for a smoother long run operation, since this site will keep on developing over time. I highly appreciate the responses, but I would prefer suggestions over just "you shouldn't do it". Given your current knowledge with Drupal, how are you going to achieve this goal? Will it be unrealistic to make Drupal to do this? Or Drupal is only more suited for individual sites?

On the flip side, what is a better framework for this that you may suggest?

luthien’s picture

I used Drupal 6 with tw module and the views module to expose data from the external databases to our web site. It requires some PHP coding as well but tw did a great job exposing the tables to views.