Welcome to Tech Corner! This week's article focuses on Content Management Systems (Drupal, WordPress, Joomla) and why they are common on the web.
Why are they important?
Content Management Systems (CMS) allow users (read: designers, developers, content managers, etc.) to quickly and easily build websites and web applications with little to no programming or web experience. For those of you who are well versed in programming, you are able to build even more complex applications and websites. The flexibility is endless and is only limited by the bounds of your imagination. The CMS contains a solid foundation which add-ons (modules, plug-ins, widgets) are implemented to extend flexibility. This items can be easily implemented by uploading the necessary files up to the server where they are later enabled by a web tool. While this sounds complicated, in practice it is quite simple and can be handled even by the newest users.
The Foundation of a CMS
The foundation of every CMS contains a number of integral objects which hold the entire structure together.
The first piece of the foundation is the users. The system maintains a user database which can be easily maintained through web pages. The more complex the system, the more flexibility it offers. With this flexibility in mind, you are able to create an experience which is tailored to the user and their role within your online application.
Typically, novice users are unaware of the complexity within permissions. These key data points determine what a given user is able to do, based on a role. This is very similar to that of your role within your current job role. The higher you reside, the greater the number of abilities you are authorized to complete. Depending on the CMS at hand, you may not even have to worry about this piece as the system maintains this for you. Although, the more complicated systems require that you tweak these permissions in order to give users the correct authorizations.
The second piece of the CMS foundation is the content. Blog based CMSs such as WordPress focus on blog pages, which are then used as a template to create and manage site content. Drupal, on the other hand, offers the ability to define content pieces, known as node types. This building blocks can be anything you want from a Blog to a Project. You are in the drivers seat.
What Should I Do?
Depending on your role or interests I believe that a content management system might be a great fit for your first website. For those of you who have little interest in programming, this might be a great way to understand how many corporate websites are run. This places you in the driver seat to help manage the content therein. Many corporate and government websites are run via content management systems (Drupal's list). The power of knowing how they operate will put you ahead of the competition.
For those of you who want to dig into the code and get to know the nitty gritty, I believe that content management systems will provide you will a great level of programming knowledge and skill. These applications are very complex, but do typically follow a standard design and development process. Drupal and WordPress are open source systems that are well documented. You have full access to the code and the reasoning behind how these systems operate. Having the ability to interact, learn and develop will expand your knowledgebase and provide you will additional skills that will put you ahead of the competition.