Actions

Portal

Difference between revisions of "Developers"

From Joomla! Documentation

m ({{inuse}})
m (new subpage)
Line 154: Line 154:
 
Developers should also be aware of security issues.
 
Developers should also be aware of security issues.
 
{{Security Guide}}
 
{{Security Guide}}
 +
 +
<div style="width:auto; margin:0; padding:8px; border:1px solid #4F91CD; background-color:#CAE1FF;">
 +
<!-- This portal was created using subst:box portal skeleton  -->
 +
 +
<div style="clear:both; width:100%">
 +
 +
{{:{{FULLPAGENAME}}/box-header-sq|<big>Information for {{PAGENAME}}</big>|{{FULLPAGENAME}}/Intro|}}
 +
{{:{{FULLPAGENAME}}/Intro}}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
</div>
 +
<div style="clear:both; width:100%">
 +
{{:{{FULLPAGENAME}}/box-header-sq|Resources|{{FULLPAGENAME}}/Resources|}}
 +
{{:{{FULLPAGENAME}}/Resources}}<br/><br/>
 +
<div class="portal-column-left"> <!-- Switch to one column on narrow screens -->
 +
{{:{{FULLPAGENAME}}/box-header-sq|Components|{{FULLPAGENAME}}/Components|}}
 +
{{:{{FULLPAGENAME}}/Components}}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
{{:{{FULLPAGENAME}}/box-header-sq|Templates|{{FULLPAGENAME}}/Templates|}}
 +
{{:{{FULLPAGENAME}}/Templates}}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
</div>
 +
<div class="portal-column-right"> <!-- Switch to one column on narrow screens -->
 +
{{:{{FULLPAGENAME}}/box-header-sq|Migration|{{FULLPAGENAME}}/Migration|}}
 +
{{:{{FULLPAGENAME}}/Migration}}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
{{:{{FULLPAGENAME}}/box-header-sq|Modules|{{FULLPAGENAME}}/Modules|}}
 +
{{:{{FULLPAGENAME}}/Modules}}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
{{:{{FULLPAGENAME}}/box-header-sq|Plugins|{{FULLPAGENAME}}/Plugins|}}
 +
{{:{{FULLPAGENAME}}/Plugins}}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
{{:{{FULLPAGENAME}}/box-header-sq|Parameters|{{FULLPAGENAME}}/Parameters|}}
 +
{{:{{FULLPAGENAME}}/Parameters}}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
{{:{{FULLPAGENAME}}/box-header-sq|Core extensions |{{FULLPAGENAME}}/Core extensions |}}
 +
{{:{{FULLPAGENAME}}/Core extensions }}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
{{:{{FULLPAGENAME}}/box-header-sq|Security|{{FULLPAGENAME}}/Security|}}
 +
{{:{{FULLPAGENAME}}/Security}}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
{{:{{FULLPAGENAME}}/box-header-sq|Miscellaneous|{{FULLPAGENAME}}/Miscellaneous|}}
 +
{{:{{FULLPAGENAME}}/Miscellaneous}}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
</div>
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
</div>
 +
 +
<div style="clear:both; width:100%"></div>
 +
 +
<div class="portal-column-right"> <!-- Switch to one column on narrow screens -->
 +
{{:{{FULLPAGENAME}}/box-header-sq|Categories|{{FULLPAGENAME}}/Categories|}}
 +
{{:{{FULLPAGENAME}}/Categories}}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
{{:{{FULLPAGENAME}}/box-header-sq|Platform Basics|{{FULLPAGENAME}}/Basics|}}
 +
{{:{{FULLPAGENAME}}/Basics}}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
</div>
 +
 +
<div class="portal-column-left"> <!-- Switch to one column on narrow screens -->
 +
{{:{{FULLPAGENAME}}/box-header-sq|Projects|{{FULLPAGENAME}}/Projects|}}
 +
{{:{{FULLPAGENAME}}/Projects}}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
 +
{{:{{FULLPAGENAME}}/box-header-sq|Things to do|{{FULLPAGENAME}}/Opentask|}}
 +
{{:{{FULLPAGENAME}}/Opentask}}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
</div>
 +
 +
<div style="clear:both; width:100%">
 +
{{:{{FULLPAGENAME}}/box-header-sq|Documentation|{{FULLPAGENAME}}/Documentation|}}
 +
{{:{{FULLPAGENAME}}/Documentation}}
 +
{{:{{FULLPAGENAME}}/box-footer|}}
 +
</div>
 +
 +
</div><!-- top div close -->
 +
__NOTOC__ __NOEDITSECTION__
 +
  
 
[[Category:Development]]
 
[[Category:Development]]
 
[[Category:JED]]
 
[[Category:JED]]
 
[[Category:Joomla! user profiles]]
 
[[Category:Joomla! user profiles]]

Revision as of 14:56, 30 August 2012

Quill icon.png
Page Actively Being Edited!

This portal page is actively undergoing a major edit for a short while.
As a courtesy, please do not edit this page while this message is displayed. The user who added this notice will be listed in the page history. This message is intended to help reduce edit conflicts; please remove it between editing sessions to allow others to edit the page. If this page has not been edited for several hours, please remove this template, or replace it with {{underconstruction}} or {{incomplete}}.

Contents

As a developer you are tasked with altering or extending the functionality of Joomla! or one of its extensions. You will be proficient in a range of programming languages, including PHP, but may be less familiar with such things as JavaScript or CSS. If you are new to Joomla! you will need information about the Joomla! Framework API and how to use it and will probably make extensive use of best practice example code.

A complete contents list of all pages of interest to developers can be found in the development category.

Reference Material

Joomla Magazine Articles

Articles and Tutorials

General

Migration

Components

There are many articles, tutorials, references and FAQs which focus on component development. If this is your first time developing a component for Joomla, you should start with the Absolute Basics of How a Component Functions. If needed, you can visualise the control flow of a component with these diagrams.

Next, you will want to read our  Joomla 2.5 Joomla 3.x MVC tutorial    Developing a Model-View-Controller Component. Remember to familiarise yourself with Joomla! Secure coding guidelines and Development Best Practices.

Once you have read the tutorial and/or tried the example component, you can focus more on the specifics of your component with additional articles. These are listed on the Component Development Portal or any of the supporting Portals for Development(Plugins, Modules or Templates).


For more information, see Component Development.

Modules

Recommended Reading

For more information, see Module Development.

Plugins

Recommended Reading

The following articles will help familiarise you with Joomla! plugins. They are a good starting point to understanding and then developing plugins.

Beginner

To understand how to install and use a plugin in Joomla it is recommended to read Administration of a Plugin in Joomla

Intermediate

To understand plugins better it is advised that you create a basic plugin for Joomla!.

It is also advised to read on how to run a basic content plugin in a custom module or component you may have already developed it is recommended to read Triggering content plugins in your extension.

Advanced

To understand the principles on which the Plugin system works Plugin Developer Overview. To then implement this in a component you have designed it is recommended to read Supporting plugins in your component.

For more information, see Plugin Development.

Templates

Recommended Reading

Our template development documentation contains many articles, FAQs and tutorials. A first step to developing a template is understanding how templates are executed.

Beginners

Intermediate

Historical

For more information, see Template Development.

Parameters

Core extensions summary

Security

Database

Localisation

Access Control

Miscellaneous

Contributing to Joomla Development

The development of Joomla itself is carried out by the Development Working Group and third party developers.

Contributing to Joomla Developer Documentation

The development of Joomla developer documentation is carried out primarily by the Documentation Working Group. There are currently two sub-projects of interest to developers:

When creating a new page, ensure you place the following marker at the bottom of the page so it is included in the category list:

[[Category:Development]]

If you locate other articles you think are relevant to developers, please add this marker to those pages.

Suggested topics

This is a short list of articles that might be written to support developers. Please feel free to add further topic ideas.

Joomla Security Guide

Developers should also be aware of security issues. Template:Security Guide

Information for Developers

The development of Joomla! itself is carried out by the Production Working Groups and third party developers. This page is a starting point for developers interested in the development of components, modules, plugins and templates.

Tip-icon.png
Have an Interest in Core Contributions?

The development of Joomla itself is carried out by Production Working Groups and third party developers. For more information about Joomla! core development, how to contribute to code to core, or becoming more involved with the core code, you should go to Joomla! Code Contributors.

Resources

There are several ways of setting up your workstation in for Joomla! development. Some suggestions can be found at Setting up your workstation for Joomla development.

Next, you should familiarise yourself with Joomla! Secure coding guidelines and the short article on Joomla! Development Best Practices.

Documentation on the Joomla! API can assist with becoming familiar with the foundations of the Joomla! code base.

Finally, Joomla! has many resources for developers. Our Joomla! Resources page will get you pointed in the right direction if you need help and solutions.

Components

Components

There are many articles, tutorials, references and FAQs which focus on component development. If this is your first time developing a component for Joomla, you should start with the Absolute Basics of How a Component Functions. If needed, you can visualise the control flow of a component with these diagrams.

Next, you will want to read our  Joomla 2.5 Joomla 3.x MVC tutorial    Developing a Model-View-Controller Component. Remember to familiarise yourself with Joomla! Secure coding guidelines and Development Best Practices.

Once you have read the tutorial and/or tried the example component, you can focus more on the specifics of your component with additional articles. These are listed on the Component Development Portal or any of the supporting Portals for Development(Plugins, Modules or Templates).


For more articles and information, see the Component Development Portal page.

Templates

Templates

Recommended Reading

Our template development documentation contains many articles, FAQs and tutorials. A first step to developing a template is understanding how templates are executed.

Beginners

Intermediate

Historical

For more articles and information, see the Template Development Portal page.

Migration

Modules

Plugins

Plugins

Recommended Reading

The following articles will help familiarise you with Joomla! plugins. They are a good starting point to understanding and then developing plugins.

Beginner

To understand how to install and use a plugin in Joomla it is recommended to read Administration of a Plugin in Joomla

Intermediate

To understand plugins better it is advised that you create a basic plugin for Joomla!.

It is also advised to read on how to run a basic content plugin in a custom module or component you may have already developed it is recommended to read Triggering content plugins in your extension.

Advanced

To understand the principles on which the Plugin system works Plugin Developer Overview. To then implement this in a component you have designed it is recommended to read Supporting plugins in your component.

For more articles and information, see the Plugin Development Portal page.

Parameters

Core extensions

Security

Miscellaneous

Categories

Platform Basics

Projects

Suggested topics

This is a short list of articles that might be written to support developers. Please feel free to add further topic ideas.


Things to do

Documentation