As I mentioned two weeks ago I became a kind of “partner happiness volunteer” in the Joomla project (CloudFest: Become a Partner for the Joomla Project and I’ll make you happy). My first task was to find partners for Joomla at this very unique conference in an amusement park in Germany. The conference itself has a long history as an the event for “the hosting industry” which basically consists of everything that is related to data centres, storage, servers, operating systems, cables and all the software that is needed to run it in a proper way. In the past this industry earned, let’s be honest, a shitload of money. Nowadays they earn only a lot money. With the invention of “cloud computing” companies like Amazon Web Services, Microsoft Azure and Google Cloud got a huge piece of the “hosting business cake”. I assume the growing cloud business was also the reason to change the name of the conference from World Hosting Days to CloudFest.
Next week I’m going to CloudFest. CloudFest itself is not easy to describe. It is an event and the successor of the World Hosting Days. Thus a large part of the world’s hosting industry will be “there”. The first time I was there in 2016. I’m writing a weekly blog post for NovaTrend, a hosting company from Zurich, Switzerland and I thought, it’s a good idea to visit the event to get a better idea what this industry is about. And it was a good idea! It was simply amazing, I met many people, learned a lot and to my surprise, I found a booth from CMS Garden and met friends from open source communities like Joomla, Drupal, WordPress, Contao and other systems. CloudFest takes place in Europa Park, Rust, Germany so everything looks a bit strange to me. I’m not used to roller coasters and conference facilities looking like Disneyland but hey – it’s nice :)
In November last year, while attending the Joomla World Conference in Rome, Italy, Soren was looking for someone who is willing and able to make Joomla Partners happy. We discussed the topic at length and after the conference I became a member of the new founded Partnership Success Team. The basic idea of the team is to make partners happy. The Joomla project always needs money, so we offer something in the sense of
”Hey, Joomla can maximize your ROI. We have lots of options … let’s talk :)”
Now I come into the game. I am German, I speak German and CloudFest is located in Germany. Remember, my role is to make partners happy. So I will be at the Joomla booth from Tuesday evening until Friday. Lucky me -CloudFest runs a Facebook page for its attendees. I participated in a competition with this post and … won a VIP-Package … woohoo!
So, have a look at the Joomla booth (will update where it is located) and see you soon :)
Creating content is hard! Every piece of content is a story. And a story can be good or not that good and thus attracting visitors or bore them. Thousands of books on the subject of writing stories have been published, a lot of people have taught the lore. I have a relatively easy task to cover just the technical part :)
What is an article in Joomla?
Technically, an article consists of
a title (headline) and an alias (in the url)
the text (a mixture of text, images, and other media)
a category where the article belongs to
additional tags to describe the article
an author and an alias for the author
a language the article is written in
meta data for search engines and other robots
and a lot of options how, where, to whom and when the article is displayed. You already wrote an article in the last chapter and this was not complicated. Just a title is necessary, all the other fields have a default value or are optional. Let’s go through this list :)
It’s a little, but an important part.
It needs to be crisp and short to attracts readers and it’s handy for you because the title appear in lists of articles on the website and as lists of articles in the control panel.
the title appears as the page title on top of your browser window and it can contain the site name too. You can configure this behaviour in System → Global Configuration → Site → SEO settings → Include Site Name in Page Titles
it can appear in the URL of that page and it’s up to you how to setup the URL System → Global configuration → Site → SEO settings.
In Joomla, the text of your article contains a part that is displayed in lists (teaser) and the rest of the article. This rest can be structured by page breaks, so that a long text results in 10 pages each with a table of content. But step by step :). When you create an article you will do this with the help of an editor. Joomla uses a rich text editor (TinyMCE). That means, it is not necessary for you as the author to learn HTML tags. The editor looks like a text processor window on your PC (e.g. Word, LibreOffice) and it is easy to understand the icons (Figure 1).
If you hover over an icon with your mouse, there appears a tooltip with the description of the function the editor performs when the icon is clicked on
It is possible to install different editors, for example the Joomla Content Editor and it is also possible not to use any editor. Joomla itself comes with two editors and you can configure the default editor in System → Global Configuration → Site → Default Editor.
The default settings allow your users to choose between the available editors by themselves in their user account. You can disable this feature in Users → Manage → Options → Frontend User Parameters.
Paste from Word
The worst case of editing happens, when people paste from programs like Microsoft Word. Even if the situation gets better there is still NO REAL WAY to get the same formats on a website that is based on HTML by pasting from a text processor like Microsoft Word that is based on binary formats or “complicated” XML. The editor offers a “Clean up messy code” icon but it will not clean up logical errors or differences in the markup. Please keep that in mind when you talk to your users :)
In the third row of the editor window you’ll find a button called images. It offers a dialog to choose existing images from your inbuild Joomla image library and it allows you to add images to this library by uploading them.
You can manage your library under Content → Media
You can drag images in the content window of the editor.
Joomla! will NOT resize your images, so be careful with big photos! The best solution: your images have exactly the size in pixel you want to have them on your site. There are several extensions available for solving the resize issue and the Twitter Bootstrap framework that is used in Joomla 3.x, is helpful for responsive images.
After you have inserted an image from the library, you can configure (add attributes to) that image by clicking the image icon on top of the rich text editor (Figure 2).
References to other articles
The button Article in the third row of the editor window allows to link from an article to another article which is quite useful. This feature requires the Editor group permission.
Articles will appear in lists and on an article details page. On lists, the text should be limited to avoid confusion. With the help of the Read More button you limit the article text. Set the cursor in your text where the Read More break should appear and click the Read More button (Figure 3).
Embed a YouTube video
This is not only about YouTube videos but it is a good example for text filters. If you try to embed a YouTube video with the typical code
you notice that it is filtered by the editor and by Joomla. This is not a bug! It’s a feature :)
For security reasons
Joomla uses so-called text filters (System → Global Configuration → Text Filters) to filter the following tags: ‘applet’, ‘body’, ‘bgsound’, ‘base’, ‘basefont’, ’embed’, ‘frame’, ‘frameset’, ‘head’, ‘html’, ‘id’, ‘iframe’, ‘ilayer’, ‘layer’, ‘link’, ‘meta’, ‘name’, ‘object’, ‘script’, ‘style’, ‘title’, ‘xml’.
Unfortunately, we need to insert an <iframe> tag to embed videos from YouTube (and several other services).
So, how can the problem be solved?
One solution could be to trust your authors and create a White List (System → Global Configuration → Text Filters) for the authors, editors and publishers group (Figure 4) and then tell TinyMCE the <iframe> is not evil anymore (Extensions → Plug-in Manager → Editor-TinyMCE → Edit → Plugin → Prohibited Elements) by deleting the word iframe in the prohibited elements field.
After you have changed these filter mechanisms, it is possible to copy and paste the embed code into your article. Keep in mind that you need to switch the editor to the HTML view by clicking the HTML source code icon (<>). Afterwards, a popup window with the HTML code of the article appears. Now paste the embed code where the video should appear (Figure 5).
Click the Ok button and you already can see the video inside the editor window. After saving the article the video will appear on your website (Figure 6).
Now you can embed code from several platforms like Twitter, Facebook, Instagram and Flickr.
Using macros in a text
It is possible to use so called macros in your text. A macro is an expression or command that is replaced with something different (e.g the embed code of your YouTube video). Theoretically, we could write in our article text (not in the HTML) something like this
The only problem is that this transformation is not a part of the Joomla core package. If you want to use macros, you need to install additional extensions, mostly so called plug ins.
Content in a module?
When we created an article, we used the content component of Joomla. Another possibility to create content can be a module. A module is a content element that can be positioned on your website. A menu, for example, needs a module to be displayed. The Login box is also a module. You can create as many modules with predefined functions as you need and position them in the predefined area in the template. Joomla comes with 24 pre-installed modules. You can see them with descriptions under Extensions → Modules → New (Figure 7).
It is possible to create a module that contains HTML text like an article (Custom module). And it is also possible to upload e.g. a background image for each module and to publish the module time based. It is not intended that custom HTML content in modules is created by “normal” authors. Content creation in modules is more a “Manager” or “Administrator” task. Try out the Custom HTML module. Create one, add some content and choose a position (Figure 8).
You can use the rich text editor and all the features that are available to write, format and enhance article text. You can even configure on which page the module should appear (tab Menu Assignment) and when it should appear (time based publishing). After saving, your custom HTML module appears on your site (Figure 9).
Figure 9: Custom HTML module on website
If more than one module is located at the same position it is necessary to bring them into the desired order. You have to choose a filter and click the filter icons once. After that, just drag the modules in the module manager to the desired place (Figure 10).
I know, we still have no content on our site but before we create it, let’s have a look on the user accounts of our new Joomla website. When you installed Joomla, you created the Super Administrator account. This user is allowed to do anything. It is nice to be that user but it is dangerous too. You will probably have more than one user account on your website, e.g. authors who write articles.
To get more used to these topics, let’s build a platform for authors where they can post articles and upload images without the need to enter Joomla’s control panel. Follow the example and you’ll learn a lot about Joomla :)
About users, roles and permissions
Users are in general able to login on the frontend and/or the control panel just depending on their role permissions. A user account has to be a member of a user group. Instead of assigning access permissions to each user, they are assigned to a group. The individual user is then assigned to one or more groups. Imagine you have 10,000 users in four different groups. It’s very easy for the administrator to change the permissions for each of the groups. Without groups, you would have to change every user account manually. However, when using groups, you only have to change permissions once!
Joomla comes with predefined groups like author and publisher which are easy to understand. An author is able to create/write something, a publisher has the additional permission to publish content.
The predefined frontend user groups are: visitors, registered users, authors, editors, publishers.
The predefined control panel user groups are: manager, administrator, super administrator
Example: A website where authors can post articles
This is a very simple workflow but it covers some possibilities that exist in Joomla. I assume that you have a “naked” Joomla without sample data and you have a super administrator user account.
The desirable scenario
Admin user in control panel: – activates the admin notification when someone creates a new user account – creates a user menu for registered users with a link to create an article
Visitor on website: – registers as a new user
Admin user in control panel: – receives a notification and assigns the user to the authors group
Author user on website: – is able to create an article but is not allowed to publish it
Admin user in control panel: - receives a notification that there is new content available – publishes the article on the frontpage
Parameter and user menu
We have to set a few switches in the user options. Go to Users → Manage → Options and activate Allow User Registration and Notification Mail to Administrators(Figure 1).
Then we need a menu for logged in Users. Go to Menus → Manage → Create new menu and create one:
Menu Type: user
Description: A menu for a user with useful links
Save and close it. You have now created a kind of menu container. What’s missing is the links inside the menu container and a linked module that displays the new menu at a certain position in the template. To create and link the module, click on the link Add a module for this menu type (Figure 2).
In the module form you have to add a title (User Menu), the position (Right – Position-7 in the Protostar template), the access permission (registered users). Don’t forget to save & close it (Figure 3).
Now we need the “Create article” link in our menu that should be shown to authors. Go to Menus → User → Add New Menu Item (Figure 4).
In the following form you have to enter the name/description of the link (Menu Item Title), select a Menu Item Type(Figure 5) and restrict the access to registered. Each Joomla component can provide Menu Item Types. Our type (create article) is provided by the content component which is a part of Joomla core.
After you saved and closed the dialog a new menu item should be displayed in the list (Figure 6).
Test your work! Login on the frontend with your super administrator account. After the login, our new user menu with the create link appears (Figure 7).
Please log out after the test.
Registration as a new user
Now we create a new user account. Please access the website as any other visitor and click the Create an account link. Fill out the form and click the Register button (Figure 8).
If your server stack allows sending emails, a notification email will be send to the email address of the super administrator account.
Joomla offers a CAPTCHA to prevent spammers. To use it, activate the CAPTCHA plugin under Extensions → Plugins and select it in the options of the User Manager where you can configure the general behaviour of the login process too.
Assignment of the new user to the authors group
Log in with your Administrator account on the control panel, access Users → Users and click on the name of the new user (Hagen Graf). Check the Author group in the Assigned User Groups tab (Figure 9).
Depending on your environment it might be necessary to enable and activate the new user account. Just click on the red icons to do so (Figure 10).
Now we have a new author on our website.
The new author creates an article
Now switch your identity to the one of the new author, log in with your new user account on the website and click the create article link. Just add a title and a few words and click save (Figure 11).
The article is saved and submitted but the user (you) cannot see it, because it is not published. I configured this workflow intentionally as in some cases it is desired to have another person to edit the created content and then publish it.
Of course, it is also possible to skip that, add the user to the group Publisher and then the article would be published immediately.
The admin publishes the article on the frontpage
Joomla comes with a messaging system and this system creates a message when new content was created by a user. Depending on your settings (Components → Messaging → Options) the admin receives that message by email or via the screen. The admin has to go to Content → Article Manager and publish the new article. If the article should appear on the frontpage, click on the featured icon (Figure 12, Figure 13).
Tweaking the process
As we already noticed while following this example, many topics are covered and the configuration is easily done depending on your needs. There is a huge amount of permissions, options and settings to discover. I’ll provide a few examples in the following chapters.
The template is one of the most important pieces of a website. It provides the appearance, the design. The combination with relevant content motivates new visitors to stay on your site and explore. Regular visitors and users appreciate being on a site with a beautiful and useful design. Think of other products, for instance. A car needs a good engine and tires but one of the most important reasons for buying one is often the design.
Even if the design is not the main reason, it is often a trigger to contemplate the idea of purchasing and may cause a buyer to consider more tangible reasons. If the design is well-made, people expect the rest to be well-made, too (Figure 1, Figure 2)!
Both of these cars are made for different target groups and they come of course from different car makers in different countries. They are just an an example of different approaches in design.
A few definitions related to the design of your website
I just want to clarify a few terms to sensitize your thinking.
What is design?
The noun design stands for a plan or drawing which shows the function and the lookout of an object, to accomplish particular goals in a particular environment and to satisfy a set of requirements.
The verb “to design”stands for creating a design, in an environment (where the designer operates).
The term design can be used in
art (“almost instinctive”, “built-in”, “natural”, and part of “our sense of ‘rightness’),
engineering (product design of a new car)
production (planning and executing)
processes (business process modeling)
What is color?
Color is the visual perceptual property corresponding in humans to the categories called red, green, blue, and others. Individual colors have a variety of cultural associations such as national colors. There is great diversity in the use of colors and their associations between cultures and even within the same culture in different time periods. HTML colors and CSS colors can have 16 million different values. The combination of Red, Green, and Blue values from 0 to 255, gives more than 16 million different colors (256 x 256 x 256).
BLACK = color HEX #000000 = color RGB rgb(0,0,0)
Several online tools like the one in (Figure 3) can help you to find the right colors for your website project .
Figure 3: Popular Color Combinations – http://www.colorcombos.com/popular-color-combinations
What is page layout?
Page layout is the part of “graphic” design that deals in the arrangement and style treatment of elements (content) on a page.
To speak in Joomla terms, it is the arrangement of Joomla modules and the components on predefined templates positions.
A template involves repeated elements visible to the visitors. Using a template to lay out elements usually involves less graphic design skill than that which was required to design the template. Templates are used for minimal modification of background elements and frequent modification (or swapping) of foreground content. Joomla! come with two site- and two administrator templates.
User Interface Design (UI) / User Experience Design (UX)
“User interface design (UI) or user interface engineering is the design of user interfaces for machines and software, such as computers, home appliances, mobile devices, and other electronic devices, with the focus on maximizing the user experience.” https://en.wikipedia.org/wiki/User_interface_design
The connection between both types of design is fluent. A simple but quite good explanation is based on Ketchup bottles. The UI part focusses on the interface of the bottle, the UX part of the experience in the moment of engagement (Figure 4).
Joomla! is only one more tool in the toolbox of a web designer.
A good Joomla template is not only about colors and graphics. The shape and positioning of the content is just as important. The website has to be user-friendly and reliable. Exactly this challenge reminds me of the two cars again.
Web design is still a young profession and it is starting to become an industry.
A web designer often has to deal with low bandwidth, incompatible browsers, inexperienced content editors and other people involved in the process of creating a ‘good’ website.
The creation of a Joomla! website is often a process, in which everyone involved learns a lot.
Good web design is hard work and everyone has to start somewhere!
After having your site up in the language you prefer, most people start tweaking the colors and want to upload e.g. a new logo, even if there is no content so far. Joomla comes with preinstalled templates and so called template styles. A template style is a set of options (color, logo, layout) for a template. The configuration possibilities are depending on the template. Some template have a huge variety of settings and some are quite limited. It is possible to create as many styles as you want and assign them to different pages of your website.
In Joomla a single page is generated by the HTML output of one component, several modules and the template. Each page is accessible via a unique URL. Take the front page as an example. The content component produces the HTML output for the articles in the middle. This screenshot is based on the Joomla Beez Template (Figure 5). The blocks next to the articles are different modules. You can combine the HTML output from one component with the HTML output of any number of modules. Existing modules can also be reused on other pages.
You must know, of course, at which point you can assign modules at all. For this purpose, each template provides so-called positions. In order to see these positions you have to enable the Preview Module Positions switch (Extensions → Template → Options). After that, you can access your website by using the parameter tp=1(http://localhost/index.php?tp=1) or click the Preview link in Extensions → Templates(Figure 6).
You’ll see the emphasized module positions with their names (Figure 7).
In Extensions → Modules you can assign one of these positions to each module. If you need the module at different positions, you may also copy it.
To make things easier for you, Joomla! core comes with two site templates and two administrator templates. You can see a preview in Extensions → Templates → Tab Templates. You can filter between Site and Administrator templates by choosing the location filter (Figure 6 and Figure 8).
Styles offers the possibility to create and use different versions of one template. This is useful if you want to have different templates styles on different pages. A template has a minimum of one style. In this style, configurations can be made depending on the template, such as changing the colors or uploading the header logo. You may set the default style for your site in Extensions → Templates → Styles.
Example: An individual Style
Let’s create an individual style for our website:
Template Colour: #f88638
You can create additional styles by duplicating an existing style. For this example I duplicate the existing protostar style (Figure 9).
A new style appears, the name is protostar – Default (2). We’ll change the name in the next steps. Set it as the default style by clicking the star icon (Figure 10).
Check it and click the Edit Button. Enter the name for the style. In the Advanced tab you can choose colors, upload a logo and a few more parameters (Figure 12, Figure 13)
Each style can be assigned to a menu item (Menus asigment). If you would like a green background on your site when people click on menu item A, for example, and a blue background when they click on menu item B, you can assign the corresponding styles. In my case I have only one menu item and I already marked this style as default style, so it’s not necessary to assign it to a menu item
After saving the style, the website looks different (Figure 14) and because the Protostar template is fully responsive, the website is shown perfectly on a mobile device too (Figure 15).
Create your own template and customize it
A template in Joomla is the base of a style and consists of various files. It’s possible to edit the files of a template online.
BUT! You should NEVER change the source code of a core template. The reason is very simple. Your changed code will be overridden by the next Joomla! update!
It is possible too to copy an existing template, so let’s do that first.
Copy the Protostar template in Extensions → Templates → Protostar Details and Files by clicking the Copy Template button. Give your individual template it a name. I call mine “MyTemplate” (Figure 16).
Beside the new template Joomla creates a new template style too (have a look). It is possible now to work on the new template. You are able to create, delete and edit files (Figure 17).
It’s of course possible to edit the files in an external editor too. The site templates are located in the folder /templates. Each template has it’s own folder. There is now a mytemplate folder too. Under the /templates/systems folder you’ll find the template files to edit the Offline and the Error page templates. The admin templates are located in the folder /administrator/templates.
Overrides are a possibility to change the markup of an extension inside the template. The interesting point is, that your individual template is able to do that. Your template can even rewrite the output of third party extensions. A common use case is an alternative layout for an article in Joomla!.
In the template manager it is possible to create these overrides too.
There are by definition endless possibilities to design something creative. Joomla give you everything you need to build something amazing and hopefully you start to get more curious.
As promised last week (Iron Blogger & Joomla) I’ll start to write more about Joomla! The next articles are the chapters of the book I wrote in January 2016 for the upcoming Version 3.5.
Why should I get in contact with Joomla! and what is it all about.
Joomla! is a free system for creating websites. It is an open source project, which, like most open source projects, is constantly in motion. It has been extremely successful for ten years now and is popular with millions of users worldwide. It is easy to install, easy to manage, easy to enhance and very reliable. More and more people around the globe are able to make a living by using Joomla.
The word Joomla! is a derivative of the word Jumla from the African language Swahili and means “all together”. The project Joomla! is the result of a heated discussion between the Mambo Foundation, which was founded in August 2005, and its then-development team. Joomla! is a development of the successful system Mambo. Today Joomla! is used all over the world to power websites of all shapes and sizes. The Joomla! team has organised and reorganised itself throughout the last 10 years to better meet the user demands.
Joomla! Version Strategy
The version strategy of Joomla! changed over the years. Today Joomla! versions numbers are spared by dots: [major].[minor].[patch]. For example, Joomla! 3.5.0 has a major number of 3, a minor number of 5 and a patch number of 0.
Major release (3):
A release which increments the major number has a predictable end of life date of two years. After each minor version the two year phase starts again. A major release indicates a break in backward compatibility.
Minor release (5).
A release which increments minor number resets the two years lifetime of the major release and indicates the addition of new features or a significant change to existing features.
Patch release (0):
A release which increments the patch number has no influence on the end of life date and indicates that bugs have been fixed.
The complete changes in the Joomla! 3.x series can be seen at the projects website
The smart way of Joomla
The Joomla! Project is different from other projects like Drupal or WordPress. The Joomla! project is not backed a company. The only entity that serves the financial and legal interests of the Joomla! project is Open Source Matters, a not-for-profit organisation.
It is possible to build nearly every website you can imagine using Joomla! on your own with your own knowledge spending nothing but your time, but it’s possible too to download extensions like shopping carts to build your desired website in a much shorter time. The existence of this sustainable, flexible and very diverse network of service providers based on a free and open source foundation is unique and an opportunity to every person in the world to use Joomla! as a consumer and/or a producer.
Thousands of companies around the world are developing extensions for Joomla! which you can download in a kind of app store, the Joomla! Extensions Directory. There are free and paid extensions.
Additionally the use of the Joomla! extension directory is free of charge, so the Joomla! project is the base of a vibrant community of consumers and producers of smart software.
This mindset leads to an interesting community of people, involved in the project and who are working somehow together on the project. It is always possible to contribute to the project in the way you are able and willing to.
Websites made with Joomla
All kinds of dynamic websites can be created with Joomla. These websites consists of web pages containing content such as text, images, video and audio. The pages changes or customises themselves frequently and automatically, based on certain criteria. Take the front page as an example. Usually it displays the newest articles automatically on top. As all the sites in the world wide web are based on the same principles websites can be roughly divided in
A blog is a discussion or informational site consisting of articles (posts, blog entries). The most recent articles appears first.
This is an example from Brasil (Figure 1)
The Eiffel Tower
The Eiffel Tower is a wrought iron lattice tower on the Champ de Mars in Paris, France. It is named after the engineer Gustave Eiffel, whose company designed and built the tower. Today they are using Joomla! (Figure 2).
A brochure website include information about a company and its products and services through text, photos, animations, audio/video and interactive menus and navigation (Figure 3)
Electronic commerce sites
A site offering goods and services for online sale and enabling online transactions for such sales (Figure 4).
A website designed specifically for use as a Gallery, these may be an art gallery or photo gallery and of commercial or noncommercial nature (Figure 5).
More than 3,000 government websites around the world are built with Joomla! (Figure 6).
Similar to an information site, but dedicated to dispensing news, politics, and commentary (Figure 7).
Websites about an individual or a small group that contains information or any content that the individual wishes to include (Figure 8).
Peugeot is a French cars brand, part of PSA Peugeot Citroën … and they are using Joomla! (Figure 9).
Did you ever ask yourself for the total number of Websites? There are a lot, but nobody knows the exact answer to that question.
As you may have noticed, most of the example sites are not the big fishes in the world wide web but they fulfil the needs of their creators and their clients. This does not mean, that Joomla is only useful for smaller websites, it just means that most of the websites are made with limited resources on time and budget and for that reason people often build them with open source systems like Joomla, WordPress and Drupal. Bigger websites like Facebook, Flickr, YouTube, Google, Apple, or Microsoft are usually not using one open source content management system for their websites. These companies usually have thousands of developers that create often hundred of websites by selecting and combining all the ideas and solutions available on the market. It is usually not about the technique, it’s more about business models and ideas.
Amateurs vs. Professionals
The above listed websites are created by people that I want to divide in amateurs and professionals.
Amateurs are trying to get around. They usually do not want to know one’s stuff, they are happy if succeeded.
Professionals try to get to the ground of what they are doing to be able to provide solutions which can be optimised over time. They try to transfer knowledge to strengthen others and build their business around the topic.
For Joomla it doesn’t matter whether you are an amateur or a professional. Both can deal with Joomla and often amateurs become professionals over time and professionals start to get more involved to make Joomla CMS and Framework better and better. Time for the first and the last advice in this book!
“Ignore people talking about what you have to do. Focus on moving toward what you like to do instead.”
What are the common parts in all these websites?
Even if the listed example websites are all very different, they have a few things in common:
they are displaying content (text, images, video, audio)
they have individual designs, layouts and colours. Individual doesn’t mean perfect or tasteful or artistic. It just means “individual” :)
visitors can interact in some ways with the site. Sometimes they have to create a user account in advance
the common static words are available in different languages, sometimes the content too.
Joomla is the glue
All these websites are based on the ideas of their creators and the almost endless possibilities of the Joomla Content Management System. In this book, I want to cover the common parts of all these websites and some examples of paid and free services to enhance the Joomla core distribution. You’ll be able to create a quite nice looking website on your own after you have read the next chapters.
And it’s up to you, whether you do it in the amateur or in the professional way :)
It is simply amazing to talk to people from 5 continents over a few days. It’s even more amazing to do that in a place like Bangalore, India where the Joomla World Conference just took place (6-8 Nov 2015).
The Indian population stands for >17% of the worlds population. In Bangalore are living more people than in Denmark, about 8.4 million. Whole India is like a continent in itself, with 18 different official languages, plus English and Hindi as a kind of language glue between the regions. If you are European and you are for the first time in India (like me), think of India as Europe. Each Indian region is like a country in Europe, own language, own culture. The only difference, compared to Europe, is, that it is two times bigger in any expectation you can think of and it’s growing fast.
It’s a difference just to read these figures in a magazine or this blog post compared to drive through a city like Bangalore in an auto rickshaw, which is a luxury in itself. You can see, smell and feel the gap between richer and poorer people and the lack of infrastructure very clear. Just let me mention one example. During the last days here in Bangalore there was/is a problem with the waste management. Huge piles of waste are everywhere (Bengaluru’s mounting garbage problem a burden on the city). Beside the waste, you see plenty of dogs and cows, that are everywhere looking for something to eat, even in a traffic jam. And now add heavy rain …
Keeping up with the Joomla project
The last three years I wasn’t really involved in the Joomla project, so I needed some guidance to keep up with all the stuff happened. I found Pete Bui’s Podcast and listened to a few episodes while traveling. I learned that a lot of things changed/happened and that there is now a volunteers portal and a new extension directory and a transition team and this, and that … and the best thing, I met Pete at the conference and he’s a nice guy!
How to make a living with Joomla?
In an environment like I described above, is “making a living” out of something hard. It’s hard everywhere in the world, I know, but here and in similar places it’s “a bit” harder, compared to Europe or the US.
The whole “money thing” was and is a problem for me too and probably for anyone of you. A journey from Europe to India costs a bit more than 1 000 Euro (~ 70 000 Rupees) and you just don’t go to events like this. Thinking about earning money, I decided to make a presentation on “How to earn money with Joomla” and asked people from the community how they do earn money with Joomla. It was a pleasure to have had Fred Abu(webstar.ug), Daniel(web-eau.net), Mike Demopoulos(mvpdesign.com sorry, I missedyou :) ) and Lorenz Ramseyer(bergspitzmedia.ch) who talk a bit about their businesses. I guess it was interesting and inspiring for the attendees too.
Oh, a book on Joomla 3.5 just materialized
The feedback after the session was amazing and I got a sponsoring offer for a free downloadable book on the upcoming Joomla 3.5 from Hung Dinh (joom.vn). Hey wow, even though that was not the aim of the presentation, I am happy and I’ll write it :)
Therefore, the organisation of a Joomla World Conference in the year of Joomla’s 10. anniversary, was of course a good idea. Open Source Matters (OSM) provided budget to pay the travel costs for some attendees and for the OSM Team members (as far as I know). Many people understand the Joomla project as a kind of of social event, and it seems to work. This is more than fine and I’m very happy of being part of that too (even if I don’t like selfies :) ) For me the whole social stuff in the Joomla project is a bit new and I realized I need to learn some “new” ways of communication. From the social perspective, the Joomla World Conference was a huge success. I want to say thank you to the whole team for the perfect organisation!
Joomla the software
Without code there would be no Joomla Community and no Joomla websites at all. It seems to me, that it is now easier possible to contribute code, than it was three years before. There is also a new framework called FOF (Framework on Framework) in Joomla core. A lot of developers just gave up on the framework – platform – product discussion and wrote their own codebase, like most of the extension development companies. Some started to write even their own content management systems to keep up with what their clients wants to have, e.g Grav by Andi Miller(rockettheme.com) and Pagekit by Sascha Dube(Yootheme). Some are offering extensions like a page builder(joomshaper.com) and another page builder build the the team of joomlashine.com. I visited a few Joomla 4 discussions and I decided to document the Joomla 4 development process somehow. The whole new Joomla 4 structure is still not clear to me but sounds interesting. Marco Dings(viryagroup.com) told me, that his aim is to bring as many as possible of the new features and structures to the current and following 3.x releases to make the upgrade to Joomla 4 as easy as possible. Nevertheless, the new structure means a new “framework”. I attended a whole afternoon a discussion between Chris Davenport(davenporttechnology.com), Johan Janssens(joomlatools.com), Marco Dings, Henry Nguyen (joomlashine.com), Sander Potjer(perfectwebteam.nl), Jisse Reimtsma(yireo.com), Mark Lee(stackideas.com) and a few others (please help me with the names in a comment). Just this discussion has paid off for me to fly to India. Johan, who is usually far ahead, wants to write good and well structured software. He said something like that to the members of the Joomla 4 architecture workgroup:
You are the change managers for something that runs 3% of the internet. The bigger the changes, the higher the rejections. The new structure looks interesting but it took me 7 years to implement something similar (Joomla in a box). A possible solution could be
– do small steps in Joomla 3.6 like clean up the code, reduce the amount of frameworks in core. A new legacy mode plugin could be an idea for stuff that will not work anymore with Joomla 4
– code Joomla 4 parallel like Typo3 did with Neos. If people like it afterwards, integrate it in the next release (and call it 4)
and beside all of that … write code … it’s a software project!
This sounds quite logical to me and it makes me even more curious concerning the upcoming Joomla versions. Chris Davenport, the team lead for the Joomla 3.6 branch and Marco Dings responded to Johan, that they want to break as less as possible und put as much as possible into the upcoming 3.x versions.
The era of CMS
After 10 years with a big success for Joomla, WordPress, Drupal and all the other CMSs it becomes clear that this golden era is ending. All these systems are more or less abstraction layers on PHP that makes programming based on the PHP language easier. A Joomla developer knows the Joomla Framework, not necessarily the whole PHP stuff (same with WordPress and Drupal). We know the effect: PHP made programming easier compared to C language, C made programming easier compared to Assembler, etc. Drupal 8 is now implementing an abstraction layer on top of the Symfony Framework (which is an abstraction layer to PHP too) and it’s not clear to me whether it will work for them. Drupal coding will get much harder. They will probably get some new corporations on board but might also loose many developers. WordPress on the other side was always simple and they are constantly reducing the complexity of the core to a minimum and develop the system in small steps. WordPress is not build on Symfony, but it allows the use it. I know that Google trends is of course not the whole story and I don’t want to insist on particular figures, but when you see the reality today and what is shown in the diagram below, it becomes clear that each of these systems had it’s “CMS-Peak”. That doesn’t mean, that they are not interesting anymore, or you cannot make money with it. Just the opposite is true.
When you look at the Gartner Hype Cycle, it’s quite clear too, that the trio is at the Plateau of Productivity since a few years. The definition of that plateau is the following
Mainstream adoption starts to take off. Criteria for assessing provider viability are more clearly defined. The technology’s broad market applicability and relevance are clearly paying off.
That means that there will be disruption in the future
A potential technology breakthrough kicks things off. Early proof-of-concept stories and media interest trigger significant publicity. Often no usable products exist and commercial viability is unproven.
Time for new ideas like Grav or Pagekit. When I asked Andy Miller whether he plans to do business with Grav, he smiled and said
It wasn’t planned, but why not, people ask me to do so.
more or less the same was told to me by Sascha Dube at Joomladay Germany concerning Pagekit. Joomla project should be aware of these developments, learn from and embrace them.
The next “other” international conference (Jandbeyond)
There is another international Joomla conference called Jandbeyond. It exists much longer than the world conference and it is a must to go for Joomla developers. Next Jandbeyond will be held in Barcelona, Spain, May 20-22 2016(jandbeyond.org). Listen to the Joomlabe.at podcast with Robert Deutz, the organizer of that conference (Ep51 – Organising Joomla conferences with Robert Deutz). While writing this article, they just published their budget!
The future is hard to predict but the end of capitalism has begun and it’s time to develop new structures. This social experiment of Joomla could be part in that change over the next 10 years and I would like to be part of it.
Der diesjährige deutsche Joomladay fand in Hamburg statt. Joomla wurde im September diesen Jahres 10 Jahre alt und so war es auch eine grosse Geburtstagsfeier.
Ich habe mein letztes Joomla Buch vor 3 Jahren veröffentlicht (PDF zum kostenlosen Download: Joomla! 3 – In 10 einfachen Schritten) und war danach nicht sooo aktiv in der Joomla Community. Daher freute ich mich als Robert mich nach Hamburg einlud.
Es ist wirklich schön zu sehen, wie völlig unterschiedliche Menschen Joomla benutzen, beispielsweise:
das Pärchen, das neben Ihrer Arbeit bei der Telekom ein kleines Joomla Business für Websites betreibt
der Programmierer, der richtig tief drin ist und irgendwie alles mit Joomla geregelt bekommt (inclusive Arduino Anbindung)
die Joomla Template Firma, die mal eben das Beste aus Drupal, Joomla und WordPress zu einem eigenen CMS mit Appstore zusammenfasst (PageKit)
der Typ, der 700 000 Leute per Joomla Newsletter anschreibt
die “Pressetante”, die gern Death Metal hört
professionelle Agenturen die Wert auf ein solides, verlässliches Image legen
der Hubschrauberpilot der Joomla Websites baut
viele aufgepumpte aber eher handzahme Whiskey Trinker :)
viele andere, die sich über Core Joomla, Varnish, den Joomla Spirit, Taskrunner, Design Patterns, Joomla 4 Architektur, eCommerce, Construction Kits, Business Modelle, Github, High Performance Hosting, Linux Command Line Magic und vieles andere mehr unterhalten
… und natürlich Klaus-Dieter vom legendären Joomlaportal schlagerstadt.de (ich weiss jetzt alles über Helene Fischer, Andrea Berg und viele andere deutsche Schlagerstars, deren Namen ich mir nicht behalten konnte)
Ich fühlte mich auf Anhieb wohl und die Menschen waren freundlich zu mir
Was ist bei Joomla (in D-A-CH) in den letzten Jahren passiert?
Ausser dem eigentlichen Produkt, das nach wie vor das tut, was es verspricht (Joomla ist ein weit verbreitetes frei verfügbares Content-Management-System zur Erstellung und Verwaltung von Webseiten), nichts wirklich Wesentliches :)
Joomla wird nach wie vor totgesagt (Google Trend)
Die Projektstruktur wird umgebaut (diesmal so richtig :) )
Das Release System wird wieder von 0.5 auf 1.0 umgestellt (Danke)
Joomla an sich entwickelt sich wie ein Bergsteiger (2 Schritte vorwärts, einen zurück)
durchaus mehr junge Menschen interessieren sich für Joomla (auch weiblichen Geschlechts)
Ich fühl mich da wohl, auch wenn es mich manchmal an einen deutschen Kaninchenzüchterverein erinnert echt umhaut (Themen wie schlagerstadt :) ).
Der Verein jandbeyond, der mit zahlreichen Freiwilligen hinter der Organisation des Events steckt, ist vermutlich einer der coolsten und kreativsten Vereine Deutschlands mit flacher Entscheidungsstruktur, guten Events, heissem Equipment und vielen netten und fähigen Menschen (Neueste Idee: Eine Roadshow mit einem Joomlabus durch die D-A-C-H Länder :) )
So etwas flog übrigens auch über die Trabrennbahn …