Portal

Developers: Difference between revisions

From Joomla! Documentation

No edit summary
No edit summary
Line 1: Line 1:
{{Developer profile}}
{{Developer profile}}


* Developer guidelines.
== Participation ==
 
* [[Participating in the community]]: a brief description of how people can get involved.
* [[Participating in the community]]: a brief description of how people can get involved.
* [[Coding style and standards]] (To be reviewed).
* [[Coding style and standards]] (To be reviewed).
* [[Patch submission guidelines]].
* [[Filing bugs and issues]].
* [[How to release a distribution tarball]].
== Reference Pages ==
Peruse all pages in the [[:Category:Development]] category.
When creating a new page, ensure you place the following marker at the top of the page so it is included in the category list:
<pre><nowiki>[[Category:Development]]
</nowiki></pre>
If you locate other articles you thing that are relevant to developer, please add this marker to those pages.
== Articles and Tutorials on developer.joomla.org ==
[http://community.joomla.org/magazine/article/508-developer-localization-advancements-in-joomla-15.html Localization Advancements in Joomla! 1.5]
[http://developer.joomla.org/component/content/article/33-tutorials/165-understanding-output-overrides-in-joomla.html Understanding Output Overrides in Joomla! 1.5]
[http://developer.joomla.org/tutorials/33-tutorials/181-preventing-sql-injections.html Preventing SQL Injections]
== Cookie Jar ==
Articles that need to be written.
* Developer guidelines.
* Secure coding guidelines.
* Secure coding guidelines.
* Error message conventions.
* Error message conventions.
* Exception handling.
* Exception handling.
* [[Patch submission guidelines]].
* [[Filing bugs and issues]].
* [[How to release a distribution tarball]].
* Release numbering, compatibility and deprecation.
* Release numbering, compatibility and deprecation.
* [[Localisation]] (I18N): an explanation of how localisation is implemented in Joomla! 1.5 and how to use it.
* [[Routing]]: how it works and how to use it
* Complete/update/review the wiki API reference (assumes this has been moved from DocuWiki to MediaWiki).
* Complete/update/review the wiki API reference (assumes this has been moved from DocuWiki to MediaWiki).
* Update developer tutorials and how-to's currently on dev.joomla.org
* Update developer tutorials and how-to's currently on dev.joomla.org
Line 19: Line 42:
** Recommend material to be migrated over to docs.joomla.org
** Recommend material to be migrated over to docs.joomla.org
** Update material that is to be migrated over to docs.joomla.org
** Update material that is to be migrated over to docs.joomla.org
* [[How to debug your code]].
** Write a tutorial giving debugging tips for new developers.  Perhaps list different kinds of problems code might have and suggested approaches to locating the problem and fixing it.
* [[Using the core parameter types]] (To be reviewed)
* [[Creating custom XML parameter types]].
** Write a document detailing the steps to creating a custom XML Parameter type.  Explain how these types can be used in templates, modules, components and plugins.
* [[Creating component preferences]] (ready for review).
** Write a document describing how to create an xml file for modifying component preferences and how to add a Parameters button to an administrator toolbar.
* [[Adding JavaScript and CSS to the page]].
** Write a document describing how to add JavaScript and CSS to the page.  Explain how to decide whether JavaScript should go in the head block or in the page itself and how to insert the JavaScript.
* [[Accessing the current user object]].
** Write a document describing how to access the current user object and also indicate what type of information can be found in the object, and how that data should be retrieved and/or set.
* [[Adding AJAX to your component]].
* [[Adding AJAX to your component]].
** Write a document describing how to add AJAX to an MVC component.  If desired, use the MVC Hello World tutorial as a base.  Describe where various elements should go in the MVC design pattern.  Also describe how to implement MVC in a module (these need supporting components to do AJAX).
** Write a document describing how to add AJAX to an MVC component.  If desired, use the MVC Hello World tutorial as a base.  Describe where various elements should go in the MVC design pattern.  Also describe how to implement MVC in a module (these need supporting components to do AJAX).
* [[Using JPagination in your component]] (frontend and backend).
** Describe the steps necessary to add pagination to a component using the JPagination class.  Describe the differences between frontend and backend.
* [[Creating a toolbar for your component]].
* [[Creating a toolbar for your component]].
* [[Adding configuration objects to modules and plugins]].
* [[Adding configuration objects to modules and plugins]].
Line 40: Line 50:
* [[Creating a file uploader in your component]].
* [[Creating a file uploader in your component]].
* [[Suppressing output of extra HTML]].
* [[Suppressing output of extra HTML]].
* [[Supporting plugins in your component]] (Ready for review).
** Explain how to add triggers so that your component can fire custom events.
* [[Adding multi-language support]].
* [[Retrieving data from GET and POST requests]] - the Joomla! way.
* [[Adding view layout configuration parameters]].
* [[Adding view layout configuration parameters]].
** Explain how to create an XML file that will allow users to configure views.
** Explain how to create an XML file that will allow users to configure views.
* [[Using the installer API to support package installation]].
** Explain how to use the JInstaller API to install add-ons to components
* [[How to implement XML-RPC in a component]]
* [[How to implement XML-RPC in a component]]
** There are two ways to do this:
** There are two ways to do this:
Line 58: Line 62:
* [[How to use JSimpleXML]]
* [[How to use JSimpleXML]]
** How to load and store XML files and how to work with them
** How to load and store XML files and how to work with them
* [[How to use JDate]]
** What JDate does and how to use it...
* [[How to add CSRF anti-spoofing to forms]]
** How to use JHTML::_( 'form.token' ) and token checking to secure components
* [[How to add breadcrumbs]]
* [[How to add breadcrumbs]]
* [[How to use the JTable class]]
* [[How to create component feeds]] (RSS/ATOM)
* [[How to create component feeds]] (RSS/ATOM)
* [[How to create PDF views]]
* [[How to create PDF views]]
Line 71: Line 70:
* How to access information from the request/browser
* How to access information from the request/browser
** This focuses on using the JBrowser class to retrieve information about the features available in the user's browser.
** This focuses on using the JBrowser class to retrieve information about the features available in the user's browser.
* [[How to create a search plugin]] (To be reviewed)
* [[How to create a content plugin]] (To be reviewed)
* [[How to create an editor plugin]]
* [[How to create an editor plugin]]
* [[How to create a system plugin]]
* [[What can be done with a user plugin]]
* [[What can be done with a user plugin]]
* [[How to create a module]]
* [[How to create a stand-alone application using the Joomla! Framework]]
* [[How to work with parameters]]
* [[How to work with parameters]]
* [[How to use the JToolBar class in the frontend]]
* [[How to use the JToolBar class in the frontend]]
* [[How to create a custom button]]
* [[How to use the editor in a component]]
* [[How to use the editor in a component]]
* [[How to use the JPane classes in a component]]
* [[How to cloak email addresses]]
* [[How to cloak email addresses]]
* [[JUser_example]]
* [[Form validation]]


== External Articles and Tutorials ==
[[Category:Development]]
 
[http://community.joomla.org/magazine/article/508-developer-localization-advancements-in-joomla-15.html Localization Advancements in Joomla! 1.5]
 
[http://developer.joomla.org/component/content/article/33-tutorials/165-understanding-output-overrides-in-joomla.html Understanding Output Overrides in Joomla! 1.5]

Revision as of 04:50, 9 July 2008

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


Participation

Reference Pages

Peruse all pages in the Category:Development category.

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

[[Category:Development]]

If you locate other articles you thing that are relevant to developer, please add this marker to those pages.

Articles and Tutorials on developer.joomla.org

Localization Advancements in Joomla! 1.5

Understanding Output Overrides in Joomla! 1.5

Preventing SQL Injections

Cookie Jar

Articles that need to be written.