A little background, I’m working on a contract for a large
organization and the administrator of the contract who has a background
in system administration decided to use Drupal 8 as project to prevent
people from uploading directly to the production server from
Dreamweaver, SCP, FTP. terminal or some archaic method. (There is
absolutely no deployment methodology) Prior to the sys admin leaving in
July, I asked the sysadmin why he chose Drupal? His response was “Well I
programmed in it briefly, like 10 years ago so I think it will help
us.” So that was the rational. I started to learn to program in Drupal, I
quickly learned that essential it is a pain in the @ss to program in
Drupal. In fact it is downright excruciating.

Spending a few weeks trying to implement a simple group permission
module that would allow certain writers access to certain articles and
deny writers access to different articles, etc. What I would consider
very basic content moderation / group access, there only two modules out
there, Groups and Organic Groups and neither of them seem to work very
well. Most importantly, most developers haven’t moved over to Drupal 8,
so there doesn’t seem to be a rush to support these modules. In
addition, I had coded out content moderation / group access features in
php / Codeignitior / MVC with no problems in the past.

With the Sys Admin, who did a little coding 10 years ago, now gone, I
saw opportunity to change direction, as I didn’t want to get stuck
coding in Drupal. I address the issue with the new administrator and
instead of telling him that I was going to switch to a new framework, I
thought it was only fair to a present my case. I believe that it is
important for administrators or senior leadership to make informed
decisions. All to often I have seen developers just tell non technical
people what they are going to and then start programming in their flavor
of the week coding language. With that said I would put together a
presentation on Drupal vs. Laravel and make non technical person to
understand. I was excited about this because writing code is fun, but
sometimes I like add a little more challenge and this would provide an
opportunity.

The key issue really is 40% of the project really setting up a simple
CMS system to publish articles. The other 60% of the project is
completely unknown. It could be something like converting oracle data
and displaying in a custom CMS view.

The one thing I did get to Sys Admin was to get a simple mission
statement as to lock him down on the specifics of the project. So here
is the presentation:

Mission Statement / Directive: To build a comprehensive
Content Management System (CMS) using the Drupal framework to allow
different stakeholders and pre approved groups the ability to create
appropriate content (news, embeded video, images) and static pages for
publication on the website. The public facing will only have read access
and all content management (CRUD) will occur behind a protective
firewall.

With that here is my presentation:

Laravel vs. Drupal

Problem: Develop a CMS for an unknown project description and make
sure the CMS system is adaptable enough that it can implemented across a
variety of project / websites that have not been defined.

Current situation: Currently we are attempting to implement Drupal 8,
which was was released on Nov 2015. Drupal 8 is significantly different
than Drupal 7 and does not have an end of life date. This is important
to note that current web developers are not converting sites to Drupal 8
at an accelerated pace because they can continue to use Drupal 7. Hence
the development on Drupal 8 and drupal modules has been slower and
spotty. Implementing Drupal 7 would be an issue as we would be
confronted with an upgrade to Drupal 8 in the future. Using Drupal 7
would only be an effort to kick the can down the road.

Proposed solution: After working with Drupal over the course of a few
months, it appears the community is stuck in Drupal 7 and possibly
abandoning the platform. Solutions to Drupal 8 issues appear to be
sparse. In addition some key modules are in beta. Modules for group
permissions, there are only two modules that support this feature. Which
really makes this project dependent on the two modules. Permission to
manage content is standard with WordPress.

After careful consideration and research. It is recommended we move
over to the Laraval / PHP framework without altering our November or new
October 1st deadline, maybe even decreasing it. Laraval is a robust
framework that allows us to implement the most basic requirements of the
“Drupal – RISE – Project” of creating a simple blog/article ability
with basic Admin capabilities. The beauty of laravel allow to adapt and
build features that we don’t know exist, for example connecting the
water levels with mussel data should be able to develop without being
bound to constraints that Drupal might place on creating new features.
Although all constraints of a Drupal or Laravel can be overcome through
programming, Laravel is just built in a way, that you can get up and
running faster to implement new features.

Epilogue: In the end, I wasn’t able to
persuade the new Sys Admin to move over to Laravel, we are stuck with
Drupal. Not sure if I really lost as much as I might not have hit the
right selling points with the audience. That can be difficult, when the
mission statement is very open and the end goals are not defined. I did
have some competition as another developer presented the case for
Drupal. Any frame work is going to be flawed, but the lack of support
in the Drupal 8 community is a serious issue. On the bright side, I was
able to gain exposure to Laravel as I got to play around with it for a
week or so. Although my background is Codeigniter, Laravel is super fast
to pick up super quick to learn.

Leave back here or on hackernews, be interesting to see the communities thoughts.