Niels Braczek is the man you might know as a Joomla! pro and expert, owner of BSDS (a software development company from Germany), the Joomla CMS believer we all love. In this interview, he reveals his pieces of advice and insights on the core of Joomla CMS. Enjoy reading!
Niels, you have a considerable experience in the development sphere, particularly in Joomla CMS. Could you share when did your passion for computer technologies started? What challenge did you face on your way?
My first contact with computer technologies was nearly 40 years ago in the highschool. Our teachers offered special classes for computer science, after having seen us kids fuddling around with programmable calculators. In 1977 I bought my first “real” computer, a Commodore PET 2001. It was extremely fast (1 MHz) and had a huge amount of RAM (4 KB) and mass storage (cassette tape recorder) included! Analysing that machine, and iterativley writing a symbolic disassembler to do so, gave me a very detailed understanding of what’s happening inside a computer, which I still profit from today.
What was the driving force and inspiration that lead you into the road of web development? How did you get involved with Joomla?
I started my own business as a freelancer in 1983, developing software for IBM mainframes as well as for PC compatible computers and Amiga. There was not much about specialisation at that time. In the second half of the 1990s, my customers got more and more aware of the cool new internet thing, and asked me to build a website for them.
Never being afraid to learn new things, I built those sites. Pure HTML in the beginning, later with CGI scripts in different languages, mostly Perl, and 1999, PHP added to that list.
About 2003, some sites grew that much, that my build tool chain wasn’t satisfying anymore, when I had to add or update content for my customers. So I needed a CMS. There were a lot of them in the market, but since I nearly completely had moved to PHP, it should be a PHP based open source product. I did a market survey, installed and tested any PHP CMS I could get, and finally chose Mambo. It’s concept of separate components, supported by modules and mambots convinced me.
I made half a dozen sites with it, discovering some of the flaws in Mambo. So some day, I decided to create my own CMS ‘nibraCMS’ (I heard, that every web developer has to go through this phase), which should be better in many regards, but ideally be able to run Mambo extensions.
We all know, what happened then, 10 years ago: Joomla! emerged as a fork of Mambo. Rumors about the goals of the new project told me, that they pretty much were the same as mine with nibraCMS, so I immediately cancelled my project and joined Joomla!.
You’ve been working with Joomla community from the very beginning until now. When comparing the start of this CMS with the progressing present, what is the first decent change this web solution has undertaken?
For me as a developer and a Clean Code evangelist, the first large step into the right direction was to get rid of the bug monster ‘mambo.php’, which was absolutely not maintainable. The ongoing process to separate concerns increases testability and maintainability. This important process will continue in Joomla!4, making it easier and easier to let the CMS – and of course the underlying framework – evolve without forcing extension developers to rewrite their software on each major release.
Nowadays, there are lot of talks around Joomla CMS. What should developers be focused on when managing Joomla-based websites in order to achieve maximum results?
Well, Natalia, here we have to differenciate. Developers are neither building nor maintaining sites – they write extensions or contribute to the core. However, I’m glad you stumbled into this pitfall, because we do so constantly, too. That’s why the Joomla! UX has started to build Personas, that is, descriptions of fictive, but represenative persons with differend needs, skills, and desires. These personas will be public and kept up to date, so we have names for the people we talk about and build Joomla! for.
But getting back to your question:
For developers of extensions, the most important task is to keep in sync with the core development. Each minor release may introduce new functions, and deprecate others. If you adapt your extension(s) to no longer use the newly deprecated functions as soon as possible, you gains at least two benefits:
1. Your code gets better. If that wasn’t the case, the deprecated function would not have been replaced in the core (we always have a good reason for deprecating things).
2. Your will have less work to migrate the extension to the next major release. Whenever we introduce new concepts in the next major release, we try to backport them to the current version. The @deprecated annotation does exactly mark the functions, that will be replaced with the new stuff.
For integrators, aka. site builders, my advice is to use extensions only from developers, that follow the rules above, if possible. Always use a test installation with a realistic amount of data to update or install extensions. Watch carefully, if the extension work well together. Don’t forget to look at the server logs.
For managers or administrators, the best way to avoid headache is to keep everything up to date. Security patches have to be installed immediately – every hour can be equal to thousands of (successful) attacks. Do not only look for updates for Joomla! and its extensions, but also for PHP and the database. Your website is a vital part of your business, not just a commercial on the screen.
Niels, what is a perfect CMS for you? Does Joomla! completely meet your expectations? If not Joomla – what alternative would you choose? Why?
That is a very good question, Natalia. The only valid answer is: There is no and there will never be a perfect CMS. It is impossible to serve all needs and expectations with one tool. Joomla! offers a solid and very secure base for all kind of web applications. While it for some sites has too much functions onboard, it misses functions for other sites. But the modularity and extensibility enables me to taylor it to the particular need.
Joomla! has not yet arrived, where I want to see it. With Joomla!4, which I have the honor to have contributed a large part of the architecture to, it will get a lot closer to it. Joomla! is constantly improving, and I’m allowed to be part of it. So no, for me, there is no alternative to Joomla!.
There are plenty of available extenionsion at the official Joomla Directory. What are top 5 you could recommend to non-tech users?
Depends. I don’t think, that picking some extensions as a recommendation does work, if you don’t know anything about the requirements. If there are two extensions in the directory, which state to do the same thing, they will do it differently. It is necessary for each concrete case to compare the features with the needs and to make an educated decision.
Although, a must-have for any installation is a backup system under your control on the host. It does not have to be an Joomla! extension, but you must have full access to it. On most hosts, you don’t have such a backup solution, so Akeeba Backup is the best choice. Backups are important and valuable, so handle them with care. Do them properly, do them often, store the backup in an other place (geographically). And don’t forget to test the backup by re-installing it on a test server.
If you have different users on your site, you might want to install a user switcher, that allows the admin to visit the site with the permissions of an arbitrary user.
Have you ever tried to migrate sites within different CMS? What would you recommend those undecided? What do you think about the automated way of data conversion?
Well, I’ve ported a lot of sites from other CMSs to Joomla!. The reason in most of the cases was, that the original solution no longer was maintained.
I can think of two reasons, why one would consider to migrate from one CMS to another. The first one is obvious: You’re not satisfied with your current situation. This is an absolutely valid point. The solution is to find a
CMS, that fulfills your needs, then, find somebody with the expertise to do the migration. In this case, you get, what you want.
The second reason might be, that your agency, expert, or maintainer wants to change the CMS, just because he knows the new one better. Don’t exchange the CMS, exchange the agency, expert, or maintainer. However, maybe the expert has a good reason and can convince you. Then you are in the first situation.
When migrating, normally the data can be transferred from one structure to the other automatically without bigger problems. Sometimes it is impossible to do it without manually providing additional data, which is required in the new system, but not available in the old one.
However, migration is no job for beginners.
When migrating through various CMS solutions, do you think it’s a crucial importance to migrate design?
Honestly, I’ve never managed to transform a non-Joomla! design into a Joomla! template. The only solution for me was to re-build the template from scratch – in those cases, where the design should stay the same. Most clients use the opportunity for a facelifting.
What do you think the future holds for Joomla!?
The “Design for Change”, we introduce in Joomla!4, will open many opportunities in the future. Everything in Joomla! gets exchangeable – even the User component or the Content component. That allows Joomla! to adopt to very different needs. A small site without users could use a minimalist User component, that just knows administrator and others.
There will no longer be any distracting stuff in the backend, that is not needed for this particular site. A big enterprise, on the other hand, can replace the User component with an adapter to their staff directory. Your imagination is the limit.
So, while Joomla!4 will require slightly more sophisticated and educated integrators (as they have to keep the default or replace it), it will get massively easier for developers and administrators.
If I try to look 10 years into future, I see Joomla!4 still being around, and Joomla!5 either being fresh or in the pipeline. The “Design for Change” paradigm allows Joomla! to adopt to new technologies without breaking existing things, so there will be no need to increment the major version. However, we’ll need Joomla!5 to be able to clean up
everything we have to keep now to provide a “Migration without Frustration”.
Please, share 3 interesting non-Joomla-related facts about yourself that we can not find in the Internet.
Phew, that’s not easy …
I’m out of sync. While living in timezone UTC+1 (Germany), I work as if I lived in UTC-5. Maybe it is because you can find at least 16 cities named “Berlin” in that timezone? No – it is because I had no broadband connection until recently, and I could work twice as fast at night than during daytime. And, when I work on my customers’ servers, it is much more relaxed at low traffic periods deep in the night.
I practice step aerobic. During all the years, that I’m attending the advanced class now, I’ve always been the only man in the group between 10-20 women.
I am a trained wellness masseur. To compensate my daily work with machines, I looked for something interesting closer to people. So I attended a training for wellness massage two years ago. I practice it only on a private basis, but pretty regularly.
We want to sincerely thank Niels Braczek for taking some time out his busy schedule to answer our questions:)
Now thinking of Joomla migration? Try out this chance for free!😉