Chapter 2 - Tools
Welcome to Exploring Joomla! 3.x for Extension Development
Joomla! is a Content Management System that is free to download, use and extend. This part of the website is set up to help someone new to developing for Joomla to get started. In our experience, most all the information you need to know about for developing Joomla extensions exists, but seems to be a little disconnected and hard to find. We hope that over time this will become a useful resource to those who would like to create their own templates, overrides, plugins, modules and components.
Our approach will be to divide the projects into major areas. These would be the following:
- Development tools - This area will cover what you need to have in place on your computer to develop for Joomla. These are only recommendations and have worked for us. Feel free to explore other tools and methods. Hopefully, there will be enough here to wet your appetite and get you started.
- Templates - Templates drive the look and feel of your Joomla web site. This section will show you how to create templates, how to do template overrides and alternate layouts. Hopefully, we can find someone that will be willing to join our little team in this area too.
- Plugins - This section will talk about plugins, how they work and how to write them.
- Modules - Modules display small amounts of data on certain sections of your web site. This section will discuss how to write them.
- Components - Components are a main content item on your web page and can be anything you can imagine from small database driven information to complete applications. Components are the most complex of the extensions to write for Joomla! Hopefully, we can get enough covered to start you on your way of writing the next great extension.
- Discussion - Joomla consists of many classes and no telling how many lines of code. The discussion area called "A Walk in the Weeds" is dedicated to exploring how Joomla works from a code point of view. For example, how the execution cycle works or extra details on a class.
About the Exploring Joomla! 3.x for Extension Development Team.
Joe has been interested in computers since the 1980's with the Commodore VIC20 and C=64 as well as the Apple 2e machines. Joe has built computer hardware interfaces to run electric trains and other outside devices, a computer controlled CNC router. Today, Joe does Hospital Networking for tele-medicine, server services such as email, VPN, distributed backup and web servers and a myriad of other network based functions. Joe also enjoys sharing what he has learned with other people in the hopes that they may learn something from both his successes and failures.
Trent is a highly motivated developer that prides himself on hard work, innovation and delivery. He has over 18 years of experience in software design and database architecture. His experience ranges from client / server applications to large organizational web applications along with Business Intelligence and Data Warehousing. Trent focuses on providing value to his customers. Currently, Trent is working in the healthcare industry as an component architect withing that Data Warehouse space which allows him to create reusable components for processing and maintenance along with creating multi-table database architecture for large one of the largest Healthcare insurance provides in the world. He has extensive experience in database design and architecture as well service layer design. His passions are learning new techniques, languages, practices and patterns and teaching others to code with best practices in mind. Along with Joe, he hopes that from our struggles and successes, we can help someone along the way to provide the spark that becomes a passion for coding.