Kursus Asas Joomla

Joomla course for beginning developers

Jump to: navigation, search
Note
Please note that the content on this page is currently incomplete. Please treat it as a work in progress.

Contents

 [hide

Course Introduction

Prerequisites

  • 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

  1. xxx

Week 1 – Communication, IDE, MySQL and PHP Basics

Welcome 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.

Communication

The group will use the Joomla! forums and Skype for communication.

Joomla! Forums

Make 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.

#joomla-dev on freenode.net

To talk about Joomla in code, join the channel on IRC described on the Joomla! Developer Network page.

Discontinued: Skype Chat Room for Joomla! Developers

There used to be a Skype public chat room for Joomla! developers, but since Skype discontinued the public chat feature the room is no longer available.

Integrated Developer Environment

An 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 Fundamentals

Joomla! 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 Fundamentals

Joomla! 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 Programming

Welcome 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 concepts

Object 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 OOPs

Use this easy to follow Getting Started with Object Oriented Programming 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 PHP

If 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 Basics

Welcome 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.

Definitions

Before learning to build modules, components and plugins, it helps to understand how these are different and when you might use each of these items. Read the Extension types (technical definitions).

Module

A 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.

Component

A 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 events

A 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 URLS

Welcome 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-Controller

Finally, 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.
Developing a Model-View-Controller Component - Part 1 is the first part of a tutorial on creating MVC components.

Creating Custom URLs

In Joomla! 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 File

One 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 Project

Secure Extensions

Before creating extensions, make certain to review recommended security tips.

Learning Project

Now 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.

JoomlaCode

Joomla! Extension Directory

Graduation!

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 Classes

Is the following BEYOND this class?
Joomla! has a complex and powerful application framework.

No comments:

Post a Comment