An Editorial Experience Like No Other: A Look at One of Our Custom CMS Solutions

CMS - Cover
To create the basic version of our custom CMS, we identified the out-of-the-box functionality of an open source CMS and trimmed it down to where it could meet our client's minimum requirements.

Overview

Anytime you add new functions to a custom content management system (CMS), it’s bound to get more complex. Nevertheless, we at Make Technology took on the challenge of creating a custom CMS for Jr. NBA Asia’s website to showcase our expertise in building robust and reliable software. It was also a great opportunity for us to use our strong background in User Experience (UX), which we believe has always given us an edge over our peers and competitors.

For this particular project, we quickly discerned that our client’s requirements were too much for an open source CMS to handle. Instead of using one (which we’d have to customize anyway!), us developers consolidated our game plan with our UX team and went straight to creating a custom CMS that could address our client’s needs.

The Tools

As is the case with every building project, one’s tools are of paramount importance. We decided to use PHP’s Laravel Framework, a tool we often use for backend services. In addition, we used Admin LTE for our Admin’s Dashboard and a combination of VanillaJS, VueJS, and Bootstrap for our marketing site.

The Approach

To create the basic version of our custom CMS, we identified the out-of-the-box functionality of an open source CMS and trimmed it down to where it could meet our client’s minimum requirements.

From there, we added modules until the final product met those requirements in the best way possible. In our experience, we feel that it is always important to play to our strengths and in this case, the approach we took is a process that we’re very familiar with. It allowed us to deal with the important functionalities in great time as well as resolve any unforeseen bugs we came across within the system.

CMS - 2
To this end, we introduced tools to help our client's content creators easily add, edit, and remove content. We also included an optional localization parameter that they could use to choose which region or regions to publish in.

Challenges

Security

Security has always been one of our client’s major concerns. Fortunately, at MAKE, we always place it at the top of our priority list when building software. This influenced our decision to use a custom CMS in the first place, because it allowed us to easily patch security configurations whenever needed.

You don’t get the same liberties with an open source CMS; if you need an issue resolved, you have to wait for an update from the maintainers or use custom plug-ins. As a result, we quickly resolved each vulnerability assessment that we encountered during development and after deployment.

Migration of Data

Migrating data from the old website to the new website needed to be carefully patterned to the new data structure we built. To do this, we created custom scripts to facilitate the migration of existing videos, articles, images, and the database.

Localization Support

Localization support was a big part of our client’s objectives, as they planned to serve different pieces of content to multiple regions. To this end, we introduced tools to help our client’s content creators easily add, edit, and remove content. We also included an optional localization parameter that they could use to choose which region or regions to publish in.

Another aspect of the website involved segregating content based on a “persona”— that of Child, Parent, and Coach—site visitors chose upon accessing the site. Depending on the persona they picked, site visitors would see different content relevant to them. To help manage this, we added a “persona” parameter to allow creators to choose which piece of content they felt was relevant to a particular persona and place it within the corresponding section of the website.

In short, combining localization and personas into one system allowed Jr. NBA Asia to manage its huge library of content with confidence.

CMS - 1
By playing to our strengths and adhering to our process, we avoided premature optimization through proper planning and created an easy-to-use CMS that could provide repeatable results.

Conclusion

Throughout the entire project, some of the guiding principles we were taught shine through. These included two popular sayings among us software and system developers. The first is that “Premature optimization is the root of all evil.” The second is simply “Don’t do premature optimization!” (as if the first wasn’t clear enough!)

Another was that systems should be created to provide repeatable results. “Rinse and repeat is the key,” as we like to say. By playing to our strengths and adhering to our process, we avoided premature optimization through proper planning, created an easy-to-use CMS that could provide repeatable results, and overcame every challenge we encountered.

In doing so, we achieved our goals and more than satisfied our client’s requirements.

Taking Luxury Brands Online

Luxury - Cover
Luxury brands have to recreate the prestige one feels upon entering their real-life boutiques within a digital space. Image courtesy of Roberto Coin from King Jewelers.

E-commerce has made it possible to get anything you want or need without having to step outside your house. While most people are familiar with shopping for food and groceries online, the selection e-commerce offers has gone far beyond the basic necessities. These days, you could even buy a diamond ring and have it delivered straight to your doorstep.

Luxury - 1
King Jewelers is an esteemed merchant of fine jewelery, Swiss watches, and wholesale diamonds in Middle Tennessee and South Florida, with a reputation of excellence backed by over 100 years of quality service.