jbeginners:introductionTable of Contents
DRAFT OUTLINE Joomla! Beginning Developer CoursePrerequisites – solid understanding of how to install and configure Joomla! core and third party extensions; basic understanding of website administration, including how to install and configure PHP, Apache, and MySQL and how to backup and restore a Joomla! database and website; working knowledge of XHTML and CSS; either some programming background or a willingness to work harder to learn the basics. Other than that, the Joomla! Beginner Developer Course assumes you come ready to learn with nothing more than basic computing and Joomla! knowledge. Costs - There is no cost for the course. All recommended tools are freely available. Students are expected to have a computer with Internet access. Work will be performed on the student’s computer or using Joomla! org resources (at no charge). Overview – The six week course will offered to a group with no more than 10 participants. Each student will work independently on course reading assignments and exercises. The group will proceed together, meeting frequently using Skype and Joomla! forum postings, helping one another learn and answer each other’s questions. It is hoped that each group will improve the curriculum and documentation for the community. Sign up - xxx Week 1 – Communication, IDE, MySQL and PHP BasicsWelcome to Week 1 – Communication, IDE, MySQL and PHP Basics, a six week Joomla! Development for Beginners course. During the first week of the course, you will install and configure an IDE and communication tools needed. In addition, if you have not learned PHP or MySQL, or if you wish to brush up on your skills, there are guides available for that purpose. CommunicationThe group will use the Joomla! forums and Skype for communication. Joomla! ForumsMake certain to register for a Joomla! Forum ID, if you do not already have one. Also, familiarize yourself with the forum rules. The Joomla! Coding 101 forum area is a place to discuss this curriculum and other beginning Joomla! developer topics. Skype Chat Room for Joomla! DevelopersIf you have not used Skype before, read the Getting Started instructions. Note: You do not need to purchase any Skype resources, only those capabilities offered free of charge are needed. Once you have Skype installed and configured, connect to the J!101 Coding 101 Chat Room:
For Linux, only: .rename it to j101.py chmod +x j101.py start skype at the shell, do: ./j101.py Integrated Developer EnvironmentAn Integrated Developer Environment (IDE) is a collection of tools designed to help a developer. Typically, an IDE includes a source code editor, a compiler and/or interpreter, a debugger and a version control system. Select the appropriate choice for your operating system: MySQL FundamentalsJoomla! uses MySQL as the underlying database management system. If you have little or no experience working with MySQL or SQL in general, work through the SQL Tutorial from W3Schools. There are interactive opportunities for you to practice your learning using their database and website. PHP FundamentalsJoomla! is an application developed using PHP. PHP is a server side scripting language well suited for web site development. If you have little or no experience working with PHP, take time to work through both these excellent tutorials: Week 2 - Object Oriented ProgrammingWelcome to Week 2 - Object Oriented Programming, a six week Joomla! Development for Beginners course. Joomla! is built using object oriented programming techniques. If you are unfamiliar with OOP, this week focuses exclusively on that topic. Fundamental conceptsObject oriented programming has a language and terminology that is important to understand. Read the Fundamental concepts section of this Wikipedia article to begin learning terms like class, object, method, message passing, inheritance, encapsulation, abstraction and polymorphism. Getting Started with OOPsUse this easy to follow Getting Started with OOPs guide on object oriented programming language using real world examples that make it easier to understand these advanced concepts. Work through his guide and carefully consider the examples. Object Oriented PHPIf you are new to object oriented programming approaches, or have not used these approaches with PHP, or if you want to refresh your skills, NefariousDesigns has an excellent five part curriculum entitled Object-Oriented Concepts and a four part curriculum on Object-Oriented PHP that will help you understand these programming approaches. Week 3 - Joomla! Developer BasicsWelcome to Week 3 - Joomla! Developer Basics, a six week Joomla! Development for Beginners course. This week, you will learn to program a simple module, component and plugin. Then, you will begin exploring Joomla!’s framework and classes. DefinitionsBefore learning to build modules, components and plugins, it helps to understand how these are different and when you might use each of these items. What are Extensions? ModuleA module is an extension used for to display simple information. Latest News is an example of a module. Complete this module tutorial to learn how to create a Hello World module. ComponentA component is the most complex extension type. Every Joomla! page has a component that renders the main part of the page. com_content is the primary component that is used to display article and blog information. Walk through these component tutorials: Chris and Ian - there are two more that need completion. Should we work on these? Plugins and eventsA plugin is typically the simplest type of extension. Follow this Plugin Tutorial to learn how to build a Joomla! v 1.5 Plugin. Week 4 - MVC Component and Custom URLSWelcome to Week 4 - MVC Component and Custom URLS, a six week Joomla! Development for Beginners course. This week, you explore Joomla!’s MVC application architecture and you will learn to implement a router for your component. Model-View-ControllerFinally, the model-view-controller (MVC) architecture. You will learn to separate your component into these three pieces: the data (model), the user interface (view) and the controller. There are four different tutorials to help you build these skills: Creating Custom URLSIn Joomla! v 1.5 the URL was completely refactored. Joomla! is now capable of creating and parsing URLs in any format, including human readable URL‘s. Learn to use JRouter to Create Custom URLS for your component. Creating an Installation FileOne of the final steps to building a component is learning to package it into an easy to use installation file for end users. Create an Install File Ian and Chris - should we work on this? Week 5/6 Learning ProjectSecure ExtensionsBefore creating extensions, make certain to review recommended security tips. Learning ProjectNow that you have basic skills, work individually or as small teams and build something. You can pick an extension idea and use it to create a Joomla! extension. Or, you can invent your own idea. Try to keep it simple for your first couple of extensions. The more you practice these skills, the better you will become. Don’t be afraid to ask questions, either. JoomlaCodeJoomla! Extension DirectoryGraduation!After completing the six-week course, you will have only started your journey. Once a week, we will schedule an hour for a mini-lesson that a growing group of Joomla! developers can take turns teaching. During this weekly get together, ideas and questions can be shared to help engage and strengthen the developer network. Perhaps the core developers might take turns sitting in and share status information or helpful hints. Framework and ClassesIs the following BEYOND this class? Joomla! has a complex and powerful application framework.
|


