Friday, December 12, 2014

Bitnami Open Source Leaders Interview Series: Isidro Baquero from Joomla!

Joomla! is one of the most popular content management systems, and is used all around the world for many types of websites. Behind the success of this application comes the support of a very large and energetic open source community. Whether you are a novice or a pro, you will find that there is no shortage of plugins and support to help you along the way.

As part of our Open Source Leader podcast series, we interviewed Isidro Baquero, member of the Joomla! community leadership team, to see how Joomla! can help you manage your website.

The questions below are answered throughout the interview:
  • How does Joomla! differ from other CMS applications?
  • When should you upgrade, and how? 
  • What does the future hold for Joomla!? 
  • How does one join the Joomla! community, and what skills are needed?
After learning more about the project, you can launch Joomla! to the cloud or deploy it locally with free installers, virtual machines and cloud templates from Bitnami. Get started in the cloud for free with a $200 credit from Microsoft Azure.







Stuart Langridge:       These are the Bitnami Open Source Leaders interviews. I’m Stuart Langridge, and I’m talking to Isidro Baquero, who is from the community leadership team of the Joomla Project.

Isidro Baquero:          Hi Stewart, nice to be here.

Stuart Langridge:       Please tell us a bit about what Joomla is.

Isidro Baquero:          Joomla is an open source project and started out as only a CMS (content management system), but it has grown with time. A couple of years ago, the framework in which the CMS was based got decoupled from the CMA. Now we have two different projects, the CMS and the standalone PHP framework, which can be used to develop any kind of web application. It integrates with Composer, so it can integrate within any other external scripts. 

                                    Like any other modern PHP framework, Joomla is known for the content management system. Although, I always like saying that Joomla is not a CMS, but an open source project. Without its community, Joomla would be nothing because it’s 100 percent community-driven and there is no corporate backing for the project.

Stuart Langridge:       Who is currently using Joomla? Obviously you’ve got a lot of people out there using it, but what types of organizations tend to use Joomla? Are there particular areas where you’d like to see Joomla used more?

Isidro Baquero:          Joomla is suitable for any kind of web application. We’ve seen everything from domestic applications, personal applications, small communities, and even big corporations. For example, Peugeot, the French carmaker has its main site built with Joomla.  We’ve also seen General Electric, for example, having some of their sites built with Joomla.


                                    Also, governments from all around the world are using Joomla for their official sites. For example, the president of Argentina is using Joomla as well as Spain, United Kindgom, Australian Supreme Court, etc. We’ve detected that for government sites of any kind, Joomla seems to fit very well, especially for town halls and local governments.

                                    Joomla is suitable for any kind of website because it is easy to use, powerful, and flexible. If you need more power, you can just add components and that’s it. The architecture is modular, so it works equally well with only one feature/main functionality or with ten to twenty.

                                    You can have an online shop, blog, news portal, event site, and business directory all in the same place without hacking the core by just adding modules/components.  

Stuart Langridge:       Joomla is obviously set up so you can manage a huge website with lots of content authors and editors. If I were to own a small website with two or three pages; one, maybe two editors, is it worth using Joomla for that?

                                    Should I only be looking at using a full on CMS for large sites? Is there is a certain size in which Joomla is just too much effort, or do you think Joomla scales all the way down to the smallest of sites?

Isidro Baquero:          I’d say that it depends on a couple of factors, which is your budget and specific needs. Joomla can work very well for small sites, and actually the biggest majority of sites built with Joomla are small to mid-sized.

                                    For example, I had a client that had a pure HTML site, and she just did small content edits in the last three to four years. For that, you won’t need Joomla because Joomla will require a database, which means the hosting needs are bigger than a pure HTML site. Unless you have a case like the one above that has very few content additions or very little modifications to the site, Joomla is for you. Joomla is perfect because it is based on the MVC model. It has the layout from the real data, so it’s very easy to change the aspect of your site without copying the data and allows you to update your content very easily.

                                    If its for the kind of sites you’ve mentioned before, a small corporate website or a personal website, Joomla fits very well.

Stuart Langridge:       If I am looking for a CMS that has a large community and is open sourced, my search will probably find Joomla, Drupal, and WordPress. Are there particular areas where you would say Joomla is stronger than alternatives?

                                    Are there particular areas where you’d say that WordPress is better at this, or Drupal is better at that? Are there particular types of sites or particular ways of setting up your organization in which Joomla is a better match for?

Isidro Baquero:          I wouldn’t say that Joomla is perfect for everything because it’s not true, not every technology is perfect for everything. You are asking me from the end user’s point of view, so we shouldn’t mind which technology you’re going to use as long the people who are going to implement it for you know what they’re doing. 

                                    Joomla, WordPress, and Drupal, are all open source. They provide awesome features and options for the end user.

                                    With that being said, Joomla has some advantages. For example, it is very easy to extend it without remaking the whole site. With WordPress, it’s very easy to build a site for a specific need. However, once you have built the site it can be tricky to change to another maintainer and implement changes because you have to break the execution cycle, and input within your functionality.

                                    The same works in a different way for Drupal. You build everything from small pieces so it has incredible flexibility and the power to build anything. On the same side, it’s very specific to the initial needs. If you have to change something, you make break something in the process.

                                    This doesn’t happen with Joomla because it’s based on the MVC, and its architecture allows it to change functionalities as new models without breaking the rest. It’s like there is a main trunk in the middle, which has all the core functionalities like ACL, security, libraries, etc. The end functionality, for example, a forum or shop, are tied to this trunk. If you want to change to a different solution, you can just replace one with another easily.

                                    From that point of view, Joomla is more maintainable. Also, Joomla is very suitable for people who are learning web programming because everything is well-structured and easy to find. WordPress and Drupal are a bit more handcrafted web solutions.

                                    A good professional can build great stuff with WordPress and Drupal, but it will be based on their own solutions and standards.  In Joomla, you must follow certain standards, which are – I’ll repeat the word again, standard, and that’s a clear advantage, I think.

Stuart Langridge:       You mentioned web standards, how does Joomla work with modern browsers? If I’ve put together a site managed by the Joomla CMS, will it work really well on my mobile and on the latest version of Chrome? How much work do I have to do as a content editor/CMS manager to make that happen? How much focus is there from Joomla on supporting both older stuff and taking advantage of newer things?

Isidro Baquero:          Joomla is very focused on following web standards. Both technical web standards and accessibility are very important to us. The core of Joomla, when it’s released for the first time, usually follows all the current standards. The output of the core components and extensions in general, should follow all the standards. With Joomla, you also have the NVC architecture, which allows you to always change or adapt your template to cope with these standards.

                                    If you’re an absolutely non-technical end user, you will be able to find templates that fit your needs. Right now, Joomla incorporates Bootstrap as its main templating framework, which means it’s responsive by design, not only in the front end but also on the backend administration side. I would also like to add that it was the first big CMS to have this feature.

                                    You can find solutions for everything, but Joomla is really trying to follow all the web standards. With this, we have some advantage compared to others because Joomla is not corporate-backed. It needs the contributions of volunteers, which means that people will usually develop what they would like to develop.

                                    In case it wasn’t clear, we are probably more open to innovation than others because we need the volunteers to maintain the project’s progress. If someone wants to develop something, which is cutting edge and very new, we will probably add it. Since Joomla was founded, we’ve incorporated new stuff to the stable core area.

Stuart Langridge:       Excellent. Let’s talk about the technology a little bit. If I’m building a Joomla website and I’m deploying it to the cloud, how well does Joomla work with that?  I know you’ve been working with Bitnami to do cloud deployment, so how does that work for you?  What work have you done inside Joomla to make it better in the cloud and able to scale out if needed?

Isidro Baquero:          When talking about scaling, Joomla is based on a relational database system like MySQL. It will also work on PostgreSQL and Microsoft servers. It has different drivers for different database engines, but they are all relational, which is an issue for scaling.  If you want something, which is truly scaleable because you need insane amounts of data and processing, you shouldn’t rely a relational database. 

                                    I’m talking about now, of course, because the web is moving fast, and some groups are already researching how to make Joomla work on non-relational databases. Since it is based on MySQL, you can scale it by caching. Joomla really improves a lot with caching because it has a built-in caching system, which works well on different levels. You can also incorporate APC or Memcached. You can cache the output, the individual output of the different modules and components, and also use a page cache. 

                                    If you need something even bigger, you can go to solutions like Sphinx or Solr, which have better performance. The fact that Joomla is built on a relational database is the main issue for scaling. Beyond that, Joomla works as well as any others with the same technology.

Stuart Langridge:       If I’m looking to get up and running with Joomla, do I just download an executable from your website, or are you expecting that people will be using a version built into the Linux system they’re running? Are there images that you can deploy directly to EC2 if you want, and how does that work?

Isidro Baquero:          You have a lot of options actually. From Bitnami, for example, if you want just to test it, you can download an image for any platform and deploy it in your system for testing. On the Joomla site, you also have different options. For example, Joomla offers an online demo, which can be done by clicking the big demo button on the main Joomla site.

                                    We recently changed the length of our demo, which used to be a 30 day trial. Now it’s been extended to three months. You can test the real Joomla for 90 days. From there, you can stay on the hosting provider that is providing us with this service, or you can easily export the site and move it to any hosting provider of your choice. You can also use one-click installers, which many hosting providers offer, like Softaculous for example.

                                    Please note that you should be careful when doing this because some of those auto installers are not always up-to-date. I know that Softaculous is up-to-date, but I’m not sure about others like Fantastico. If you’re going to use one of those, you should check before. The main way to install Joomla is by downloading the installable, uploading it to your site, and then launching the online installer, which is self-explanatory.

                                    It’s multilingual, meaning that it will detect your browser language. Joomla is translated in more than 60 languages, and it will start in your language from the very first screen of the installer. In less than a minute, if you have the database created and all the access, you will have Joomla installed in any hosting provider.

                                    In a matter of one to five minutes, you can have your site installed and ready to start publishing. In the last couple of years, we have put a lot of work into this. If people have not tried Joomla for a while, they will be really surprised to see how much it has improved.  

Stuart Langridge:       You mentioned that it’s important to make sure that you’re using an up-to-date version of Joomla, there are two versions available for download: 3.3 and 2.5. So first of all, why? But secondly, what isJoomla’s release strategy and the release cadence? 

                                    How often do you put out new versions? And when a new version comes along, how do I upgrade? Is there a convenient button on the Joomla interface, or do I download a new installer and use that to upgrade?

Isidro Baquero:          Let me explain a little bit about the history because otherwise it’s hard to understand these versioning numbers. Joomla started with a “ It’s ready when it’s ready” development cycle. There were no dates for the releases, but just a future base. That was the strategy with 1.0, and it continued with 1.5 in a series.

                                    After that, it seemed that the strategy made the project stall. It didn’t attract developers to the project because it could take months or even years to have a new version with new technologies, so it changed with versions 1.6 and 1.7. It would take a long time to explain why it jumped from 1.0 to 1.5,1.6, 1.7, and then to 2.5.

                                    2.5, as you mentioned, is one of the stable releases right now. It was tagged as a long time support release with two years support from the project. We are getting close to that, and it will reach its end of life by the end of this year. By the end of this year, we will only have one stable release at last. We have changed to semantic versioning, so no more strange explanations about the strategy or the versioning. There will be only one version, which is supported for at least two years since it’s released. 

                                    If we focus on the current versions, 2.5 is very stable - it’s been there for more than two years now. It has lots of extensions, tutorials, and resources available. However, it’s a bit old from a technology point of view. 3.3 is also stable right now, and it’s been under development for more than a year and a half. 

                                    3.0 came out in early 2013, and it’s quite modern. It incorporates Bootstrap, as I’ve mentioned. It has a lot of code updates since the previous version and the technical requirements are higher, which is good for security. For example, the minimum PHP version requirement is 5.3.10, which is the highest requirement of its competitor, so to speak, or its alternative. I prefer alternative then competitor when talking about open source. 

                                    If people want to have a better idea of the release cycle and the development strategy, I would recommend browsing through http://developer.joomla.org/CMS/roadmap because it’s absolutely clear there.  It’s very well explained, and you will have a good idea of what’s coming up in the next versions.  

                                    The production leadership team, which is part of the core that focuses on development, has created a roadmap to let people know what they can expect for the next month and allows people to get involved on development.

Stuart Langridge:       If I were to come along and use Joomla today, I should use 3.3?

Isidro Baquero:          Yes, that’s what they recommend for sure.

Stuart Langridge:       But should I then stay on 3.3 for the next two years or would you expect that everyone should upgrade whenever a new version comes out?

Isidro Baquero:          Since Joomla 2.5, upgrading can be done with just one click. Once a new version comes out, you have a one-click upgrade for the core. With the CMS, only 50 percent comes from the core and the other part of the power comes from the great amount of extensions that you have available from third party developers. 

                                    Most of the important and active extension developers have adapted their release cycle and development strategy to Joomla’s, meaning that they would be ready with a one-click upgrade when comes to it. We say that version 3.3 is the staple, and once 3.4 comes out, if everything goes as it should, it will be just a one-click upgrade.
      
                                    Although, we do have a compromise in the development strategy that backwards compatibility will be maintained, so any change that will break backwards compatibility will have to go in the next big release, 4.0. The releases that change the second number, which are newer versions from 3.3 to 3.4, or 3.4 to 3.5, will have backwards capability.
                                   
                                    It may require some small tweaks of the template, when you change from 3.x to 4.x. Also, if people who were using 1.5 try to migrate to any of the higher versions, 2.5 or 3.3, it would be a real pain. However, that is not the case anymore. We’ve worked on that issue a lot, and upgrading Joomla is now very easy.

Stuart Langridge:       You mentioned extensions, and that Joomla has a huge library of extensions written by lots of different people. Would you expect that most of people who are using Joomla for a site would probably want to look at the extensions, or do most people not need an extension?

Isidro Baquero:          I would say that the most people would need extensions. Usually, you take what Joomla offers as a platform and adapt it to your needs by installing about five to ten extensions of different sizes. It’s not a good idea to create a Frankenstein by adding hundreds of extensions because that will kill performance and probably even the functionality of the site, but a few extensions are fine. 

                                    Also, this has become really easy in the last year and a half because the official Joomla extensions directory was added to the backend administration side of Joomla. Now, you can browse the extensions directory directly from your backend and install them with one click, which is also made compatible with the system. For example, Kunena, the main form system available for Joomla, can be installed in a matter of 30 seconds.

                                    From a security point of view, we incorporated the upgrade warnings in the backend. When an extension has an upgrade available, you will see a notification message in your backend telling you that there is something new to install, and with one click, you’ll get an upgraded. It’s very easy to add new functionalities and keep Joomla up-to-date nowadays.

Stuart Langridge:       If I’m customizing my Joomla site, could I write an extension that does what I want it to do and then if it’s useful to other people, can I put it into the Joomla directory?

Isidro Baquero:          If you want to do something for yourself or you believe that none of the available options are the ones that you need, you can of course develop and share it.  There’s only one big requirement to get listed on the extension directory, which is that your PHP Code must be GPL. That’s mandatory. 

                                    If your code is not GPL compliant, you won’t be listed there. You can develop under other licenses, but you won’t get the privilege to be listed on the directory because we want to promote open source. When it comes to third party extensions, GPL is the best way to do it. In some aspects by doing this, we support developers who take the risk to do open source for a living. Besides that, there are some minimal standards that must be met to be listed there.

                                    We also have a list called the vulnerable extensions list, which scans the web for reports on vulnerabilities on the extensions. If one is detected, the extension is listed there until the developer provides a solution for it. By doing this, you can be up-to-date on which extensions are safe or not. You can get a warning about that from the official project.

                                    Also those extensions, which are already listed in that list, will be in the extensions directory. It’s important to acknowledge that we don’t perform a complete scan of each extension list because it’s impossible to do that for more than 8,000 extensions, and all of their upgrades.

                                    With that being said, we have some security measures in place that ensure that any extension listed there is safe. If you download extensions listed there, you can be reasonably happy or not worried about what you’re installing.

Stuart Langridge:       Let’s talk about the Joomla community. I was quite surprised to discover 176 Joomla user groups around the world. How is the community structured? What’s most interesting to you about it, and what’s going on? If I’m using Joomla, should I participate in the community, or is it for people who are only working on Joomla, itself?

Isidro Baquero:          No, if you want to use Joomla you should definitely participate in the community because it’s one of its main assets. I mentioned it before, but Joomla is 100 percent community driven, no corporate backing. For example in Drupal we have Acquia, and in WordPress we have Automattic. Those are great models and I’m not criticizing that, but instead just stating facts. 

                                    But in Joomla, if you don’t participate in the community, you are missing a big part of what Joomla offers because we have the official forums, where you can get top-level support for Joomla issues from professionals and extension/template developers. Also, we recently created a channel at Stacks Change specifically for Joomla, so you can get support there. In terms of social media, we have a very active and fun page on Facebook and Google Plus, where you can stay updated as well.

                                    You can get a lot from the Joomla community, but definitely in-person events are a level higher than the online interactions. We have two main events every year, the word conference and another in Central Europe. At these events there are many workshops for contributing everything from documentation, translations, to bug fixes. We also have the Joomla Days, which are usually local. They range from monthly or bimonthly meetings, where they have some presentations, case studies, etc. about Joomla.

                                    Joomla has a channel on http://lanyrd.com/, so you can see when Joomla events are happening on there. We also have a site called http://events.joomla.org/, where you can see if an event is happening close to you.  

                                    As said before, the Joomla community is vibrant and very active. I’ve been able to participate in some WordPress community events here in my city. They have a great community as well, but I had the impression that in WordPress, there are a lot of people focused on business side of the project. In Joomla, at these events, you will find a lot of people willing to share, collaborate, learn, and teach. If you can attend to one of these events, I would definitely recommend it.

Stuart Langridge:       Where is Joomla going next?  What are your plans for the next six months, for the next year, or the next five years?

Isidro Baquero:          There are big plans for the future. The project was stalled about three or four years ago. Since then, it has gained momentum year-after-year. Right now, I can say we are at the best moment of the project by looking at the numbers. Last year, we had the most Joomla-based unofficial events ever and the download count has increased by a lot.

                                    We are seeing a renewed interest on Joomla once again. We’ve reached 150,000 fans on the Facebook fan page. Beyond the community side of things, there are big plans, as I mentioned. For example, there is a new service, which is http://www.joomla.org/ that is similar to WordPress. It hosts Joomla installations for anyone who wants to have it and test it, without dealing with a regular hosting provider. Of course, with this option you will have the domain of the provider on it, so will be an example.joomla.com site. 

                                    From a code point of view, I mentioned the roadmap before, http://developer.joomla.org/, where you can see the plans up to December 2015, version 3.11. Also, there is already an ongoing project called Ecruise, where people are starting to talk about the next Joomla.

                                    Everything is on http://developer.joomla.org/ such as non-relational data support, internet of things, web services, etc. We have new teams, forums, and new official teams are that all made up of our volunteers of course. Also, we now have an official marketing team, so we are increasing our image and our awareness everywhere. 

                                    The Joomla project is stronger than ever, and it’s really good to see that because I was here 3-4 years ago when it wasn’t as popular. We now have a modern CMS and a framework, which we have big plans for. From the PHP framework, you can build almost any kind of web application with the Joomla framework. It will be like Symphony, for example, but probably not as good at the moment. Our intention is to make it a very good framework.

                                    The future is in our hands right now, and this more true for Joomla than for other project of the same type because Joomla will go anywhere that its volunteers want it to go. With that being said, you are welcome to join and add your knowledge, or get something implemented, there is space for any kind of skills. If you are focused on marketing, design, or on development, there is something you can do, and you can contribute. Just join the community and find your place.

Stuart Langridge:       That’s a perfect note on which to end, I think. If people want to find out more about this, join the community, or get Joomla and start using it, where should they go?

Isidro Baquero:          I would tell them to start at www.joomla.org, and just browse around there because almost everything is there. You can find links to all the parts of the community, and can have instant interactions by joining any of the official social profiles. As I mentioned we have profiles on Twitter, Facebook Google Plus, LinkedIn, Pinterest, and YouTube even. 

                                    Of course in the official forum, you can get support, but also advice on anything Joomla related.

Stuart Langridge:       Excellent.  So thank you very much for talking to us, Isidro Baquero from Joomla.

Isidro Baquero:          Thank you very much Stewart, it was a great pleasure.