Portal

Difference between revisions of "Developers"

From Joomla! Documentation

m (starting to rework)
m (Typo)
(30 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{:{{FULLPAGENAME}}/Intro}}
+
<noinclude><languages /></noinclude>
==General Resources==
+
{{Portal:Developers/Intro/<translate><!--T:1-->
{{:{{FULLPAGENAME}}/Resources}}
+
en</translate>}}
<div class="portal-column-left"> <!-- Switch to one column on narrow screens -->
+
{{section portal heading|icon=book|title=<translate><!--T:2-->
{{:{{FULLPAGENAME}}/box-header-sq|Components|Portal:Component_Development/Reading_list|}}{{:{{FULLPAGENAME}}/Components}}
+
Getting Started!</translate>}}{{Portal:Developers/Resources/<translate><!--T:3-->
{{:{{FULLPAGENAME}}/box-footer|}}
+
en</translate>}}
{{:{{FULLPAGENAME}}/box-header-sq|Templates|Portal:Template_Development/Reading_list|}}{{:{{FULLPAGENAME}}/Templates}}
+
{{tip|<li>[[#Components|<translate><!--T:4-->
{{:{{FULLPAGENAME}}/box-footer|}}
+
Components Development</translate>]]</li><li>[[#Plugins|<translate><!--T:5-->
 +
Plugins Development</translate>]]</li><li>[[#Templates|<translate><!--T:6-->
 +
Templates Development</translate>]]</li><li>[[#Modules|<translate><!--T:7-->
 +
Modules Development</translate>]]</li>|title=<translate><!--T:8-->
 +
There is four types of extensions development:</translate>}}
 +
<div class="large-6 column">
 +
{{section portal heading|icon=terminal|title=<translate><!--T:9-->
 +
Components</translate>}}{{Portal:Component_Development/Reading_list/<translate><!--T:11-->
 +
en</translate>}}
 +
{{tip|<translate><!--T:12-->
 +
See the [[S:MyLanguage/Portal:Component_Development|Component Development Portal page]].</translate>|title=<translate><!--T:13-->
 +
For more articles and information:</translate>}}  
 
</div>
 
</div>
<div class="portal-column-right"> <!-- Switch to one column on narrow screens -->
+
<div class="large-6 column">
{{:{{FULLPAGENAME}}/box-header-sq|Modules|Portal:Module_Development/Reading_list|}}{{:{{FULLPAGENAME}}/Modules}}
+
{{section portal heading|icon=plug|title=<translate><!--T:10-->
{{:{{FULLPAGENAME}}/box-footer|}}
+
Plugins</translate>}}{{Portal:Developers/Plugins}}
{{:{{FULLPAGENAME}}/box-header-sq|Plugins|Portal:Plugin_Development/Reading_list|}}{{:{{FULLPAGENAME}}/Plugins}}
 
{{:{{FULLPAGENAME}}/box-footer|}}
 
{{:{{FULLPAGENAME}}/box-header-sq|Forms & Form Fields|{{FULLPAGENAME}}/Forms|}}
 
{{:{{FULLPAGENAME}}/Forms}}
 
{{:{{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>
 
</div>
{{:{{FULLPAGENAME}}/box-footer|}}
+
 
 +
<div class="large-12 column panel radius" style="background:none;">
 +
{{:{{FULLPAGENAME}}}}
 
</div>
 
</div>
 
+
<div class="large-12 column panel radius" style="background:none;">
<div style="clear:both; width:100%"></div>
+
{{:{{FULLPAGENAME}}/Templates}}
 
 
<div class="portal-column-right"> <!-- Switch to one column on narrow screens -->
 
{{:{{FULLPAGENAME}}/box-header-sq|Contributing to Joomla Developer Documentation|{{FULLPAGENAME}}/Developer Documentation|}}
 
{{:{{FULLPAGENAME}}/Developer Documentation }}
 
{{:{{FULLPAGENAME}}/box-footer|}}
 
 
</div>
 
</div>
 
+
<div class="large-12 column panel radius" style="background:none;">
<div class="portal-column-left"> <!-- Switch to one column on narrow screens -->
+
{{:{{FULLPAGENAME}}/Modules}}
{{:{{FULLPAGENAME}}/box-header-sq|Projects|{{FULLPAGENAME}}/Projects|}}
 
{{:{{FULLPAGENAME}}/Projects}}
 
{{:{{FULLPAGENAME}}/box-footer|}}
 
{{:{{FULLPAGENAME}}/box-header-sq|Joomla! Security Guide|{{FULLPAGENAME}}/Joomla! Security Guide|}}
 
{{:{{FULLPAGENAME}}/Joomla! Security Guide}}
 
{{:{{FULLPAGENAME}}/box-footer|}}
 
 
</div>
 
</div>
 
{{-}}
 
{{-}}
__NOTOC__ __NOEDITSECTION__
+
 
 +
== More Development Topics==
 +
<div class="large-12 column panel radius" style="background:none;">
 
<div class="large-4 column">
 
<div class="large-4 column">
 
{{:{{FULLPAGENAME}}/Database}}
 
{{:{{FULLPAGENAME}}/Database}}
Line 53: Line 46:
 
{{:{{FULLPAGENAME}}/Access Control}}
 
{{:{{FULLPAGENAME}}/Access Control}}
 
</div>
 
</div>
 +
</div>
 +
<div class="large-12 column panel radius" style="background:none;">
 +
<div class="large-6 column">
 +
{{:{{FULLPAGENAME}}/Forms}}
 +
</div>
 +
<div class="large-6 column">
 +
{{:{{FULLPAGENAME}}/Security}}
 +
</div>
 +
</div>
 +
{{-}}
 +
<div class="large-12 column panel radius" style="background:none;">
 +
{{:{{FULLPAGENAME}}/Miscellaneous}}
 +
</div>{{-}}
 +
 +
<div class="large-12 column panel radius">
 +
== Contributing to Documentation ==
 +
{{:{{FULLPAGENAME}}/Developer Documentation}}
 +
{{:{{FULLPAGENAME}}/Projects}}
 +
</div>
 +
__NOTOC__
 +
<noinclude>
 
[[Category:Development]]
 
[[Category:Development]]
 
[[Category:JED]]
 
[[Category:JED]]
 
[[Category:Joomla! user profiles]]
 
[[Category:Joomla! user profiles]]
 +
[[Category:Needs to be marked for translation]]
 +
</noinclude>

Revision as of 10:03, 25 May 2015

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎eesti • ‎español • ‎français • ‎italiano • ‎português • ‎português do Brasil • ‎русский • ‎українська • ‎فارسی • ‎বাংলা • ‎ไทย • ‎中文(中国大陆)‎ • ‎中文(台灣)‎

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

Have an Interest in Core Contributions?

The development of Joomla itself is carried out by Production Department 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.


Getting Started!

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

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

Plugins

{{Portal:Plugin_Development/Reading_list/<translate> en</translate>}}

{{Portal:Developers/Intro/<translate> en</translate>}}

<translate> Getting Started!</translate>

{{Portal:Developers/Resources/<translate> en</translate>}}

<translate> Components</translate>

{{Portal:Component_Development/Reading_list/<translate> en</translate>}}

<translate> For more articles and information:</translate>

<translate> See the Component Development Portal page.</translate>

<translate> Plugins</translate>

{{Portal:Plugin_Development/Reading_list/<translate> en</translate>}}

Template loop detected: Portal:Developers

More Development Topics[edit]

Contributing to Documentation[edit]

<translate> The development of Joomla developer documentation is carried out primarily by the Documentation Working Group. There is currently one sub-projects of interest to developers:</translate> <translate>

<translate> 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:</translate>

[[Category:Development]]

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


Suggested topics[edit]

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



More Development Topics[edit]

Contributing to Documentation[edit]

<translate> The development of Joomla developer documentation is carried out primarily by the Documentation Working Group. There is currently one sub-projects of interest to developers:</translate> <translate>

<translate> 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:</translate>

[[Category:Development]]

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


Suggested topics[edit]

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