Actions

Difference between revisions of "Development Working Group"

From Joomla! Documentation

(Unit testing within Joomla!)
Line 2: Line 2:
  
 
  '''''"..To develop a cutting edge, state of the art Web Content Management application framework..."'''''
 
  '''''"..To develop a cutting edge, state of the art Web Content Management application framework..."'''''
 +
 +
== Introduction ==
  
 
The main responsibility of the [[Development Working Group]] is taking care of the development of the Joomla! application framework and the Joomla! Content Management System (CMS). Besides the development of the Joomla! codebase the development working group defines the Joomla! roadmap strategy, creating (architectural) designs for major and minor versions and of course take care of bug and security fixes in maintenance versions.
 
The main responsibility of the [[Development Working Group]] is taking care of the development of the Joomla! application framework and the Joomla! Content Management System (CMS). Besides the development of the Joomla! codebase the development working group defines the Joomla! roadmap strategy, creating (architectural) designs for major and minor versions and of course take care of bug and security fixes in maintenance versions.
Line 11: Line 13:
 
In this section of the documentation wiki we have tried to describe all relevant aspects to Joomla! development. OUr effort strives to be as complete as we can be, but we don't rule out that information you are looking for is not (yet) documented. We encourage everyone to help completing the documentation effort and maximize the community effect within the Joomla! project.
 
In this section of the documentation wiki we have tried to describe all relevant aspects to Joomla! development. OUr effort strives to be as complete as we can be, but we don't rule out that information you are looking for is not (yet) documented. We encourage everyone to help completing the documentation effort and maximize the community effect within the Joomla! project.
  
 +
== Getting started ==
  
== Joomla! development goals ==
+
First look around
 +
Guide to this wiki section
 +
 
 +
== Technical infrastructure ==
 +
 
 +
Mailing lists
 +
Version control
 +
Bug tracker
 +
IRC/Real-Time Chat
 +
Wikis
 +
Web sites
 +
 
 +
== Social and Political Infrastructure ==
 +
 
 +
Organizational structure
 +
Code of conduct
 +
 
 +
== Communications ==
 +
 
 +
Development blog
 +
Summer of Code blog
 +
Development forum
 +
Development meetings
 +
Joomla! events (like Joomla! days)
 +
Local user groups
 +
 
 +
== Packaging, releasing and daily development ==
 +
 
 +
Release numbering
 +
Release branches
 +
Sandboxes
 +
Stabilizing a release
 +
Packaging
 +
Testing and releasing
 +
Maintaining multiple release lines (general description, and our current release lines)
 +
Releases and daily development
 +
 
 +
== Development community ==
 +
 
 +
How to get involved?
 +
3rd party development
 +
Interesting topics to study
 +
Recommended readings and books
 +
 
 +
== Licensing and copyrights ==
 +
 
 +
General Public License
  
  
Line 20: Line 69:
 
== Coding standards ==
 
== Coding standards ==
  
 +
Full desciption of coding standards
 +
Usage of Docbook markups
  
 
== Writing secure Joomla! code ==
 
== Writing secure Joomla! code ==
  
 
+
Preventing SQL injections (see http://developer.joomla.org/tutorials/181-preventing-sql-injections.html)
== Joomla! maintenance ==
+
  
  
Line 44: Line 94:
  
 
== Debugging your Joomla! code ==
 
== Debugging your Joomla! code ==
 
== Subversion (SVN) ==
 
  
 
== Joomla! organization ==
 
== Joomla! organization ==

Revision as of 15:46, 5 August 2008

Quill icon.png
Content is Incomplete

This article or section is incomplete, which means it may be lacking information. You are welcome to assist in its completion by editing it as well. If this article or section has not been edited in several days, please consider helping complete the content.
This article was last edited by Willebil (talk| contribs) 5 years ago. (Purge)

Workgroups development.jpg
"..To develop a cutting edge, state of the art Web Content Management application framework..."

Contents

Introduction

The main responsibility of the Development Working Group is taking care of the development of the Joomla! application framework and the Joomla! Content Management System (CMS). Besides the development of the Joomla! codebase the development working group defines the Joomla! roadmap strategy, creating (architectural) designs for major and minor versions and of course take care of bug and security fixes in maintenance versions.

The development working group holds two teams: the Development Team and the so called Bug Squad. Both teams have a separate responsibility but together they form the development force for the Joomla! project.

Joomla! is as every other open-source project based upon the fundaments of collaborative and is a community-driven project. This means that the software, the documentation, the ever growing number of available the extensions, support (forum, mailing, lists newsletters, user groups are collaboratively produced by users and developers all over the world.

In this section of the documentation wiki we have tried to describe all relevant aspects to Joomla! development. OUr effort strives to be as complete as we can be, but we don't rule out that information you are looking for is not (yet) documented. We encourage everyone to help completing the documentation effort and maximize the community effect within the Joomla! project.

Getting started

First look around Guide to this wiki section

Technical infrastructure

Mailing lists Version control Bug tracker IRC/Real-Time Chat Wikis Web sites

Social and Political Infrastructure

Organizational structure Code of conduct

Communications

Development blog Summer of Code blog Development forum Development meetings Joomla! events (like Joomla! days) Local user groups

Packaging, releasing and daily development

Release numbering Release branches Sandboxes Stabilizing a release Packaging Testing and releasing Maintaining multiple release lines (general description, and our current release lines) Releases and daily development

Development community

How to get involved? 3rd party development Interesting topics to study Recommended readings and books

Licensing and copyrights

General Public License


How to contribute to Joomla! development

Coding standards

Full desciption of coding standards Usage of Docbook markups

Writing secure Joomla! code

Preventing SQL injections (see http://developer.joomla.org/tutorials/181-preventing-sql-injections.html)


Unit testing within Joomla!

The goal of unit testing is to isolate each part of the program and show that the individual parts are correct. A unit test provides a strict, written contract that the piece of code must satisfy. As a result, it affords several benefits. Unit tests find problems early in the development cycle.

In computer programming, unit testing is a method of testing that verifies the individual units of source code are working properly. A unit is the smallest testable part of an application. In procedural programming a unit may be an individual program, function, procedure, etc., while in object-oriented programming, the smallest unit is a method, which may belong to a base/super class, abstract class or derived/child class.

Ideally, each test case is independent from the others; Double objects like stubs, mock or fake objects as well as test harnesses can be used to assist testing a module in isolation. Unit testing is typically done by software developers to ensure that the code they have written meets software requirements and behaves as the developer intended.

Ground work on the implementation of unit testing has been done by Enno Klasing during the Summer of Code 2007 project and has been perfected by Alan Langford from the Joomla! Development Team. The way Unit Testing is implemented within the Joomla! project has been documented in the Unit Testing chapter.

Unit Testing

What does a Joomla! development environment look like

Debugging your Joomla! code

Joomla! organization

Joomla! planning process and procedures

Miscellaneous

This is "old" content and needs to be moved to the final location in this wiki, work in progress...