Ask HN: Drupal or from Scratch

6 points by fffrad ↗ HN
I've been using PHP for many years and I consider myself at least competent. I have worked with many framework and understand the learning curve they come with.

However, I have a client that wants me to work on a project. It uses Drupal. It was recommended by his PM and the team that first started building the website for him.

Now he parted from the team and wants me to continue the development. I feel stupid for not understanding Drupal at all. I read documentations, tutorials, watched videos and it still feels strange to use it.

This project is not even a blog or article driven. Making the smallest changes is a hassle. I managed to build a Prototype using an MVC framework in a couple of days, much easier.

I have tried to tell the client that it is best to leave Drupal behind, but Googling comments about Drupal and reviews only yield more reasons to use it.

Am I the only person thinking using Drupal for a non-CMS project is more work that needs to be?

7 comments

[ 3.3 ms ] story [ 20.4 ms ] thread
I am a little biased because I have been using Drupal for a couple of years and recently started building very complex web applications using MVC frameworks. If you are building a website for content purposes, please use a proper CMS like Drupal. It is pretty well written and very properly documented.
I've very recently used Drupal for the first time on a project where using Drupal was a requirement from the client. The reason they wanted Drupal was because their internal dev. team was accustomed to it so if they needed to do work on it later, they could.

I have to say that it's a terrible framework to get into. I found it extremely difficult to find proper documentation on how to achieve (simple?) tasks and how to properly link things together. I've now only scratched the surface of it after completing the project in ~six weeks but am kind of dreading having to work with it again.

I think it could improve usability drastically by updating their own website and documentation. The only things I could find when getting stuck were questions of people being stuck on the same thing, or on a similar thing. Actual answers on this were very difficult to find and mostly took me a substantial amount of time of digging through the code.

Care to provide some examples of the issues on the simple tasks you are having?
I have used a drupal based database, while they were able to do job it is severely limited in functionality by the platform. Its now a drupal version or two behind and would be better to shift platforms than to re-factor for new drupal.

If its something serious with data I suggest use more serious tools.

Second thought, can you demonstrate why it would be better to move away from drupal, such as development could be faster, capability would be improved, or that in some way drupal would be bad in the long term. With an alternative in mind maybe you would have better luck.

Don't focus on criticism, focus on making a very clear value proposition why a change is necessary. For anything. Offering people value is a lot more persuasive than telling why you're right, be it CMS / staffing changes / anything.

That said, I use Drupal quite a lot. For content intensive stuff, it is simply my hammer to seeing a nail.

Re-inventing a CMS seems like a bad idea also. Using a CMS for a non-CMS project also seems like a bad idea. Perhaps enquire with the PM why they suggested Drupal/a CMS? There might be an angle in the project's direction or specification you're missing.

If Drupal can support the requirements of your project with minimal changes, absolutely go for it. Otherwise, stay away. Drupal can in theory be used to build a wide variety of full fledged applications, but my experience says that this is the wrong hammer for most nails.

I faced the same choice a few years back, in Drupal 5 days. Ended up going with Drupal for speed of development, would not have made the same choice if I had to do it all over again. Built a fully featured social network by stitching together a bunch of modules and writing a hell of a lot glue code as well as code to override default module functionalities.

In the end, I did build it faster than I would have from scratch, but ended up with an unmaintainable mess of custom code. Ramp up was brutal (I knew nothing about Drupal when I started) and you really need to understand how the core and module architecture works in order to make any meaningful customizations. The prospect of upgrading to Drupal 6 was so daunting that I never did it and the project ended up languishing and eventually dying.

Perhaps things got better since then, but I have a hard imagining that to be case.

No blog/cms. No Drupal.

Actually Drupal feels ancient and archaic at this point. I wouldn't recommend it for anything.

If it was strictly a blog I would use Wordpress.

Plus using a framework like Drupal or even Wordpress you're opening yourself up to lots of security issues.

For any type of web application beyond a blog that is PHP based I would recommend going with Laravel.

Not only is it a great framework there are lots of tools to make it easy to use.

Develop locally on Homestead (Vagrant) http://laravel.com/docs/5.1/homestead

Deploy easily to Digital Ocean or AWS ($10/mo but will save your hours and hours of time) https://forge.laravel.com/

Critical App?Deploy with no downtime https://envoyer.io/

Laravel Spark (SaaS out of the box, Coming Soon) https://www.youtube.com/watch?v=uOU_N8PNOD8

Laracasts http://laracasts.com Great place to learn Laravel.

At least checkout Laravel before committing to doing this project in Drupal.

I would charge 3x if he insists on Drupal. = 0

Good luck with your project.

(btw, I'm just a fan of Laravel.)