in 2017 companies are expected to have greater content and functionality on their websites. Having a good content management system is key to grow your business online. But what CMS should we choose. There are endless CMS options but in this article I would like to look at three of the post popular php CMS ‘s: WordPress, Drupal 8 and Laravel.
Where do we start
Before choosing a CMS we need to first we get all major company stakeholders to sit down and think about the functionality. Do we need a blog, forum, customer portal, job listings etc…
Often the best way to brainstorm functionality is to create user stories. A user story is a piece of functionality that you want your users to be able to do. For, example on a blog you want users to create content, editors to edit content and visitors to create comments. A useful formula for creating content would be as a _____ I would like ____ because ____.
After assessing our user stories we can determine what Content Management System(CMS) will best fit our needs and if WordPress, Drupal or Laravel is a suitable option. I describe each CMS below:
WordPress is the most popular web site builder on the web today with over 25% of websites using WordPress. WordPress started out as just a blog in mid 2000’s but with updates such as custom post types and taxonomies has become more of a CMS.
What I like about WordPress
At first glance WordPress looks slick with its dashboard and makes creating content an enjoyable experience. Also, with it’s large community there is wide range of free and premium themes and plugins that can suit most all business use cases. Plugins can make site building easier especially for the non coder.
There are themes on themeforest, that satisfy average business use case such as realtor, ecommerce store, recruiters, marketing agency etc. and with minimal expense we can get something up quickly.
What I don’t like about WordPress
If you have a lot of user stories and functionality there might not be a theme or a plugin that suit your needs. Also, sites with many plugins can become slow and buggy, and have security issues. Many experts suggest WordPress is the not the best platform for sensitive data.
When would I use WordPress
No question when I have site like a blog, where I am creating content, WordPress is the right choice. Themeforest with its’ many design options and woo commerce (e-commerce) are a big help to a blog or shopping cart up easily.
When would I not use WordPress
When you find you need something where you are going to have sorts different users, roles, and you want have a complex site where you filter content, rather then just sticking content into categories
Drupal has been popular since 2001. A full fleged content management system there is a lot you can do with Drupal including: adding content, grouping content and sorting/filtering content.
What I like about Drupal 8
out of the box with Drupal 8 you get so much with functionality, you can create content, add validation to content, and filter and sort content with views, all done right in the user interface. Drupal has been used by all of organization such as the white house, big companies and universities and has big brand name credibility.
Drupal is perfect for complex website that include: creating content, pages need to be restricted by user and we need to filter and sort content both statically and dynamically.
What I don’t like about Drupal 8
Not as enjoyable publishing experience as WordPress and Drupal lacks themes, making the front end development experience more time consuming. The user interface has vastly improved in Drupal 8 but I like the authoring experience of WordPress to greater
When would I use Drupal 8
I use Drupal for content rich sites, particularly admin sections where data and the security of data is extremely important. With content types and the ability to create fields, it is very easy to constrict users based on role, page viewed and content types.
For example if I was going to build a car lot of the box I could create content type cars, create a taxonomy for brand and create a user role that allowed administrative staff to enter cars inventory. Visitors can easily search for cars based on make or brand.
When would I not use Drupal 8
For a large complex website creating content Drupal is great. However, when working on teams of developers Drupal configuration scares me. I would like a Git friendly framework where the Database is not pre configured and can be altered using Git. A framework such as Laravel might be a better option.
Laravel is a newer popular PHP framework. A framework unlike WordPress and Drupal does not come with a user interface. Often frameworks are used to build CMS such as WordPress.
Lavarel has MVC architecture, and comes with different service class options such as email, sessions, database abstraction.
What I like about Laravel
Lavarel’s active record pattern to build your friendly is developer friendly. Looking at Drupal database you are going to see nodes, fields etc, and be hard to grasp what your application does.
For example, with Laravel an accounting application you could have tables, journal entry, users, assets, expenses … etc and when looking at the database you would know within 5 minutes the gist of your app. Consequently, adding developers and getting them started can be painless. Also, with Laravel migrations, Git can be used to create database schema and roll backs can be used if a bad merge occurs.
What I Don’t like about Laravel
Basically using any framework there needs a specific reason for doing so. Building with a framework is time consuming and if your use case can be easily be achieved by WordPress and or Drupal, than you are just wasting time.
Also, using Larvel on a shared hosting account is difficult. With some hosting providers they only allow ftp and a file manager to import and export files. Consequently, we would have to use a VPN which can increase your hosting expenditures.
When would I use Laravel
With it s great documentation and artisan the command link tool, you can get big projects up quickly. A Saas application a good use case for Laravel.
When would I not use Laravel
When either Drupal or WordPress will not satisfy your needs.