<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://docs.joomla.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://docs.joomla.org/api.php?action=feedcontributions&amp;user=Oasisfleeting&amp;feedformat=atom</id>
		<title>Joomla! Documentation - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://docs.joomla.org/api.php?action=feedcontributions&amp;user=Oasisfleeting&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://docs.joomla.org/Special:Contributions/Oasisfleeting"/>
		<updated>2013-05-25T01:04:31Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.3</generator>

	<entry>
		<id>http://docs.joomla.org/Configuring_Komode_Edit_for_Joomla_Code_Completion</id>
		<title>Configuring Komode Edit for Joomla Code Completion</title>
		<link rel="alternate" type="text/html" href="http://docs.joomla.org/Configuring_Komode_Edit_for_Joomla_Code_Completion"/>
				<updated>2012-05-05T08:06:29Z</updated>
		
		<summary type="html">&lt;p&gt;Oasisfleeting: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Oasisfleeting</name></author>	</entry>

	<entry>
		<id>http://docs.joomla.org/Configuring_Komodo_Edit_for_Joomla_Code_Completion</id>
		<title>Configuring Komodo Edit for Joomla Code Completion</title>
		<link rel="alternate" type="text/html" href="http://docs.joomla.org/Configuring_Komodo_Edit_for_Joomla_Code_Completion"/>
				<updated>2012-05-05T08:06:24Z</updated>
		
		<summary type="html">&lt;p&gt;Oasisfleeting: Created page with &amp;quot;{{inuse}} {{RightTOC}}  == Introduction ==  This article provides instructions for setting up Komodo Edit and code completion for joomla.  == Installation ==  1.) Download and in...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{inuse}}&lt;br /&gt;
{{RightTOC}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This article provides instructions for setting up Komodo Edit and code completion for joomla.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
1.) Download and install the latest version of Komodo Edit from here. http://www.activestate.com/komodo-edit&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2.) Download the [http://www.joomla.org/ latest version]of Joomla.&lt;br /&gt;
&lt;br /&gt;
== Put Joomla Somewhere Safe ==&lt;br /&gt;
Once you have downloaded the latest version of Joomla from the link above you'll want to put it somewhere on your drive where it won't get lost or deleted by accident. Unpack the Joomla file you just downloaded to this location.&lt;br /&gt;
&lt;br /&gt;
== Adding Joomla Path To Komodo ==&lt;br /&gt;
Start the Komodo Edit software you just downloaded and installed and in the menu at the top you will see a menu option titled Edit. Go to Edit -&amp;gt; Preferences and a dialog will appear. Find Languages in the list on the left, expand it and you will see another list of languages, click PHP in the sublist.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On the right of the screen under PHP Directories you can specify any directories that you want Komodo to use for autocomplete and calltips. Komodo will recursibely scan these directories for information.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press the green plus icon to add a new directory and point it at the Joomla package you unzipped and placed somewhere safe. Mine is in &amp;quot;C:\joomla\joomla2_5\Joomla_2.5.4-Stable-Full_Package&amp;quot; press okay and the editor will add the all the joomla code to it's database and you'll have code completion as soon as it's done scanning.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now you're ready to start coding. Type &amp;quot;JFactory::&amp;quot; into your new php extension and Komodo will list all the methods available to JFactory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Oasisfleeting</name></author>	</entry>

	<entry>
		<id>http://docs.joomla.org/Setting_up_your_workstation_for_web_development</id>
		<title>Setting up your workstation for web development</title>
		<link rel="alternate" type="text/html" href="http://docs.joomla.org/Setting_up_your_workstation_for_web_development"/>
				<updated>2012-05-05T08:05:42Z</updated>
		
		<summary type="html">&lt;p&gt;Oasisfleeting: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconstruction}}&lt;br /&gt;
&lt;br /&gt;
{{RightTOC}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This article provides detailed instructions for setting up your workstation as a PHP development environment, not only for Joomla! it also should work fine for PHP development in general.&lt;br /&gt;
&lt;br /&gt;
'''Note''' There are many possible configurations for doing PHP development environments. Any environment that supports the basic AMP stack (Apache, MySql, PHP), Subversion and/or Git should be fine.&lt;br /&gt;
&lt;br /&gt;
== Choosing a code editor ==&lt;br /&gt;
&lt;br /&gt;
The PHP language code represented just by plain text that can be edited with simple text editors like:&lt;br /&gt;
&lt;br /&gt;
* Geany (opensource cross platform text editor)&lt;br /&gt;
* Gedit (opensource code editor for linux)&lt;br /&gt;
* Notepad++ (opensource code editor for Windows)&lt;br /&gt;
* Apple textEditor (Apple's basic text editor)&lt;br /&gt;
* Komodo Edit (Komodo Edit is a fast, smart, free and open-source code editor for Windows, Mac and Linux)&lt;br /&gt;
&lt;br /&gt;
But when you are about to work in more advanced and complex projects and need some coding assistance there is a handful of development tools called IDEs (Integrated Development Environment) these are some of them:&lt;br /&gt;
&lt;br /&gt;
* [[wikipedia:Eclipse_(software)|Elcipse IDE]] (opensource cross platform IDE)&lt;br /&gt;
* Netbeans IDE (opensource cross platform IDE)&lt;br /&gt;
* UltraEdit IDE (closed source cross platform IDE)&lt;br /&gt;
* Aptana IDE (opensource cross platform IDE)&lt;br /&gt;
* Shiftedit IDE&lt;br /&gt;
&lt;br /&gt;
As new emerging technologies we got other kind of editors available as an alternative to the traditional simple editors or desktop IDEs applications, among them we got: &lt;br /&gt;
&lt;br /&gt;
*Web based IDEs: editors that runs on the web&lt;br /&gt;
**Wiode&lt;br /&gt;
*Cloud based IDEs: editors that runs on the cloud&lt;br /&gt;
**Kodingen&lt;br /&gt;
**Codeita&lt;br /&gt;
**ShiftEdit&lt;br /&gt;
**jsFiddle&lt;br /&gt;
**PHPanywhere&lt;br /&gt;
*Browser based IDEs: editors that runs on your browser&lt;br /&gt;
**Cloud IDE (Google chrome extension)&lt;br /&gt;
**Cloud9 (Google Chrome extension)&lt;br /&gt;
**ShitEdit (Google Chrome extension)&lt;br /&gt;
**PHPanywhere (Google Chrome extension)&lt;br /&gt;
**Cloud IDE (Google Chrome extension)&lt;br /&gt;
&lt;br /&gt;
To empathize some of the advantages of the use of IDEs over simple text editors we got:&lt;br /&gt;
&lt;br /&gt;
*Some IDEs integrate and/or let you integrate more programming languages under the same tool such as PHP, Javascript, CSS, XML, etc...&lt;br /&gt;
*Some IDEs integrate and/or let you integrate assistive functions to develop code such as code completion, re-factoring, templates, advanced search/replace, syntax check, syntax coloring and more&lt;br /&gt;
*Some IDEs can analyze the project as a whole and build a map of relationships between the classes in use in your project giving you the opportunity to explore the project in a more comfortable and coherent way&lt;br /&gt;
*Some IDEs can analyse the current file under edition and give you a map of the different variables, functions and classes present on the file as a shortcut to navigate through the content&lt;br /&gt;
*Some IDEs integrate and/or let you integrate PHP debugging client under the same tool&lt;br /&gt;
*Some IDEs integrate and/or let you integrate several kind of source code revision control clients under the same tool&lt;br /&gt;
&lt;br /&gt;
Some of the advantages of simple text editors are:&lt;br /&gt;
&lt;br /&gt;
*This kind of editor are usually lightweight&lt;br /&gt;
*Some of these editors are great to do quick editions&lt;br /&gt;
*Some of these editors provide syntax coloring and basic code completion&lt;br /&gt;
&lt;br /&gt;
All these options can be used for the development of PHP projects, but for this article we are going to focus on '''Eclipse IDE''', feel free to add more alternatives and document them in the following list.&lt;br /&gt;
&lt;br /&gt;
* [[Configuring Eclipse IDE for PHP development]]&lt;br /&gt;
* [[Configuring Netbeans IDE for PHP development]]&lt;br /&gt;
* [[Configuring UltraEdit IDE for PHP development]]&lt;br /&gt;
* [[Configuring Komodo Edit for Joomla Code Completion]]&lt;br /&gt;
&lt;br /&gt;
== Choosing a web server ==&lt;br /&gt;
&lt;br /&gt;
To develop and test our PHP projects we need to execute the code in a web server capable of interpret PHP code and send the output to our browser, is good to know that we have a nice range of opensource tools to deploy a PHP webservers for our development environment such as:&lt;br /&gt;
&lt;br /&gt;
*[[wikipedia:LAMP_(software_bundle)|LAMP]] (AMP stack on Linux)&lt;br /&gt;
*[http://www.apachefriends.org/en/xampp.html XAMPP] (Cross platform AMP stack implementation)&lt;br /&gt;
*[http://www.wampserver.com/en/ WAMP] (AMP stack for Windows)&lt;br /&gt;
Also there is other commercial closed-source options such as:&lt;br /&gt;
*[[wikipedia:Internet_Information_Services | IIS]] (Microsoft webserver, the PHP and MySQL services got to be installed manually)&lt;br /&gt;
*others&lt;br /&gt;
&lt;br /&gt;
All these options can be used for the development of PHP projects, but for this article we are going to focus on '''LAMP server for Linux''' and a '''XAMPP server for windows''', feel free to add more alternatives and document them in the following list.&lt;br /&gt;
&lt;br /&gt;
* [[Configuring a LAMPP server for PHP development]]&lt;br /&gt;
* [[Configuring a XAMPP server for PHP development]]&lt;br /&gt;
* [[Configuring a WAMP server for PHP development]]&lt;br /&gt;
* [[Configuring an IIS server for PHP development]]&lt;br /&gt;
&lt;br /&gt;
== Choosing a Debugging tool ==&lt;br /&gt;
&lt;br /&gt;
Debugging tools are quite useful when you are developing a PHP project and you want to study how your code behave step by step on each line execution of your code, also these debugging tools let you see the real values of variables and objects and set new values on the fly for testing purposes, you can also create expression to check the outcome without modify your code.&lt;br /&gt;
&lt;br /&gt;
Old school and hardcore PHP programmers don't fraternize much with these kind of visual tools and they prefer to debug their code the old way using [[php:var_dump]] and other methods to display and analyze the output of the PHP code, is up to you what kind of tools you want to implement in your development workflow.&lt;br /&gt;
&lt;br /&gt;
There is several alternatives for PHP debugging, some of these are:&lt;br /&gt;
&lt;br /&gt;
*[[wikipedia:Xdebug|Xdebug]] (opensource debugging service for PHP)&lt;br /&gt;
*Zend Debugger (commercial debugging service for PHP)&lt;br /&gt;
&lt;br /&gt;
To empathize some of the advantages of the use of this kind of debugging tools we got:&lt;br /&gt;
&lt;br /&gt;
*You can stop (freeze) the execution of your PHP code any time placing a breakpoint&lt;br /&gt;
*You can inspect the current value of variables and objects without dumping the content&lt;br /&gt;
*You can execute the code step by step all the way from the beginning of the PHP code to the end of it and study how your application behaves under certain circumstances&lt;br /&gt;
*You can set or modify the value of variables and object on the fly and see the results of your changes without modify the original code at all&lt;br /&gt;
&lt;br /&gt;
All these options can be used for the development of PHP projects, but for this article we are going to focus on '''Xdebug''', feel free to add more alternatives and document them in the following list.&lt;br /&gt;
&lt;br /&gt;
* [[Configuring Xdebug for PHP development]]&lt;br /&gt;
* [[Configuring Zend Debugger for PHP development]]&lt;br /&gt;
&lt;br /&gt;
== Choosing a Version Control System ==&lt;br /&gt;
&lt;br /&gt;
Don't you hate when you are coding and suddenly by accident you just deleted a big chunk of text and there is no backups of that file to restore those important lines of code?, don't you hate when you are working with 2 or more developers in a project and everyone have a different copy of the project then comes the day of merge all those changes in one final project but everything goes wrong or the project does not want to run properly because someone did just overwrite some of your files?, for all this problems and many more exist some nice tools to bring you the solutions you need, some of these tools are:&lt;br /&gt;
&lt;br /&gt;
*[[wikipedia:Git_(software)|GIT]] (Is a distributed revision control and source code management)&lt;br /&gt;
*[[wikipedia:Apache_Subversion|SVN]] (Is a software versioning and revision control system)&lt;br /&gt;
&lt;br /&gt;
A Version Control System also known as VCS is a very important tool in the development of software projects, this tools keep track of all the changes you made in a file over the time, they also provide mechanisms to avoid version conflicts when 2 or more developers have made changes in the same files, another nice feature is that you can navigate back in time through the history of changes of a file and revert undesired changes if you want, tools like this make possible collaborative projects with thousand of developers around the world such as the Linux project were lot of people are constantly editing the project files every day and all the merging and revision process of thousand of files is automated by the VCS. Consider yourself some time to learn how to use this important tool.&lt;br /&gt;
&lt;br /&gt;
All these options can be used for the development of PHP projects, but for this article we are going to focus on '''GIT''', feel free to add more alternatives and document them in the following list.&lt;br /&gt;
&lt;br /&gt;
* [[Configuring GIT for PHP development]]&lt;br /&gt;
* [[Configuring SVN for PHP development]]&lt;br /&gt;
&lt;br /&gt;
== Choosing a project build system ==&lt;br /&gt;
To read the full definition of a project build system you can go [[wikipedia:Build_automation|here]] but in short, the project build systems help you to automatize those tedious and repetitive tasks that developers got to do in several stages of the development of a project, some of this tasks are:&lt;br /&gt;
&lt;br /&gt;
*Compiling source code&lt;br /&gt;
*Packaging (such as creating installers or final compressed files of individual libraries)&lt;br /&gt;
*Running tests&lt;br /&gt;
*Deployment to production systems (such as automatic upgrades and/or  installation)&lt;br /&gt;
*Creating documentation and/or release notes&lt;br /&gt;
&lt;br /&gt;
Looking at project build systems from another point of view we can say they are a tool to automate complex tasks or little tasks such as:&lt;br /&gt;
*Move a file from one place to another&lt;br /&gt;
*Compressing a folder with several files&lt;br /&gt;
*Upload a final build to a server&lt;br /&gt;
*Update the content of files such as XML files or some comment sections of PHP files to print the version of the last build&lt;br /&gt;
&lt;br /&gt;
A simple thing like the development of a Joomla! extensions such as a simple module could need the use of a project build system to gather all the information dispersed about the module in the Joomla! folder structure and put it back to the typical package structure of a module package with a simple build command, this could save you several minutes and headaches when you try to build a module or any extension manually and misplace a file or skip one of then in the final package. Consider your self some time to learn the proper use of project build systems and make them part of your regular development workflow.&lt;br /&gt;
&lt;br /&gt;
Exist several options for project build systems out there, some of those are:&lt;br /&gt;
*[http://www.phing.info/trac/ Phing Project] (Build tool that uses simple XML build files and extensible PHP &amp;quot;task&amp;quot; classes to describe the build process)&lt;br /&gt;
*[[wikipedia:Apache_Ant|Apache Ant]] (Build tool that uses simple XML build files to describe the build process, it needs JAVA to run)&lt;br /&gt;
&lt;br /&gt;
All these options can be used for the development of PHP projects, but for this article we are going to focus on '''Phing''', feel free to add more alternatives and document them in the following list.&lt;br /&gt;
&lt;br /&gt;
* [[Configuring Phing for PHP development]]&lt;br /&gt;
* [[Configuring Apache Ant for PHP development]]&lt;br /&gt;
&lt;br /&gt;
== Choosing a project management system ==&lt;br /&gt;
&lt;br /&gt;
Any decent project is complete without a project management system, this applications helps developers, users and community to the planning, organize and administrate the resources of the project such as time, developers, goals. More sophisticated and complete project management systems comes with issue tracking, documents &amp;amp; files management, wiki, forums, blogs, SCM integration and more, some of those tools are:&lt;br /&gt;
&lt;br /&gt;
*Web based applications&lt;br /&gt;
**ProjectFork [http://www.projectfork.net/]&lt;br /&gt;
**Redmine [http://www.redmine.org/]&lt;br /&gt;
*Cloud based applications&lt;br /&gt;
**GitHub [https://github.com/]&lt;br /&gt;
**SourceForge [http://sourceforge.net/]&lt;br /&gt;
**BitBucket [https://bitbucket.org/]&lt;br /&gt;
*Desktop based applications &lt;br /&gt;
**OpenProj - Project Management [http://sourceforge.net/projects/openproj/] &lt;br /&gt;
**GanttProject [http://www.ganttproject.biz/]&lt;br /&gt;
**MS Project [http://www.ganttproject.biz/] (proprietary software)&lt;br /&gt;
&lt;br /&gt;
Some of these options are tools to control the administrative part of a almost any project like planing, resources, etc, but not all the features like code tracking, bug tracking and issue tracking, other tools like redmine got lot of features even more that some small projects needs and online services like Github gives you lots of features for free without the need of setting up a server to install the project manager.&lt;br /&gt;
&lt;br /&gt;
All these options can be used for the development of PHP projects, but for this article we are going to focus on '''ProjectFork''', feel free to add more alternatives and document them in the following list.&lt;br /&gt;
&lt;br /&gt;
* [[Configuring ProjectFork to administrate a PHP development project]]&lt;br /&gt;
* [[Configuring GitHub to administrate a PHP development project]]&lt;br /&gt;
* [[Configuring SourceForge to administrate a PHP development project]]&lt;br /&gt;
* [[Configuring Redmine to administrate a PHP development project]]&lt;br /&gt;
&lt;br /&gt;
== Considerations for your future as developer  ==&lt;br /&gt;
&lt;br /&gt;
Whether you plan or not to develop extensions for Joomla or any other PHP platform, this articles gives you nice initial vision on how configure your workstation and what tools you can use to organize yourself and your project, this are very important topics to study in detail to level up your professional skills.&lt;br /&gt;
&lt;br /&gt;
There is no excuse to not use one of these tools explained in this article, not even for small projects, you should always try to be as much professional as you can and you will see that the amount of problems, building, bug tracking and other common an repetitive issues will be easy to manage with your client and coworker, imagine yourself creating copies of your project over and over, and no one have a control to which one is the last version, imagine your client sending you emails or chat messages constantly to tell you about a simple bug he/she found or just want to do a modification of some specific feature like the color or the size of a html object, that is a total pain, you better configure yourself project management system to keep all those bugs ans issue well organized.&lt;br /&gt;
&lt;br /&gt;
As a final note for this article here are some other important consideration for your future as developer:&lt;br /&gt;
&lt;br /&gt;
*Do '''not''' use [[wikipedia:Sneakernet|Sneakernet]] to handle the documents of your project&lt;br /&gt;
*Consider the possibility of host your project in the cloud with Github, SourceForge, Bitbucket and others, this services comes with a lot of nice features like, blogs, issue trackers, version control, forums and more.&lt;br /&gt;
*Subscribe to security forums or security mailing lists&lt;br /&gt;
*Collaborate with the documentation effort gives you direct and indirect benefits at short and long term during your career as developer&lt;br /&gt;
*Keep an open mind and always give a try to different and new alternatives for tools as much as you can to helps your self gain knowledge and confidence when you need to chose a tool or solve a problem&lt;br /&gt;
*Consider your self to invest some of your time as a novice developer to help others in support forums or support IRC channels, this will give you an invaluable experience to learn how to deal with real people with real problems from different parts of the world, and who knows some of them could be or will be your future clients, in other words this is a win win situation you win experience knowledge and future clients&lt;br /&gt;
*Conserve your mouth 'Ecologic', is a bad habit from some novice developers to say this or that tool 'sucks' or 'stinks' because they don't know how to use them correctly, is not fair says that a Jackhammer 'sucks' because is really hard to nail a photo portrait to the wall with it, so try to not emit 'destructive' comments if you don't really understand how the tool operate&lt;br /&gt;
&lt;br /&gt;
== Documentation support and discussion ==&lt;br /&gt;
&lt;br /&gt;
For suggestions, observations, report a bug in the code or errors in the configurations or procedures described in this document feel free to post a message in the discussion page or post a message in the following forum boards&lt;br /&gt;
&lt;br /&gt;
*Topics related to the documentation: {{jforum|doc}}&lt;br /&gt;
*Any other topic: {{jforum}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Oasisfleeting</name></author>	</entry>

	<entry>
		<id>http://docs.joomla.org/Configuring_Komode_Edit_for_Joomla_Code_Completion</id>
		<title>Configuring Komode Edit for Joomla Code Completion</title>
		<link rel="alternate" type="text/html" href="http://docs.joomla.org/Configuring_Komode_Edit_for_Joomla_Code_Completion"/>
				<updated>2012-05-05T08:04:29Z</updated>
		
		<summary type="html">&lt;p&gt;Oasisfleeting: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{inuse}}&lt;br /&gt;
{{RightTOC}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This article provides instructions for setting up Komodo Edit and code completion for joomla.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
1.) Download and install the latest version of Komodo Edit from here. http://www.activestate.com/komodo-edit&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2.) Download the [http://www.joomla.org/ latest version]of Joomla.&lt;br /&gt;
&lt;br /&gt;
== Put Joomla Somewhere Safe ==&lt;br /&gt;
Once you have downloaded the latest version of Joomla from the link above you'll want to put it somewhere on your drive where it won't get lost or deleted by accident. Unpack the Joomla file you just downloaded to this location.&lt;br /&gt;
&lt;br /&gt;
== Adding Joomla Path To Komodo ==&lt;br /&gt;
Start the Komodo Edit software you just downloaded and installed and in the menu at the top you will see a menu option titled Edit. Go to Edit -&amp;gt; Preferences and a dialog will appear. Find Languages in the list on the left, expand it and you will see another list of languages, click PHP in the sublist.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On the right of the screen under PHP Directories you can specify any directories that you want Komodo to use for autocomplete and calltips. Komodo will recursibely scan these directories for information.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press the green plus icon to add a new directory and point it at the Joomla package you unzipped and placed somewhere safe. Mine is in &amp;quot;C:\joomla\joomla2_5\Joomla_2.5.4-Stable-Full_Package&amp;quot; press okay and the editor will add the all the joomla code to it's database and you'll have code completion as soon as it's done scanning.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now you're ready to start coding. Type &amp;quot;JFactory::&amp;quot; into your new php extension and Komodo will list all the methods available to JFactory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Oasisfleeting</name></author>	</entry>

	<entry>
		<id>http://docs.joomla.org/Configuring_Komode_Edit_for_Joomla_Code_Completion</id>
		<title>Configuring Komode Edit for Joomla Code Completion</title>
		<link rel="alternate" type="text/html" href="http://docs.joomla.org/Configuring_Komode_Edit_for_Joomla_Code_Completion"/>
				<updated>2012-05-05T08:03:44Z</updated>
		
		<summary type="html">&lt;p&gt;Oasisfleeting: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{inuse}}&lt;br /&gt;
{{RightTOC}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This article provides instructions for setting up Komodo Edit and code completion for joomla.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
1.) Download and install the latest version of Komodo Edit from here. http://www.activestate.com/komodo-edit&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2.) Download the [http://www.joomla.org/ latest version]of Joomla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Put Joomla Somewhere Safe ==&lt;br /&gt;
Once you have downloaded the latest version of Joomla from the link above you'll want to put it somewhere on your drive where it won't get lost or deleted by accident. Unpack the Joomla file you just downloaded to this location.&lt;br /&gt;
&lt;br /&gt;
== Adding Joomla Path To Komodo ==&lt;br /&gt;
Start the Komodo Edit software you just downloaded and installed and in the menu at the top you will see a menu option titled Edit. Go to Edit -&amp;gt; Preferences and a dialog will appear. Find Languages in the list on the left, expand it and you will see another list of languages, click PHP in the sublist.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On the right of the screen under PHP Directories you can specify any directories that you want Komodo to use for autocomplete and calltips. Komodo will recursibely scan these directories for information.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Press the green plus icon to add a new directory and point it at the Joomla package you unzipped and placed somewhere safe. Mine is in &amp;quot;C:\joomla\joomla2_5\Joomla_2.5.4-Stable-Full_Package&amp;quot; press okay and the editor will add the all the joomla code to it's database and you'll have code completion as soon as it's done scanning.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now you're ready to start coding. Type &amp;quot;JFactory::&amp;quot; into your new php extension and Komodo will list all the methods available to JFactory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Oasisfleeting</name></author>	</entry>

	<entry>
		<id>http://docs.joomla.org/Configuring_Komode_Edit_for_Joomla_Code_Completion</id>
		<title>Configuring Komode Edit for Joomla Code Completion</title>
		<link rel="alternate" type="text/html" href="http://docs.joomla.org/Configuring_Komode_Edit_for_Joomla_Code_Completion"/>
				<updated>2012-05-05T07:22:23Z</updated>
		
		<summary type="html">&lt;p&gt;Oasisfleeting: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{inuse}}&lt;br /&gt;
{{RightTOC}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This article provides instructions for setting up Komodo Edit and code completion for joomla.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
1.) Download and install the latest version of Komodo Edit from here. http://www.activestate.com/komodo-edit&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2.) Download the [http://www.joomla.org/ latest version]of Joomla.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 1st test for Apache ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 1st test for PHP server ===&lt;br /&gt;
&lt;br /&gt;
=== 1st test for phpMyAdmin ===&lt;br /&gt;
&lt;br /&gt;
== Understanding the folder structure ==&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
== Fine tuning ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Oasisfleeting</name></author>	</entry>

	<entry>
		<id>http://docs.joomla.org/Configuring_Komode_Edit_for_Joomla_Code_Completion</id>
		<title>Configuring Komode Edit for Joomla Code Completion</title>
		<link rel="alternate" type="text/html" href="http://docs.joomla.org/Configuring_Komode_Edit_for_Joomla_Code_Completion"/>
				<updated>2012-05-05T07:15:08Z</updated>
		
		<summary type="html">&lt;p&gt;Oasisfleeting: Created page with &amp;quot;testing this page.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;testing this page.&lt;/div&gt;</summary>
		<author><name>Oasisfleeting</name></author>	</entry>

	<entry>
		<id>http://docs.joomla.org/Setting_up_your_workstation_for_web_development</id>
		<title>Setting up your workstation for web development</title>
		<link rel="alternate" type="text/html" href="http://docs.joomla.org/Setting_up_your_workstation_for_web_development"/>
				<updated>2012-05-05T07:13:12Z</updated>
		
		<summary type="html">&lt;p&gt;Oasisfleeting: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconstruction}}&lt;br /&gt;
&lt;br /&gt;
{{RightTOC}}&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
This article provides detailed instructions for setting up your workstation as a PHP development environment, not only for Joomla! it also should work fine for PHP development in general.&lt;br /&gt;
&lt;br /&gt;
'''Note''' There are many possible configurations for doing PHP development environments. Any environment that supports the basic AMP stack (Apache, MySql, PHP), Subversion and/or Git should be fine.&lt;br /&gt;
&lt;br /&gt;
== Choosing a code editor ==&lt;br /&gt;
&lt;br /&gt;
The PHP language code represented just by plain text that can be edited with simple text editors like:&lt;br /&gt;
&lt;br /&gt;
* Geany (opensource cross platform text editor)&lt;br /&gt;
* Gedit (opensource code editor for linux)&lt;br /&gt;
* Notepad++ (opensource code editor for Windows)&lt;br /&gt;
* Apple textEditor (Apple's basic text editor)&lt;br /&gt;
* Komodo Edit (Komodo Edit is a fast, smart, free and open-source code editor for Windows, Mac and Linux)&lt;br /&gt;
&lt;br /&gt;
But when you are about to work in more advanced and complex projects and need some coding assistance there is a handful of development tools called IDEs (Integrated Development Environment) these are some of them:&lt;br /&gt;
&lt;br /&gt;
* [[wikipedia:Eclipse_(software)|Elcipse IDE]] (opensource cross platform IDE)&lt;br /&gt;
* Netbeans IDE (opensource cross platform IDE)&lt;br /&gt;
* UltraEdit IDE (closed source cross platform IDE)&lt;br /&gt;
* Aptana IDE (opensource cross platform IDE)&lt;br /&gt;
* Shiftedit IDE&lt;br /&gt;
&lt;br /&gt;
As new emerging technologies we got other kind of editors available as an alternative to the traditional simple editors or desktop IDEs applications, among them we got: &lt;br /&gt;
&lt;br /&gt;
*Web based IDEs: editors that runs on the web&lt;br /&gt;
**Wiode&lt;br /&gt;
*Cloud based IDEs: editors that runs on the cloud&lt;br /&gt;
**Kodingen&lt;br /&gt;
**Codeita&lt;br /&gt;
**ShiftEdit&lt;br /&gt;
**jsFiddle&lt;br /&gt;
**PHPanywhere&lt;br /&gt;
*Browser based IDEs: editors that runs on your browser&lt;br /&gt;
**Cloud IDE (Google chrome extension)&lt;br /&gt;
**Cloud9 (Google Chrome extension)&lt;br /&gt;
**ShitEdit (Google Chrome extension)&lt;br /&gt;
**PHPanywhere (Google Chrome extension)&lt;br /&gt;
**Cloud IDE (Google Chrome extension)&lt;br /&gt;
&lt;br /&gt;
To empathize some of the advantages of the use of IDEs over simple text editors we got:&lt;br /&gt;
&lt;br /&gt;
*Some IDEs integrate and/or let you integrate more programming languages under the same tool such as PHP, Javascript, CSS, XML, etc...&lt;br /&gt;
*Some IDEs integrate and/or let you integrate assistive functions to develop code such as code completion, re-factoring, templates, advanced search/replace, syntax check, syntax coloring and more&lt;br /&gt;
*Some IDEs can analyze the project as a whole and build a map of relationships between the classes in use in your project giving you the opportunity to explore the project in a more comfortable and coherent way&lt;br /&gt;
*Some IDEs can analyse the current file under edition and give you a map of the different variables, functions and classes present on the file as a shortcut to navigate through the content&lt;br /&gt;
*Some IDEs integrate and/or let you integrate PHP debugging client under the same tool&lt;br /&gt;
*Some IDEs integrate and/or let you integrate several kind of source code revision control clients under the same tool&lt;br /&gt;
&lt;br /&gt;
Some of the advantages of simple text editors are:&lt;br /&gt;
&lt;br /&gt;
*This kind of editor are usually lightweight&lt;br /&gt;
*Some of these editors are great to do quick editions&lt;br /&gt;
*Some of these editors provide syntax coloring and basic code completion&lt;br /&gt;
&lt;br /&gt;
All these options can be used for the development of PHP projects, but for this article we are going to focus on '''Eclipse IDE''', feel free to add more alternatives and document them in the following list.&lt;br /&gt;
&lt;br /&gt;
* [[Configuring Eclipse IDE for PHP development]]&lt;br /&gt;
* [[Configuring Netbeans IDE for PHP development]]&lt;br /&gt;
* [[Configuring UltraEdit IDE for PHP development]]&lt;br /&gt;
* [[Configuring Komode Edit for Joomla Code Completion]]&lt;br /&gt;
&lt;br /&gt;
== Choosing a web server ==&lt;br /&gt;
&lt;br /&gt;
To develop and test our PHP projects we need to execute the code in a web server capable of interpret PHP code and send the output to our browser, is good to know that we have a nice range of opensource tools to deploy a PHP webservers for our development environment such as:&lt;br /&gt;
&lt;br /&gt;
*[[wikipedia:LAMP_(software_bundle)|LAMP]] (AMP stack on Linux)&lt;br /&gt;
*[http://www.apachefriends.org/en/xampp.html XAMPP] (Cross platform AMP stack implementation)&lt;br /&gt;
*[http://www.wampserver.com/en/ WAMP] (AMP stack for Windows)&lt;br /&gt;
Also there is other commercial closed-source options such as:&lt;br /&gt;
*[[wikipedia:Internet_Information_Services | IIS]] (Microsoft webserver, the PHP and MySQL services got to be installed manually)&lt;br /&gt;
*others&lt;br /&gt;
&lt;br /&gt;
All these options can be used for the development of PHP projects, but for this article we are going to focus on '''LAMP server for Linux''' and a '''XAMPP server for windows''', feel free to add more alternatives and document them in the following list.&lt;br /&gt;
&lt;br /&gt;
* [[Configuring a LAMPP server for PHP development]]&lt;br /&gt;
* [[Configuring a XAMPP server for PHP development]]&lt;br /&gt;
* [[Configuring a WAMP server for PHP development]]&lt;br /&gt;
* [[Configuring an IIS server for PHP development]]&lt;br /&gt;
&lt;br /&gt;
== Choosing a Debugging tool ==&lt;br /&gt;
&lt;br /&gt;
Debugging tools are quite useful when you are developing a PHP project and you want to study how your code behave step by step on each line execution of your code, also these debugging tools let you see the real values of variables and objects and set new values on the fly for testing purposes, you can also create expression to check the outcome without modify your code.&lt;br /&gt;
&lt;br /&gt;
Old school and hardcore PHP programmers don't fraternize much with these kind of visual tools and they prefer to debug their code the old way using [[php:var_dump]] and other methods to display and analyze the output of the PHP code, is up to you what kind of tools you want to implement in your development workflow.&lt;br /&gt;
&lt;br /&gt;
There is several alternatives for PHP debugging, some of these are:&lt;br /&gt;
&lt;br /&gt;
*[[wikipedia:Xdebug|Xdebug]] (opensource debugging service for PHP)&lt;br /&gt;
*Zend Debugger (commercial debugging service for PHP)&lt;br /&gt;
&lt;br /&gt;
To empathize some of the advantages of the use of this kind of debugging tools we got:&lt;br /&gt;
&lt;br /&gt;
*You can stop (freeze) the execution of your PHP code any time placing a breakpoint&lt;br /&gt;
*You can inspect the current value of variables and objects without dumping the content&lt;br /&gt;
*You can execute the code step by step all the way from the beginning of the PHP code to the end of it and study how your application behaves under certain circumstances&lt;br /&gt;
*You can set or modify the value of variables and object on the fly and see the results of your changes without modify the original code at all&lt;br /&gt;
&lt;br /&gt;
All these options can be used for the development of PHP projects, but for this article we are going to focus on '''Xdebug''', feel free to add more alternatives and document them in the following list.&lt;br /&gt;
&lt;br /&gt;
* [[Configuring Xdebug for PHP development]]&lt;br /&gt;
* [[Configuring Zend Debugger for PHP development]]&lt;br /&gt;
&lt;br /&gt;
== Choosing a Version Control System ==&lt;br /&gt;
&lt;br /&gt;
Don't you hate when you are coding and suddenly by accident you just deleted a big chunk of text and there is no backups of that file to restore those important lines of code?, don't you hate when you are working with 2 or more developers in a project and everyone have a different copy of the project then comes the day of merge all those changes in one final project but everything goes wrong or the project does not want to run properly because someone did just overwrite some of your files?, for all this problems and many more exist some nice tools to bring you the solutions you need, some of these tools are:&lt;br /&gt;
&lt;br /&gt;
*[[wikipedia:Git_(software)|GIT]] (Is a distributed revision control and source code management)&lt;br /&gt;
*[[wikipedia:Apache_Subversion|SVN]] (Is a software versioning and revision control system)&lt;br /&gt;
&lt;br /&gt;
A Version Control System also known as VCS is a very important tool in the development of software projects, this tools keep track of all the changes you made in a file over the time, they also provide mechanisms to avoid version conflicts when 2 or more developers have made changes in the same files, another nice feature is that you can navigate back in time through the history of changes of a file and revert undesired changes if you want, tools like this make possible collaborative projects with thousand of developers around the world such as the Linux project were lot of people are constantly editing the project files every day and all the merging and revision process of thousand of files is automated by the VCS. Consider yourself some time to learn how to use this important tool.&lt;br /&gt;
&lt;br /&gt;
All these options can be used for the development of PHP projects, but for this article we are going to focus on '''GIT''', feel free to add more alternatives and document them in the following list.&lt;br /&gt;
&lt;br /&gt;
* [[Configuring GIT for PHP development]]&lt;br /&gt;
* [[Configuring SVN for PHP development]]&lt;br /&gt;
&lt;br /&gt;
== Choosing a project build system ==&lt;br /&gt;
To read the full definition of a project build system you can go [[wikipedia:Build_automation|here]] but in short, the project build systems help you to automatize those tedious and repetitive tasks that developers got to do in several stages of the development of a project, some of this tasks are:&lt;br /&gt;
&lt;br /&gt;
*Compiling source code&lt;br /&gt;
*Packaging (such as creating installers or final compressed files of individual libraries)&lt;br /&gt;
*Running tests&lt;br /&gt;
*Deployment to production systems (such as automatic upgrades and/or  installation)&lt;br /&gt;
*Creating documentation and/or release notes&lt;br /&gt;
&lt;br /&gt;
Looking at project build systems from another point of view we can say they are a tool to automate complex tasks or little tasks such as:&lt;br /&gt;
*Move a file from one place to another&lt;br /&gt;
*Compressing a folder with several files&lt;br /&gt;
*Upload a final build to a server&lt;br /&gt;
*Update the content of files such as XML files or some comment sections of PHP files to print the version of the last build&lt;br /&gt;
&lt;br /&gt;
A simple thing like the development of a Joomla! extensions such as a simple module could need the use of a project build system to gather all the information dispersed about the module in the Joomla! folder structure and put it back to the typical package structure of a module package with a simple build command, this could save you several minutes and headaches when you try to build a module or any extension manually and misplace a file or skip one of then in the final package. Consider your self some time to learn the proper use of project build systems and make them part of your regular development workflow.&lt;br /&gt;
&lt;br /&gt;
Exist several options for project build systems out there, some of those are:&lt;br /&gt;
*[http://www.phing.info/trac/ Phing Project] (Build tool that uses simple XML build files and extensible PHP &amp;quot;task&amp;quot; classes to describe the build process)&lt;br /&gt;
*[[wikipedia:Apache_Ant|Apache Ant]] (Build tool that uses simple XML build files to describe the build process, it needs JAVA to run)&lt;br /&gt;
&lt;br /&gt;
All these options can be used for the development of PHP projects, but for this article we are going to focus on '''Phing''', feel free to add more alternatives and document them in the following list.&lt;br /&gt;
&lt;br /&gt;
* [[Configuring Phing for PHP development]]&lt;br /&gt;
* [[Configuring Apache Ant for PHP development]]&lt;br /&gt;
&lt;br /&gt;
== Choosing a project management system ==&lt;br /&gt;
&lt;br /&gt;
Any decent project is complete without a project management system, this applications helps developers, users and community to the planning, organize and administrate the resources of the project such as time, developers, goals. More sophisticated and complete project management systems comes with issue tracking, documents &amp;amp; files management, wiki, forums, blogs, SCM integration and more, some of those tools are:&lt;br /&gt;
&lt;br /&gt;
*Web based applications&lt;br /&gt;
**ProjectFork [http://www.projectfork.net/]&lt;br /&gt;
**Redmine [http://www.redmine.org/]&lt;br /&gt;
*Cloud based applications&lt;br /&gt;
**GitHub [https://github.com/]&lt;br /&gt;
**SourceForge [http://sourceforge.net/]&lt;br /&gt;
**BitBucket [https://bitbucket.org/]&lt;br /&gt;
*Desktop based applications &lt;br /&gt;
**OpenProj - Project Management [http://sourceforge.net/projects/openproj/] &lt;br /&gt;
**GanttProject [http://www.ganttproject.biz/]&lt;br /&gt;
**MS Project [http://www.ganttproject.biz/] (proprietary software)&lt;br /&gt;
&lt;br /&gt;
Some of these options are tools to control the administrative part of a almost any project like planing, resources, etc, but not all the features like code tracking, bug tracking and issue tracking, other tools like redmine got lot of features even more that some small projects needs and online services like Github gives you lots of features for free without the need of setting up a server to install the project manager.&lt;br /&gt;
&lt;br /&gt;
All these options can be used for the development of PHP projects, but for this article we are going to focus on '''ProjectFork''', feel free to add more alternatives and document them in the following list.&lt;br /&gt;
&lt;br /&gt;
* [[Configuring ProjectFork to administrate a PHP development project]]&lt;br /&gt;
* [[Configuring GitHub to administrate a PHP development project]]&lt;br /&gt;
* [[Configuring SourceForge to administrate a PHP development project]]&lt;br /&gt;
* [[Configuring Redmine to administrate a PHP development project]]&lt;br /&gt;
&lt;br /&gt;
== Considerations for your future as developer  ==&lt;br /&gt;
&lt;br /&gt;
Whether you plan or not to develop extensions for Joomla or any other PHP platform, this articles gives you nice initial vision on how configure your workstation and what tools you can use to organize yourself and your project, this are very important topics to study in detail to level up your professional skills.&lt;br /&gt;
&lt;br /&gt;
There is no excuse to not use one of these tools explained in this article, not even for small projects, you should always try to be as much professional as you can and you will see that the amount of problems, building, bug tracking and other common an repetitive issues will be easy to manage with your client and coworker, imagine yourself creating copies of your project over and over, and no one have a control to which one is the last version, imagine your client sending you emails or chat messages constantly to tell you about a simple bug he/she found or just want to do a modification of some specific feature like the color or the size of a html object, that is a total pain, you better configure yourself project management system to keep all those bugs ans issue well organized.&lt;br /&gt;
&lt;br /&gt;
As a final note for this article here are some other important consideration for your future as developer:&lt;br /&gt;
&lt;br /&gt;
*Do '''not''' use [[wikipedia:Sneakernet|Sneakernet]] to handle the documents of your project&lt;br /&gt;
*Consider the possibility of host your project in the cloud with Github, SourceForge, Bitbucket and others, this services comes with a lot of nice features like, blogs, issue trackers, version control, forums and more.&lt;br /&gt;
*Subscribe to security forums or security mailing lists&lt;br /&gt;
*Collaborate with the documentation effort gives you direct and indirect benefits at short and long term during your career as developer&lt;br /&gt;
*Keep an open mind and always give a try to different and new alternatives for tools as much as you can to helps your self gain knowledge and confidence when you need to chose a tool or solve a problem&lt;br /&gt;
*Consider your self to invest some of your time as a novice developer to help others in support forums or support IRC channels, this will give you an invaluable experience to learn how to deal with real people with real problems from different parts of the world, and who knows some of them could be or will be your future clients, in other words this is a win win situation you win experience knowledge and future clients&lt;br /&gt;
*Conserve your mouth 'Ecologic', is a bad habit from some novice developers to say this or that tool 'sucks' or 'stinks' because they don't know how to use them correctly, is not fair says that a Jackhammer 'sucks' because is really hard to nail a photo portrait to the wall with it, so try to not emit 'destructive' comments if you don't really understand how the tool operate&lt;br /&gt;
&lt;br /&gt;
== Documentation support and discussion ==&lt;br /&gt;
&lt;br /&gt;
For suggestions, observations, report a bug in the code or errors in the configurations or procedures described in this document feel free to post a message in the discussion page or post a message in the following forum boards&lt;br /&gt;
&lt;br /&gt;
*Topics related to the documentation: {{jforum|doc}}&lt;br /&gt;
*Any other topic: {{jforum}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Oasisfleeting</name></author>	</entry>

	<entry>
		<id>http://docs.joomla.org/Deploying_an_Update_Server</id>
		<title>Deploying an Update Server</title>
		<link rel="alternate" type="text/html" href="http://docs.joomla.org/Deploying_an_Update_Server"/>
				<updated>2012-01-12T05:21:53Z</updated>
		
		<summary type="html">&lt;p&gt;Oasisfleeting: /* Extension */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
&lt;br /&gt;
This tutorial is for {{JVer|1.6}} and {{JVer|1.7}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This tutorial is designed to teach developers how to create an update server for integration with the update system introduced in Joomla! 1.6.  By adding an update server listing to your extension's manifest, developers enable users to update their extensions via the [[Help16:Extensions Extension Manager Update|Extension Manager's Update]] view with only a few clicks.&lt;br /&gt;
&lt;br /&gt;
= Defining an update server =&lt;br /&gt;
In order to use this feature, an update server must be defined in your extension's manifest.  This definition can be used in all Joomla! 1.6 and 1.7 compatible extensions but is not available for templates.  You can use two options for your server type; collection or extension.  These will be explained in detail shortly.  The update server is defined as follows for each type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;updateservers&amp;gt;&lt;br /&gt;
    &amp;lt;server type=&amp;quot;collection&amp;quot;&amp;gt;http://example.com/list.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;server type=&amp;quot;extension&amp;quot; priority=&amp;quot;2&amp;quot; name=&amp;quot;My Extension's Updates&amp;quot;&amp;gt;http://example.com/extension.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
 &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multiple servers can be defined within the &amp;lt;updateservers&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
= Server types =&lt;br /&gt;
== Collection ==&lt;br /&gt;
The collection server type allows developers to define an extension's manifest to pull updates from a collection.  This type of server can be used if the developer wants to define all of their extension's updates in a single file (not recommended) or if their extension has multiple sub-extensions which are not distributed or updated at the same time (such as a package extension type).  The below example is the collection definition used by the updater when processing core Joomla! updates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;extensionset name=&amp;quot;Joomla Core&amp;quot; description=&amp;quot;Joomla! Core&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;extension name=&amp;quot;Joomla&amp;quot; element=&amp;quot;joomla&amp;quot; type=&amp;quot;file&amp;quot; version=&amp;quot;1.7.0&amp;quot; detailsurl=&amp;quot;http://update.joomla.org/core/extension.xml&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/extensionset&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All definitions must be defined between &amp;lt;extensionset&amp;gt; tags in your collection manifest.  The &amp;lt;extensionset&amp;gt; tag has two optional parameters; name and description.  For each extension that this collection references, a separate &amp;lt;extension&amp;gt; tag is required.  The &amp;lt;extension&amp;gt; tag has the following parameters, all of which are required for updates to properly process:&lt;br /&gt;
&lt;br /&gt;
* '''name''' - The name of the extension&lt;br /&gt;
* '''element''' - The untranslated extension name i.e. mod_custom&lt;br /&gt;
* '''type''' - The extension type (component, module, plugin, etc.)&lt;br /&gt;
* '''version''' - The latest version of the extension&lt;br /&gt;
* '''detailsurl''' - The URL of the XML file which contains that extension's individual update definitions&lt;br /&gt;
&lt;br /&gt;
== Extension ==&lt;br /&gt;
The extension server type allows developers to define an extension's manifest to pull updates from a single extension's manifest.  All collection manifests eventually point to this XML file.  All updates in this file must be defined after an &amp;lt;updates&amp;gt; tag at the beginning of the file.  The below example is the update definition for the Joomla! 1.7.0 release:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;update&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Joomla! 1.7&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Joomla! 1.7 CMS&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;element&amp;gt;joomla&amp;lt;/element&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;file&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;1.7.0&amp;lt;/version&amp;gt;&lt;br /&gt;
    &amp;lt;infourl title=&amp;quot;Joomla!&amp;quot;&amp;gt;http://www.joomla.org/&amp;lt;/infourl&amp;gt;&lt;br /&gt;
    &amp;lt;downloads&amp;gt;&lt;br /&gt;
        &amp;lt;downloadurl type=&amp;quot;full&amp;quot; format=&amp;quot;zip&amp;quot;&amp;gt;http://joomlacode.org/gf/download/frsrelease/15279/66552/Joomla_1.6.5_to_1.7.0_Package.zip&amp;lt;/downloadurl&amp;gt;&lt;br /&gt;
    &amp;lt;/downloads&amp;gt;&lt;br /&gt;
    &amp;lt;tags&amp;gt;&lt;br /&gt;
        &amp;lt;tag&amp;gt;stable&amp;lt;/tag&amp;gt;&lt;br /&gt;
    &amp;lt;/tags&amp;gt;&lt;br /&gt;
    &amp;lt;maintainer&amp;gt;Sam Moffatt&amp;lt;/maintainer&amp;gt;&lt;br /&gt;
    &amp;lt;maintainerurl&amp;gt;http://sammoffatt.com.au&amp;lt;/maintainerurl&amp;gt;&lt;br /&gt;
    &amp;lt;section&amp;gt;Testing&amp;lt;/section&amp;gt;&lt;br /&gt;
    &amp;lt;targetplatform name=&amp;quot;joomla&amp;quot; version=&amp;quot;1.6&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/update&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following section describes the elements of a single update entity.&lt;br /&gt;
&lt;br /&gt;
* '''name''' - The name of the extension, this name will appear in the Name column of the Extension Manager's Update view (required)&lt;br /&gt;
* '''description''' - A short description of the extension (optional) -- if you choose to use &amp;lt;![CDATA[]]&amp;gt;, double-quotes will break the HTML formatting.  Use single quotes with your HTML entities.&lt;br /&gt;
* '''element''' - The installed name of the extension (required)&lt;br /&gt;
* '''type''' - The type of extension (component, module, plugin, etc.) (required)&lt;br /&gt;
* '''folder''' - Specific to plugins, this tag describes the type of plugin being updated (content, system, etc.) (required for plugins)&lt;br /&gt;
* '''client_id''' - The client_id of the extension; 0 for site and 1 for administrator (required for plugins) (required for modules also in 1.7.3. Shouldn't be required once 2.5 is stable.)&lt;br /&gt;
* '''version''' - The version of the release (required)&lt;br /&gt;
* '''infourl''' - A URL to point users to containing information about the update (optional)&lt;br /&gt;
* '''downloads''' - The section which lists all download locations&lt;br /&gt;
** '''downloadurl''' - The URL to download the extension from; the &amp;lt;downloadurl&amp;gt; tag has two required parameters:&lt;br /&gt;
*** '''type''' - The type of package (full or upgrade)&lt;br /&gt;
*** '''format''' - The format of the package (zip, tar, etc.)&lt;br /&gt;
* '''tags''' - Optional (unknown use)&lt;br /&gt;
* '''maintainer''' - The name of the extension maintainer (similar to the &amp;lt;author&amp;gt; tag in a manifest) (optional)&lt;br /&gt;
* '''maintainerurl''' - The website of the extension maintainer (similar to the &amp;lt;authorUrl&amp;gt; tag in a manifest) (optional)&lt;br /&gt;
* '''section''' - Optional (unknown use)&lt;br /&gt;
* '''targetplatform''' - A tag to define platform requirements, requires the following elements&lt;br /&gt;
** '''name''' - The name of the platform dependency; as of this writing, it should ONLY be &amp;quot;joomla&amp;quot;&lt;br /&gt;
** '''version''' - The version of Joomla! the extension supports&lt;br /&gt;
*** '''Note:''' If your extension is both Joomla! 1.6 and 1.7 compatible, you will be required to have two &amp;lt;update&amp;gt; definitions; one with the targetplaform being 1.6 and the other being 1.7 due to the manner in which the updater checks the version&lt;br /&gt;
&lt;br /&gt;
A separate &amp;lt;update&amp;gt; definition will be required for each version of your extension you release.&lt;br /&gt;
&lt;br /&gt;
= Supporting Tools =&lt;br /&gt;
Maintaining your update server files can be difficult depending on the manner in which you set up your files.  An extension which can help you to maintain this is the Akeeba Release System, available free of charge from https://www.akeebabackup.com&lt;br /&gt;
&lt;br /&gt;
= Contributors =&lt;br /&gt;
*[[User:mbabker|Michael Babker]]&lt;/div&gt;</summary>
		<author><name>Oasisfleeting</name></author>	</entry>

	</feed>