My Thoughts on CMS Development

Advert Africa
Advert Africa
9 Min Read

Content Management System’s like WordPress, Drupal, and Concrete5 are great at what they do. They allow the rapid development of Web Applications, saving time and money. The communities and organizations backing these projects ensure secure, consistent and incredible productivity.

There’s no doubt in my mind that these systems will continue to flourish. This isn’t an introduction to those systems, however. It’s a small collection of thoughts that I was inspired to write down after experiencing the process of developing an “in-house” CMS for my latest client. The project was fascinating and it opened up a whole new world for me, so to speak.

There is still a place, today, for custom content-management system solutions.

What role custom CMS’s play, in modern times, can be hard to comprehend if you haven’t experienced them before. I began writing Web Applications when I was 16 years old, which was 6 years ago. This was the first time I had ever worked on an in-house CMS. I knew that they had to exist, somewhere, but I had not even heard of someone using a CMS that wasn’t open source and at least slightly *popular*.

The Biggest Concern

Everyone who’s been a developer in this industry for long enough has experienced, probably numerous times, the process of deciding what tools are “best for the job”. A project is presented, the toolset wasn’t defined in the requirements (explicitly) and you put together a list of languages and frameworks. You weigh them based on the needs of the client, the experience of your team and your own budget.

The biggest concern is that a company generally wants to keep costs down. When two quotes arrive in someone’s inbox, one being an estimate of work it would take to implement a site using WordPress and the other being an implementation using a more barebones framework such as Laravel of Flask, usually you can guess which solution will cost less. The custom solution is generally estimated to take more time which means more cost to the client.

Is this always the case? No. I wouldn’t even say that it is the case *most* of the time. While working on a lightweight CMS for this client, I made a profound observation. It took me less time to get the project up and running “from scratch” using Laravel than it would have taken to use WordPress. I’ve worked with both WordPress and Laravel quite extensively. You’d think that the opposite scenario would have taken place but it did not.

Now…what happens when this client wants to make a few changes or add new functionality to the site?

It’s pretty simple. They find a decent developer who they can afford. If for some strange reason I am not able to help them, in the future, the truth is that there is no shortage of talent out there to pick from. The cost of a developer who has experience with Laravel isn’t that high.

The company I work for charged this client $50/hour for this project. In total, there were 40 billable hours and a $25/month hosting fee. The competing company that pitched a quote before us, who would be using WordPress, estimated (or well, demanded) around $7,500 for the project and $125/month for hosting. I’ll be honest, I estimated 80 hours of work, originally. That was just to be safe. We saved the client a lot of money and landed ourselves a happy customer.

The best part of this, for me, was the knowledge and inspiration that came from working on the project. I learned what it takes to write a CMS from scratch. It taught me that there is a different tool in my arsenal when the time comes again that I weigh pro’s and con’s, starring at a project requirements list.

Considerations

There are a few things you should put thought into before beginning a project like this. Consider security. Who will have access to your application? What sorts of users will exist? Who can register? Laravel extrapolates the processes involved with handling these issues.

You may need a way to create and edit pages. That’s pretty standard but the types of pages and how they function are important to examine. With WordPress, you have a Post which plugins extend for things like Products, for example. The difference in types of pages and their purpose may require separate types of objects.

Will you need a settings section with a bunch of pre-set key’s? Will all of your settings be created upon deployment of the application? This sort of thought will allow you to create an efficient interface for managing and representing settings.

The Dashboard

When I began working on the dashboard that would elegantly interact with the database, I knew I needed to find a template or theme of sorts. I’ve used Bootstrap to get things going quickly, as far as design is concerned, many times. I ended up finding a very neat tool.

I was able to rapidly deploy an interface that was beautiful, responsive and downright efficient. Implementing the styling for the dashboard and landing page would have nearly doubled the time it took to complete the project.

Shortcuts are great. It allows us to meet deadlines and to perform complex operations, quicker. Laravel gave me many shortcuts to creating a secure and fast site. Core UI allowed me to focus on the back-end meanwhile knowing that the user will be given a proper interface. An application is only as good as its interface, in my opinion. And I don’t even consider myself a designer.

Open Source Benefits

Open-Sourcing your in-house CMS project could have several benefits. As you provide value to people looking to use your software, you open up the possibility of guest contributions which would improve your codebase, saving time and money and increasing the effectiveness of your application.

It also has marketing benefits. When you open source your application, you create something that clearly provides value to interested people. It gives you a constantly changing system to blog about which turns out to be an ever-increasing opportunity for content marketing.

Most monetization techniques these days include a free trial or tier. Open Source works as a free tier. Providing paid services to extend, deploy and maintain your software for someone else, who stumbled upon your application via the content, repository, or otherwise, could supplement the primary source of income for your company.

Proper maintenance is important to foster a positive community and project growth. There’s a lot of information out there for making this a reality but it isn’t the path for everyone. Throwing all of your code onto GitHub, without a README, adequate documentation, issue tracking & monitoring, proper version maintenance along with release notes, community communication and everything else…It’s all important. There’s no point in open-sourcing your application if you can’t give the right amount of attention to these aspects of open source project management. Look at Atom, the text editor, to understand how an open source project can be maintained properly.

Outro

I hope that this wasn’t too boring to read. I find all of these concepts fairly interesting and I wanted to just journal a bit to help gather my thoughts. I’m planning on writing an in-depth and more focused guide on implementing a minimal CMS using Laravel, which I should release in the next week or so.

Writer: Jonathan Amenyah

RINJAcom

Share This Article
Follow:
Welcome to Afronewswire.com, your premier destination for exploring the vibrant tapestry of African history, culture, business, and talent. Powered by Advert Africa, we offer an immersive journey into the heart of the continent's diverse narratives. Embark on a journey of discovery with Afronewswire.com, where every click unveils a treasure trove of insights and stories. From ancient civilizations to contemporary innovations, we are dedicated to showcasing the dynamic essence of Africa. Whether you seek the latest news, insightful features, or effective brand management solutions, Advert Africa stands as your trusted partner. Elevate your online presence and engage with a global audience through our comprehensive services. Connect with us today via call or WhatsApp at +233531868098, and let's illuminate the world with the richness of Africa together. Explore Afronewswire.com and experience the power of African storytelling at your fingertips.
Leave a comment
Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock
Translate »
Verified by MonsterInsights