I’ve attended the Joomla Day Malaysia 2008! I was waiting for the event for a while. Joomla has been in the scene of web based content management system (CMS) for a while. But It actually evolved, improved and transformed along the Journey. It’s core concept was originally from MAMBO Content Management System. Joomla is considered as user friendly system to make your own interactive community website in less time and with less coding.
In the Joomla Day event there was a big number of crowd but there were a lot of people who are in real life is just a business man, teacher or just a plain housewife. So there was a need to give them the concept of what is a CMS actually. The event started at 9am at citytel hotel. After the Welcome note from Azrul, The basic introduction of the Joomla CMS was Presented by Toby Patterson who is one of the very well written component developers of Joomla Community. Toby described what is actually Joomla project and some other history and roadmap of Joomla project, also he mentioned the reasons to choose Joomla.
In my own words Joomla is a platform that you can start building your web site with more features and in really less time. The point is NOT to spend time to develop the code for the web site but to start building the site because the platform is already provided. It comes with many types of components, features, API’s to keep your focus on start designing the web site. Joomla provided extensive number of user friendly features in Joomla Administration Interface and it is as simple as click, type and save. A simple user who can write an e-mail can start using Joomla system to develop their own website in no time. Joomla code structure has changed a lot from version 1.0 to version 1.5, Joomla 1.0 was classic PHP function based procedural codes which are not easy to maintain. Now Joomla 1.5 onwards the code core has been re-written into MVC (Model View Controller) architecture using PHP Object Oriented codes and optimized MySQL queries. So it’s more fast, optimistic and robust. Because of the new code models, it’s now more easy to develop custom components, plugins, modules, API-bridge between several kind of technologies and systems. Every day new components, plugins, modules is being developed to extend the functionality of the core product into a whole new level.
What was covered in this Joomla Day event
- A Brief description of Joomla Project and roadmap
- How to install and start building a website as fast as 5 minutes. Now Joomla installer is simplified into more visual presentation.
- What are the hosting requirements
- Managing the content using the Administration Interface
- How to make your Joomla website to a search engine friendly (SEF) website and necessary tools to do it (SEO Tools)
- How do you optimize your performance for your Joomla website
- How do you secure your Joomla Website and server
- Some case studies and showcase of successful Joomla implementation professionally in various industry.
- How to install, extend, expand add more features in your Joomla site using components, modules, plugins and themes.
- Introduction to Joomla Component, Modules, plugins and Templates repository and few popular modules, components and plugins.
- Advanced level of Development using Joomla framework and a bit of introduction of component and module development
- Introduction to Joomla API
- Common Issues of Joomla Development
- How to build templates for Joomla and how the template structures is being organized.
- Explanation of CSS system of Joomla
Joomla is not a bare bone framework such as Zend Framework or Symfony. Joomla has Joomla framework but there are many layers already developed on top of it to make it as a product. From that point forward you can start customizing, add 3rd party templates, plugins, components, modules to the site to fit your needs without minimal coding. For frameworks such as Zend and Symfony you need to build up functional 2nd and 3rd layer before you can actually start focus on making your site.
A simple Diagram of Joomla CMS architecture.
How do you sale a Product like Joomla when its Free?
Joomla framework and standard CMS is free of course but it doesn’t always fits with in the criteria of the customers needs. Joomla you don’t have to sale. The sale will actually comes from all the feature customization, components, custom modules, custom plugins, and custom design templates. It could be done by per feature and/or by man days required to develop the customizations and templates.
Joomla Optimization & SEO Considerations:
- Enable built in caching system in Joomla
- Disable and Uninstall any unused module, components, mambots and plugins
- Enable PHP 5 FastCGI from your CPANEL or ask your hosting provider to enable it for you.
- Make use of MEMCache
- Check for heavy queries that requires more resources
- Disable Internal statistics of Joomla and start using Google analytics
- Use & configure .htaccess re write to make your urls search engine friendly
- Use SEO Components to make your site readable, use proven components such as sh404SEF which is quite good enough to optimize your site for SEO. You can download this slide about Joomla SEO and SEF.
Joomla Security Considerations:
- Keep daily backups
- Stay update to security releases and patches
- Create new admin and remove the default admin. Use at least 8-10 mix characters for password.
- Use .htaccess to protect sensitive directories for specific admin IP’s
- Delete the Install Folder Entirely
- Block all not used ports in the server
- Use a professional level firewall for your server
Site Development Considerations:
- Always use your extensions, plugins, mambots, templates from JED (Joomla Extensions Directory)
- Check your CSS and Template compatibility with IE 6, IE 7, Firefox 2, Firefox 3, Safari and Opera and take necessary steps to make sure your site look and feel are same on all these browsers
- Do site debugging, site load test etc using Firefox FireBug Extension
- Test and Re-Test all of your custom 3rd party components, modules and plugins. Check your template codes for malicious injection codes.
- Check for conflicts in between components and dependency.
- Community Forum
- Developers Arena
- Extension Directory
- Documentation and Joomla Framework API
- Malaysian Joomla Community
- Malaysian Joomla Tutorials
- Slashes & Dots Sdn Bhd
- Mike Simbunch
- Packt Publishing, Inc
- Chicago Joomla! User Group / Coffee Group USA
- CY Lee MOSETS.com
- Toby Patterson
- DMOZ Joomla resource directory
- Joomla Day Malaysia 2008 Event Slides Downloads
- Joomla Day SEO Feature Presentation Slide Download