<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Toivo</id>
	<title>Joomla! Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Toivo"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Toivo"/>
	<updated>2026-08-10T05:36:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_do_I_use_Gmail_as_my_mail_server%3F&amp;diff=1033668</id>
		<title>How do I use Gmail as my mail server?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_do_I_use_Gmail_as_my_mail_server%3F&amp;diff=1033668"/>
		<updated>2025-01-07T05:24:36Z</updated>

		<summary type="html">&lt;p&gt;Toivo: Corrected link to ASP page that Google has changed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have a working Gmail account you can use Gmail as your mail server by setting it in the Global Configuration.&lt;br /&gt;
&lt;br /&gt;
On the server tab set the following:&lt;br /&gt;
&lt;br /&gt;
*Mailer: SMTP&lt;br /&gt;
*SMTP Host: smtp.gmail.com&lt;br /&gt;
*SMTP Port 465&lt;br /&gt;
*SMTP Security: SSL/TLS&lt;br /&gt;
*SMTP Authentication: Yes&lt;br /&gt;
*Set the next two lines with your information. Use an app-specific password (ASP), described below.&lt;br /&gt;
*SMTP Username: your Gmail username&lt;br /&gt;
*SMTP Password: the app-specific password (ASP) you generated, described below.&lt;br /&gt;
&lt;br /&gt;
The following are also working combinations:&lt;br /&gt;
*SMTP Port 587&lt;br /&gt;
*SMTP Security: STARTTLS&lt;br /&gt;
&lt;br /&gt;
*SMTP Port 25&lt;br /&gt;
*SMTP Security: STARTTLS&lt;br /&gt;
&lt;br /&gt;
The SSL module does not need to be enabled in Apache. &lt;br /&gt;
&lt;br /&gt;
The OpenSSL extension needs to be enabled in PHP. The details can be found at the [https://www.php.net/manual/en/openssl.installation.php php.net Installation page]. &lt;br /&gt;
&lt;br /&gt;
If you are using WAMP on Windows, the &#039;&#039;openssl&#039;&#039; module is not enabled by default and you need to enable it:&lt;br /&gt;
# Open the &#039;&#039;php.ini&#039;&#039; file and uncomment the line &amp;lt;code&amp;gt;extension=php_openssl.dll&amp;lt;/code&amp;gt; by removing the semicolon ; from the beginning of the line.&lt;br /&gt;
# Save the &#039;&#039;php.ini&#039;&#039; file and restart the Apache service.&lt;br /&gt;
&lt;br /&gt;
{{tip|title=Note|Note that if you use 2-step verification in Gmail, add a new password in Settings - Accounts - Change accounts settings - Other Google Account settings - Security - 2-step verification - Manage your application specific passwords.}}&lt;br /&gt;
&lt;br /&gt;
When the new Application-Specific Password (ASP) is presented in groups of four characters separated by spaces, make sure that you do &#039;&#039;&#039;not&#039;&#039;&#039; enter the spaces into the SMTP password in the mail server settings in Joomla.&lt;br /&gt;
&lt;br /&gt;
* Application Specific Passwords (ASPs): See the Google Support [https://support.google.com/accounts/answer/185833?hl=en Sign in with App Passwords] page.&lt;br /&gt;
* 2-Step Verification: See the Google Support [https://support.google.com/accounts/answer/185839 Turn on 2-Step Verification] page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:FAQ]][[Category:Server configurations]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Creating_a_language_definition_file&amp;diff=1018196</id>
		<title>Creating a language definition file</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Creating_a_language_definition_file&amp;diff=1018196"/>
		<updated>2023-12-01T21:29:50Z</updated>

		<summary type="html">&lt;p&gt;Toivo: Note about value limited to one line with no hard linebreaks.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{Joomla version|version=3.x|comment=&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
series&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
Joomla! language definition files are written in the very basic &#039;&#039;[[wikipedia:INI file|INI file format]]&#039;&#039;. They must be saved using the &#039;&#039;UTF-8&#039;&#039; encoding. Blank lines and lines beginning with a semicolon (;) are ignored and the latter may be used to add comments to the file. Each line consists of a key-value pair separated by an equals sign:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
KEY=&amp;quot;value&amp;quot;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;KEY&amp;lt;/code&amp;gt; is a string to be translated and &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; is the translated string. For example:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
ADDITIONAL_INFORMATION=&amp;quot;Additional Information&amp;quot;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Different versions of Joomla have used slightly different ways to read language files (namely a custom parser and the native PHP INI parser, the latter of which was buggy in PHP 5.2 and older), leading to different rules for what exactly is allowed in keys and values. Language files that abide by the following rules should work under many versions of Joomla, but at least on Joomla {{jver|3.x}} and newer.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;KEY&amp;lt;/code&amp;gt; should only use ASCII characters. It should only contain capital letters, digits, underscores and hyphens, and it should start with a capital letter. Dots (.) are formally allowed, but do not appear to be completely supported. It is a convention to replace any whitespace in the string to be translated with underscores. If more than one entry has the same key, the last one to be encountered is the one that will be used. When you use the key in a &amp;lt;code&amp;gt;JText::_&amp;lt;/code&amp;gt; call, the case does not matter as strings are folded to upper case before searching takes place. So &amp;lt;code&amp;gt;additional_information&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Additional_Information&amp;lt;/code&amp;gt; or even &amp;lt;code&amp;gt;AdDiTiOnAl_InFoRmAtIoN&amp;lt;/code&amp;gt; will be matched.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; should always be surrounded by double-quote characters (&amp;quot;), as in the example. The value itself cannot include double-quote characters, although single-quote characters (&#039;) are valid. Use &amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;, &#039;&#039;including the double quotes&#039;&#039;, to place a double-quote character in your value. For example, to attach the value &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;span class=&amp;quot;red&amp;quot;&amp;gt;Warning!&amp;lt;/span&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to the key &amp;lt;code&amp;gt;WARNING_TEXT&amp;lt;/code&amp;gt;, use following line:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
WARNING_TEXT=&amp;quot;&amp;lt;span class=\&amp;quot;red\&amp;quot;&amp;gt;Warning!&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
Note that these rules are stricter than required by the [https://www.php.net/manual/en/function.parse-ini-file.php PHP INI parser]. For example, the PHP INI parser allows you to omit the double quotes around the value as long as it does not contain certain characters. Using the rules above should make it much easier to avoid mistakes such as forgetting double quotes when they &#039;&#039;&#039;are&#039;&#039;&#039; required.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note also that from Joomla 4.4.1 and 5.0.1 each value can only be one line of text. Hard linebreaks invalidate the whole language definition file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Language Development]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User_Group_List_form_field_type&amp;diff=991444</id>
		<title>User Group List form field type</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User_Group_List_form_field_type&amp;diff=991444"/>
		<updated>2022-10-12T07:40:55Z</updated>

		<summary type="html">&lt;p&gt;Toivo: Usergrouplist standard form field type&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;usergrouplist&#039;&#039;&#039; form field type provides a dropdown select box of user groups.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (mandatory) must be &#039;&#039;usergrouplist&#039;&#039;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (mandatory) is the unique name of the field. This must match the name of the query results column that contains the values that will be shown to the user in the drop-down list, unless a different name is specified in the &#039;&#039;value_field&#039;&#039; attribute.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (mandatory) (translatable) is the descriptive title of the field.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (optional) (translatable) is text that will be shown as a tooltip when the user moves the mouse over the drop-down box.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) (translatable) is the layout, for example joomla.form.field.list-fancy-select.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;checksuperusergroup&#039;&#039;&#039; (optional) is boolean to omit Super User groups. Values 1 or 0.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (optional) is the usergroup id of the default selection in the dropdown list. If omitted the width is determined by the browser.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;multiple&#039;&#039;&#039; (optional) If set to &#039;&#039;true&#039;&#039; then allows more than one usergroup to be selected.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
Implemented by:&amp;lt;/translate&amp;gt; &amp;lt;tt&amp;gt;libraries/src/Form/Field/UsergrouplistField.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
Example of usergrouplist form field definition:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;field&lt;br /&gt;
		name=&amp;quot;usergroup&amp;quot;&lt;br /&gt;
		type=&amp;quot;UserGroupList&amp;quot;&lt;br /&gt;
		label=&amp;quot;MOD_EXAMPLE_USERGROUP_LABEL&amp;quot;&lt;br /&gt;
		description=&amp;quot;MOD_EXAMPLE_USERGROUP_DESC&amp;quot;&lt;br /&gt;
		layout=&amp;quot;joomla.form.field.list-fancy-select&amp;quot;&lt;br /&gt;
		checksuperusergroup=&amp;quot;1&amp;quot;&lt;br /&gt;
		default=&amp;quot;&amp;quot;&lt;br /&gt;
		multiple=&amp;quot;0&amp;quot;&lt;br /&gt;
		&amp;gt;&lt;br /&gt;
		&amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;MOD_EXAMPLE_SELECT&amp;lt;/option&amp;gt;&lt;br /&gt;
	&amp;lt;/field&amp;gt;				 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== See also === &amp;lt;!--T:12--&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|List of standard form field types]]&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
[[Category:Standard form field types]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Toivo&amp;diff=981582</id>
		<title>User:Toivo</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Toivo&amp;diff=981582"/>
		<updated>2022-09-21T21:19:27Z</updated>

		<summary type="html">&lt;p&gt;Toivo: /* My testing subpages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My name is Toivo and if you want to get in touch with me, post on my &#039;&#039;&#039;[[User_talk:{{PAGENAME}}|talk page]]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
==My testing subpages==&lt;br /&gt;
&amp;lt;splist/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Created tutorials how to debug SMTP mail in Joomla 3 and Joomla 4:&lt;br /&gt;
&lt;br /&gt;
[[How_to_debug_SMTP_mail_in_Joomla_3|How to debug SMTP mail in Joomla 3]]&lt;br /&gt;
&lt;br /&gt;
[[How_to_debug_SMTP_mail_in_Joomla_4|How to debug SMTP mail in Joomla 4]]&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_to_debug_SMTP_mail_in_Joomla_4&amp;diff=975235</id>
		<title>How to debug SMTP mail in Joomla 4</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_to_debug_SMTP_mail_in_Joomla_4&amp;diff=975235"/>
		<updated>2022-09-16T08:08:44Z</updated>

		<summary type="html">&lt;p&gt;Toivo: Tutorial how to debug SMTP mail connection in Joomla 4 at protocol level.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Enable the plugin &#039;System - Debug&#039; and configure it with the following setting, which restricts the debug output to your own login session at both the back end and the front end. If you do not want to login to the front end as Super User, create a unique user group for your testing activities and select that user group from the list of allowed user groups:&lt;br /&gt;
&lt;br /&gt;
*Allowed Groups: Super Users&lt;br /&gt;
&lt;br /&gt;
Save this setting.&lt;br /&gt;
&lt;br /&gt;
Go to Global Configuration - System tab - Debug and set &#039;Debug System&#039; to Yes.&lt;br /&gt;
&lt;br /&gt;
Go to the Global Configuration - Server tab and make sure the level of error reporting is set to &#039;Maximum&#039;.&lt;br /&gt;
&lt;br /&gt;
Go to the Global Configuration - Logging tab and make a note of the contents of &#039;Path to Log Folder&#039;, usually [something]/administrator/logs and also select &#039;Log Almost Everything&#039;.&lt;br /&gt;
Go to the section Custom logging and the field &#039;Log Categories&#039;.  Enter &#039;mail&#039; (without quotation marks) into this field.&lt;br /&gt;
&lt;br /&gt;
Save the settings.&lt;br /&gt;
&lt;br /&gt;
While still in Global Configuration and the Server tab, press &#039;Send Test Email&#039;.  Alternatively, log in to the front end using your user name in the unique user group meant for testing activities and perform the function that will send an email.&lt;br /&gt;
&lt;br /&gt;
Once the testing is finished, download the log file administrator/logs/everything.php.  If the website was migrated from Joomla 2.5, the log file everything.php may reside in the logs folder at the top level of the Joomla folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:FAQ]][[Category:Debugging]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_to_debug_SMTP_mail_in_Joomla_3&amp;diff=975081</id>
		<title>How to debug SMTP mail in Joomla 3</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_to_debug_SMTP_mail_in_Joomla_3&amp;diff=975081"/>
		<updated>2022-09-16T07:41:39Z</updated>

		<summary type="html">&lt;p&gt;Toivo: Tutorial how to debug SMTP mail connection in Joomla at protocol level.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Go to Extensions - Plugins and configure the plugin &#039;System - Debug&#039; with the following settings:&lt;br /&gt;
&lt;br /&gt;
*Allowed Groups: Super Users&lt;br /&gt;
*Log Priorities: All&lt;br /&gt;
*Log Categories: mail&lt;br /&gt;
*Log Almost Everything&lt;br /&gt;
&lt;br /&gt;
Go to Global Configuration - System and turn on the option &#039;Debug System&#039;. &lt;br /&gt;
Then go to the Server tab and Mail Settings. &lt;br /&gt;
Click the button &#039;Send Test Mail&#039;. &lt;br /&gt;
If the send function reports an error, you will find the details of the SMTP connection requests from Joomla and responses from the mail server, including the error codes, from the log file, usually administrator/logs/everything.php. If the website was updated from Joomla 2.5, the log file is logs/everything.php at the top level of the Joomla folder.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:FAQ]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Debugging]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Toivo&amp;diff=975032</id>
		<title>User:Toivo</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Toivo&amp;diff=975032"/>
		<updated>2022-09-16T07:15:21Z</updated>

		<summary type="html">&lt;p&gt;Toivo: This is my new user page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My name is Toivo and if you want to get in touch with me, post on my &#039;&#039;&#039;[[User_talk:{{PAGENAME}}|talk page]]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
==My testing subpages==&lt;br /&gt;
&amp;lt;splist/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Planning to create a tutorial how to debug SMTP mail.&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Cassiopeia_Template_Folders_and_Files&amp;diff=891768</id>
		<title>J4.x:Cassiopeia Template Folders and Files</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Cassiopeia_Template_Folders_and_Files&amp;diff=891768"/>
		<updated>2022-03-12T07:23:39Z</updated>

		<summary type="html">&lt;p&gt;Toivo: updated js file type from css to js&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Newcomers to Joomla, sometimes new to PHP too, may know little of the architecture of a Joomla website and how it all comes together to present a website to the end user. That was me in 2010! However, having arrived here you will realise that Cassiopeia is a Site Template that controls the appearance of a site as seen by the general public. Administrators use a different template, Atum, with a completely different appearance. These templates are sometimes referred to as front-end and back-end templates.&lt;br /&gt;
&lt;br /&gt;
A template is a Joomla extension that consists of a collection of files that take care of different aspects of the presentation. A website may have a number of site templates, one of which must be chosen as the default template used by all pages unless another specific template is selected for a specific page. And site templates may be present but unused. &lt;br /&gt;
&lt;br /&gt;
This tutorial explains the use of the various files in the default Cassiopeia site template.&lt;br /&gt;
&lt;br /&gt;
== Changes from Joomla 4.0 to Joomla 4.1 ==&lt;br /&gt;
&lt;br /&gt;
Joomla 4.1 has moved the default media files from the templates folder to the media/templates folder. Existing media folders are moved on upgrade.&lt;br /&gt;
&lt;br /&gt;
== File Structure ==&lt;br /&gt;
&lt;br /&gt;
The following illustration shows the folder structure of the Cassiopeia template, including the files in the template root.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Joomla 4.0 !! Joomla 4.1&lt;br /&gt;
|-&lt;br /&gt;
| [[File:j4x-cassiopeia_template_explained_file_structure.png|Joomla 4.0 File Structure]] || [[File:j4x-cassiopeia_template_explained_file_structure_41.png|Joomla 4.1 File Structure]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A lot to explain! A brief starter explanation:&lt;br /&gt;
&lt;br /&gt;
* css - the folder containing all of the template CSS files&lt;br /&gt;
* html - a folder containing component and module overrides, which may be empty&lt;br /&gt;
* images - a folder for images used by the template and its styles&lt;br /&gt;
* js - a folder for JavaScript used by the template&lt;br /&gt;
* scss - a folder for the scss files compiled to make the CSS files&lt;br /&gt;
* component.php - a layout used to display just a component without surrounding modules&lt;br /&gt;
* error.php - a simple layout used to display errors when a normal page cannot be displayed&lt;br /&gt;
* index.php - the layout used for all site pages using this template&lt;br /&gt;
* joomla.asset.json - a file specifying where to find CSS and JavaScript resources&lt;br /&gt;
* offline.php - a layout used to show a site is off-line for maintenance&lt;br /&gt;
* template_preview.php and template_details.php - images used for administration&lt;br /&gt;
* templateDetails.xml - the extension specification used for installation&lt;br /&gt;
&lt;br /&gt;
Where to start?&lt;br /&gt;
&lt;br /&gt;
== index.php ==&lt;br /&gt;
&lt;br /&gt;
You are probably aware that a very simple HTML page looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h1&amp;gt;Hello World!&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Message of the day.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That is what is in index.php except that it is a little more complicated. Have a look through the file with a text editor and note the following:&lt;br /&gt;
&lt;br /&gt;
* The first executable statement is &#039;&#039;&#039;defined(&#039;_JEXEC&#039;) or die;&#039;&#039;&#039; - every Joomla PHP file starts like that to prevent calling directly via an absolute URL. _JEXEC is defined when a page is accessed via mydomain.com/[site-root/]index.php (usually with index.php left off as that is used by default).&lt;br /&gt;
* The actual HTML output starts with &#039;&#039;&#039;&amp;lt;!DOCTYPE html&amp;gt;&#039;&#039;&#039; on line 127 - everything before that is PHP code to set needed variables.&lt;br /&gt;
* The head and the body contain &#039;&#039;&#039;jdoc:include&#039;&#039;&#039; statements that cause insertion of specific types of content - more on that later.&lt;br /&gt;
* The body contains landmarks such as header, main, and footer - accessibility features.&lt;br /&gt;
* The overall layout is achieved with grids - included only where the grid positions actually include modules.&lt;br /&gt;
&lt;br /&gt;
=== Favicons ===&lt;br /&gt;
&lt;br /&gt;
Favicons are the small icons that appear in the browser tab alongside your site name. Near the top of index.php are three instructions to load favicons into the page:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Browsers support SVG favicons&lt;br /&gt;
$this-&amp;gt;addHeadLink(HTMLHelper::_(&#039;image&#039;, &#039;joomla-favicon.svg&#039;, &#039;&#039;, [], true, 1), &#039;icon&#039;, &#039;rel&#039;, [&#039;type&#039; =&amp;gt; &#039;image/svg+xml&#039;]);&lt;br /&gt;
$this-&amp;gt;addHeadLink(HTMLHelper::_(&#039;image&#039;, &#039;favicon.ico&#039;, &#039;&#039;, [], true, 1), &#039;alternate icon&#039;, &#039;rel&#039;, [&#039;type&#039; =&amp;gt; &#039;image/vnd.microsoft.icon&#039;]);&lt;br /&gt;
$this-&amp;gt;addHeadLink(HTMLHelper::_(&#039;image&#039;, &#039;joomla-favicon-pinned.svg&#039;, &#039;&#039;, [], true, 1), &#039;mask-icon&#039;, &#039;rel&#039;, [&#039;color&#039; =&amp;gt; &#039;#000&#039;]);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Joomla will look for the favicons first in cassiopeia/images - they are not there so Joomla will look in media/system/images - they are there so Joomla will load the URLs for the images there. If you want to use your own favicons rather than Joomla favicons you upload them to cassiopeia/images. They will not be affected by any update to the Cassiopeia template.&lt;br /&gt;
&lt;br /&gt;
=== Template Variables ===&lt;br /&gt;
&lt;br /&gt;
If you look through the template you will find lines containing $this-&amp;gt;params-&amp;gt;get(...) like this one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$paramsColorName = $this-&amp;gt;params-&amp;gt;get(&#039;colorName&#039;, &#039;colors_standard&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Those parameters are set in the Advance tab of the Template: Edit Style page. That is where you can change the brand, logo, colour, layout, etc. The variables are defined in the templateDetails.xml file.&lt;br /&gt;
&lt;br /&gt;
=== The Web Asset Manager ===&lt;br /&gt;
&lt;br /&gt;
Notice the line near the top of index.php that creates an instance of the web asset manager and later lines that use it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$wa  = $this-&amp;gt;getWebAssetManager();&lt;br /&gt;
...&lt;br /&gt;
$wa-&amp;gt;registerAndUseStyle($assetColorName, $templatePath . &#039;/css/global/&#039; . $paramsColorName . &#039;.css&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Joomla uses information in joomla.asset.json to load assets needed by the template. A portion of that file is shown here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;$schema&amp;quot;: &amp;quot;https://developer.joomla.org/schemas/json-schema/web_assets.json&amp;quot;,&lt;br /&gt;
  &amp;quot;name&amp;quot;: &amp;quot;cassiopeia&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;4.0.0&amp;quot;,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;This file contains details of the assets used by Cassiopeia, the default Joomla 4 site template.&amp;quot;,&lt;br /&gt;
  &amp;quot;license&amp;quot;: &amp;quot;GPL-2.0-or-later&amp;quot;,&lt;br /&gt;
  &amp;quot;assets&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;template.cassiopeia.ltr&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;: &amp;quot;The css file to be used when the site is left to right (LTR).&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;style&amp;quot;,&lt;br /&gt;
      &amp;quot;uri&amp;quot;: &amp;quot;template.min.css&amp;quot;,&lt;br /&gt;
      &amp;quot;dependencies&amp;quot;: [&lt;br /&gt;
        &amp;quot;fontawesome&amp;quot;&lt;br /&gt;
      ]&lt;br /&gt;
    },&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It shows that the asset named template.cassiopeia.ltr is to be found in in css/template.min.css and that asset in turn requires fontawesome, defined at the end of joomla.assets.json. Note that if you switch to debug mode Joomla will load the versions of CSS and JavaScript without the .min part.&lt;br /&gt;
&lt;br /&gt;
=== The jdoc Statements ===&lt;br /&gt;
&lt;br /&gt;
At some point during page creation the template index.php file is parsed (analysed) by the Joomla code and the jdoc statements picked out in reverse order. Each jdoc statement leads to code to generate a block of HTML to replace that statement. Amongst other things, that puts module content into the page.&lt;br /&gt;
&lt;br /&gt;
== The css Files ==&lt;br /&gt;
&lt;br /&gt;
The css folder contains the CSS files used by the Cassiopeia template. It is worth noting the file sizes of the different variants of a single CSS style sheet. For example template.css has these varieties:&lt;br /&gt;
&lt;br /&gt;
* template.css 258,272 bytes&lt;br /&gt;
* template.min.css 205,427 bytes&lt;br /&gt;
* template.min.css.gz 32,526 butes&lt;br /&gt;
&lt;br /&gt;
The first, template.css is a human-readable variant that is used when system debugging is enabled. The second, template.min.css is used on production sites where debugging is disabled. It has all white space removed and some optimisations made. The third, template.min.css.gz is a Gzip compressed variant of the min version used if the site .htaccess file is set up to offer Gzip variants of static resources. There is an article describing how do this in the [https://magazine.joomla.org/all-issues/december-2021/joomla-performance-tuning-ii-basic-settings Community Magazine].&lt;br /&gt;
&lt;br /&gt;
Clearly the gz version is the most network bandwidth friendly.&lt;br /&gt;
&lt;br /&gt;
=== user.css ===&lt;br /&gt;
&lt;br /&gt;
Absent from the initial list of CSS files is user.css. This is a file that you create yourself to contain additions and overrides to the existing styles. For example, module parameters typically include a Module Class text entry box in the Advanced tab. Any module class you add there should have an entry in user.css. If you wish to override an existing style you can make an entry like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
h1, .h1 {&lt;br /&gt;
  color: purple;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The html Files ==&lt;br /&gt;
&lt;br /&gt;
This is the place to keep module, component, plugin and layout template overrides. For example, when Joomla renders a module it first looks for a template here and then in the modules own tmpl folder. This allows you to override the appearance of a core Joomla extension or a third party extension without changing the original code. Any changes made there would be overwritten by an update.&lt;br /&gt;
&lt;br /&gt;
The default Cassiopeia template comes with overrides for layouts, mod_custom, mod_menu and tinymce.&lt;br /&gt;
&lt;br /&gt;
== The js Files ==&lt;br /&gt;
&lt;br /&gt;
There is only one basic JavaScript file used by the template and like CSS it comes in three varieties: template.js, template.min.js and template.min.js.gz. There is one other variety of interest: template.es5.js, which is coded for EcmaScript 5 (the 2011 version). All of the other JavaScript files are coded for later EcmaScript versions. &lt;br /&gt;
&lt;br /&gt;
EcmaScript is currently up to Version 12 but it takes a while for browsers to catch up and adopt a new standard. JavaScript is a synonym for EcmaScript. See [https://en.wikipedia.org/wiki/ECMAScript Wikipedia] for a summary.&lt;br /&gt;
&lt;br /&gt;
== The scss Files ==&lt;br /&gt;
&lt;br /&gt;
The scss files contain the sources used to create the CSS files. They need to be compiled with a third party compiler. More...&lt;br /&gt;
&lt;br /&gt;
== Template Positions ==&lt;br /&gt;
&lt;br /&gt;
The positions in which modules can be placed are named in the templateDetails.xml file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;positions&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;topbar&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;below-top&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;menu&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;search&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;banner&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;top-a&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;top-b&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;main-top&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;main-bottom&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;breadcrumbs&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;sidebar-left&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;sidebar-right&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;bottom-a&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;bottom-b&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;footer&amp;lt;/position&amp;gt;&lt;br /&gt;
		&amp;lt;position&amp;gt;debug&amp;lt;/position&amp;gt;&lt;br /&gt;
	&amp;lt;/positions&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following illustration shows in schematic form where those positions occur on the page:&lt;br /&gt;
&lt;br /&gt;
[[File:j4x-cassiopeia_template_explained_positions.png|Template Positions]]&lt;br /&gt;
&lt;br /&gt;
Notice the &#039;&#039;&#039;component&#039;&#039;&#039; position marked with a green background. That is where the output from a component view is placed and is often the largest portion of the page. Immediately above that is the message position where Joomla system messages appear. For example, &#039;&#039;Your changes have been saved&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The illustration shows that some of the positions are within landmarks such as &#039;&#039;&#039;header&#039;&#039;&#039; and &#039;&#039;&#039;footer&#039;&#039;&#039; but others are not. Something to look into! &lt;br /&gt;
&lt;br /&gt;
With the sample data installed, the following illustration shows the Home page landmarks in the browser tools &#039;&#039;&#039;Inspector&#039;&#039;&#039; view.&lt;br /&gt;
&lt;br /&gt;
[[File:j4x-cassiopeia_template_explained_inspector_landmarks.png|Template Landmarks]]&lt;br /&gt;
&lt;br /&gt;
The header contains a &#039;&#039;&#039;brand&#039;&#039;&#039; location, not a position to which a module can be assigned. It can be left out. Beneath that is a &#039;&#039;&#039;menu&#039;&#039;&#039; and/or &#039;&#039;&#039;search&#039;&#039;&#039; position. It is used for the site menu and search box.&lt;br /&gt;
&lt;br /&gt;
The contents of the remaining divs are self-evident from their class names. There is no container-sidebar-left because the sample data does not assign any module to that position.&lt;br /&gt;
&lt;br /&gt;
== Further Information == &lt;br /&gt;
&lt;br /&gt;
* [[J4.x:Cassiopeia Template Customisation|Cassiopeia Template Customisation]] - using the Edit Style form and user.css&lt;br /&gt;
* [[J4.x:Cassiopeia Template Simplified - A Case Study|Cassiopeia Template Simplified - A Case Study]] - a simple template based on Cassiopeia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Joomla! 4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Installing_Joomla&amp;diff=770981</id>
		<title>J4.x:Installing Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Installing_Joomla&amp;diff=770981"/>
		<updated>2020-12-08T14:36:40Z</updated>

		<summary type="html">&lt;p&gt;Toivo: minimum sizes from 20M to 30M&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
﻿&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
Installing Joomla! for the first time is very easy.  Joomla!’s built-in web installer makes setting up your new site a breeze.&lt;br /&gt;
&lt;br /&gt;
== Requirements == &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
=== Hosting Requirements ===&lt;br /&gt;
Before we start installing Joomla!, there are a couple prerequisites that need to be met to install Joomla! {{ns}} successfully. These apply whether you have a dedicated server, a shared hosting plan server, or are installing a copy on a local computer for testing or development.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
You’ll need to meet the following [https://downloads.joomla.org/technical-requirements requirements] to install and use Joomla!&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
References&amp;lt;/translate&amp;gt; ===&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== Recommended PHP.ini Settings ==== &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
There are some PHP settings that need to be sufficient for Joomla to install.  The settings are usually in a &amp;quot;php.ini&amp;quot; or &amp;quot;user.ini&amp;quot;.  Talk to your host about how to change theses settings if it is possible to do so.  If working on a localhost e.g. with [[S:MyLanguage/XAMPP|XAMPP]], you should not be restricted by these settings and VPS or dedicated hosting should also not be as restrictive. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
The values for PHP.ini below are &#039;&#039;suggested values&#039;&#039; only.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
* memory_limit - &#039;&#039;&#039;Minimum:&#039;&#039;&#039; 64M  &#039;&#039;&#039;Recommended:&#039;&#039;&#039; 128M or better&lt;br /&gt;
* upload_max_filesize - &#039;&#039;&#039;Minimum:&#039;&#039;&#039; 30M &lt;br /&gt;
* post_max_size - &#039;&#039;&#039;Minimum:&#039;&#039;&#039; 30M&lt;br /&gt;
* max_execution_time: &#039;&#039;&#039;Recommended:&#039;&#039;&#039; 30&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Prepare for Install == &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
You will need to complete two tasks before you can install Joomla! on your server. First, you will need to download the Joomla! package files. Next, you will need to have a database for Joomla! use.&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Uploading Joomla! Package Files === &amp;lt;!--T:10--&amp;gt; &amp;lt;/translate&amp;gt;&lt;br /&gt;
{{warning|title=&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
Warning!&amp;lt;/translate&amp;gt;| &amp;lt;translate&amp;gt;&amp;lt;!--T:62--&amp;gt; Currently Joomla 4 is in development and so here we are linking you to the nightly builds. These occasionally can be unstable. When Joomla {{ns}} is officially released - stable releases will be available as normal on&amp;lt;/translate&amp;gt; [https://downloads.joomla.org]}}&lt;br /&gt;
#&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
Download the current nightly release of&amp;lt;/translate&amp;gt; [https://developer.joomla.org/nightly-builds.html Joomla! {{ns}}]&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
#Move the downloaded Joomla! installation package to the server. Use a [[wikipedia:FTP Client|FTP Client]] to transfer the Joomla! {{ns}} files to your server. There are several available for use, here is a detailed [[wp:Comparison_of_FTP_client_software|list of FTP Clients]]. Please make sure you are using a FTP client&#039;s official release.&lt;br /&gt;
:: Hint - This can be accomplished by simply moving the downloaded package to your server, then unpacking it.  Or you can unpack the files on your local computer, then move the Joomla installation over to your server.   Either way, the Joomla installation needs to be unpacked in the root of your site.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tip|text=&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
Normally you upload your web files to the root folder.  This is typically named &amp;quot;public_html&amp;quot; but other variations include &amp;quot;htdocs&amp;quot; and this depends on what your host has the set up on the server.  For Joomla purposes, you can load the files directly into &amp;quot;public_html&amp;quot; or a sub-folder within it.&amp;lt;/translate&amp;gt;|title=&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
Your Server&#039;s &amp;quot;root&amp;quot; Folder&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{warning|title=&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
Warning!&amp;lt;/translate&amp;gt;|&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
If you unpack the files on your own computer, then copy them to your server, be sure to move only the folders and files contained &#039;&#039;&#039;INSIDE&#039;&#039;&#039; the Joomla! package.  If you unpack the folders and files into a folder, for example called,&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;Joomla&#039;&#039;&amp;lt;/code&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
and then upload that folder, your site will have to be accessed at&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;yoursitename.com/Joomla&#039;&#039;&amp;lt;/code&amp;gt; &amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
instead of&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;yoursitename.com&#039;&#039;&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
Database for Joomla! Installation&amp;lt;/translate&amp;gt; ===&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
#If you need to create a database, please read &amp;quot;&#039;&#039;&#039;[[S:MyLanguage/Creating a Database for Joomla!|Create a database for use with Joomla!]]&#039;&#039;&#039;&amp;quot; first or skip to step #2.&lt;br /&gt;
#You will need to note basic database information needed when the actual Joomla! installation is started. &lt;br /&gt;
#* Location of database, localhost? Or a specific host&#039;s server such as &amp;lt;code&amp;gt;&#039;&#039;dbserver1.yourhost.com&#039;&#039;&amp;lt;/code&amp;gt;?&lt;br /&gt;
#* The database name&lt;br /&gt;
#* The database user&#039;s name&lt;br /&gt;
#* The database user&#039;s password&lt;br /&gt;
&lt;br /&gt;
== Start Install == &amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
=== Main Configuration ===&lt;br /&gt;
With the above requirements met, a database created and the required Joomla! files in place, you are ready to install Joomla!. Start the Joomla! web installer by opening your favorite browser and browsing to the site&#039;s domain name. On host installation you will use&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;nowiki&amp;gt;http://www.yoursitename.com&amp;lt;/nowiki&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;. &amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
If your are installing Joomla! locally, you will use&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;nowiki&amp;gt;http://localhost/&amp;lt;/nowiki&amp;gt;&amp;lt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
path to Joomla files&amp;lt;/translate&amp;gt;&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;, &amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
and you should see the installation screen&amp;lt;/translate&amp;gt;.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; max-width:100%; height:auto; display:inline-block; float:right; margin-left:.3em;&amp;quot;&amp;gt;[[File:&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
J4x_Installation_screen_page_1.png&amp;lt;/translate&amp;gt;|border|left|500px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
Joomla! will try to identify the &#039;&#039;&#039;Select Language&#039;&#039;&#039; field automatically from your browser&#039;s language. You can change this if needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
Fill in the following information.&lt;br /&gt;
*&#039;&#039;&#039;Site Name&#039;&#039;&#039;: the name of your website — this can be changed at any point later in the [[S:MyLanguage/Help40:Site_Global_Configuration#Site|Site Global Configuration]] page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
When everything on the first page is completed, click the &#039;&#039;&#039;Setup Login Data&#039;&#039;&#039; button to proceed:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;== Login Data == &amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
You should now see the login data screen&amp;lt;/translate&amp;gt;.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; max-width:100%; height:auto; display:inline-block; float:right; margin-left:.3em;&amp;quot;&amp;gt;[[File:&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
J4x_Installation_screen_page_2.png&amp;lt;/translate&amp;gt;|border|left|500px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
Fill in the following information.&lt;br /&gt;
*&#039;&#039;&#039;Admin Name&#039;&#039;&#039;: the name of the admin. This how Joomla will greet you when you log in!&lt;br /&gt;
*&#039;&#039;&#039;Admin Username&#039;&#039;&#039;: Joomla! uses a default &amp;quot;admin&amp;quot; as the username for the &#039;&#039;&#039;Super User&#039;&#039;&#039;. You can leave it as is, change it now (which a good [[S:MyLanguage/Security_Checklist/Joomla!_Setup#Change the default administrator username|Security measure]]) or use [[S:MyLanguage/Help40:Site_My_Profile|My Profile]] in the &#039;&#039;Administration&#039;&#039; interface to change it later.&lt;br /&gt;
*&#039;&#039;&#039;Admin Password&#039;&#039;&#039;: remember that super user has maximum control of the site (frontend &amp;amp; backend), so try to use a difficult password. Use [[S:MyLanguage/Help40:Site_My_Profile|My Profile]] in the &#039;&#039;Administration&#039;&#039; interface to change it later. Confirm the password in the &#039;&#039;&#039;Confirm Admin Password&#039;&#039;&#039; box.&lt;br /&gt;
*&#039;&#039;&#039;Admin Email Address&#039;&#039;&#039;: the admin email address. Enter a valid email in case you forget your password. This is the email address where you&#039;ll receive a link to change the admin password.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
When everything on the second page is completed, click the &#039;&#039;&#039;Setup Database Connection&#039;&#039;&#039; button to proceed:&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;== Database Configuration == &amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
=== Configuration Settings ===&lt;br /&gt;
You will need to enter the information about the database you will use for Joomla! now. It was suggested to write this information down under &amp;quot;&#039;&#039;&#039;Prepare for Install&#039;&#039;&#039;&amp;quot; tab. You may also read or review [[S:MyLanguage/Creating a Database for Joomla!|Creating a Database for Joomla!]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; max-width:100%; height:auto; display:inline-block; float:right; margin-left:.5em;&amp;quot;&amp;gt;[[File:&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
J40_Installation_screen_page_3.png&amp;lt;/translate&amp;gt;|border|left|500px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
For simplification, these instructions are a reference to installing with a [[wikipedia:MySQLi|MySQLi]] database. The instructions on the installation page are self explanatory, but here they are again:&lt;br /&gt;
* &#039;&#039;&#039;Database Type&#039;&#039;&#039;: MySQLi is the common database used&lt;br /&gt;
* &#039;&#039;&#039;Hostname&#039;&#039;&#039; Where is your database located? Common is &amp;lt;code&amp;gt;&#039;&#039;localhost&#039;&#039;&amp;lt;/code&amp;gt;, but some hosts use a specific database server such as&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;dbserver1.yourhost.com&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Username&#039;&#039;&#039;: the username used to connect to the database&lt;br /&gt;
* &#039;&#039;&#039;Password&#039;&#039;&#039;: the password for the database&#039;s username&lt;br /&gt;
* &#039;&#039;&#039;Database Name&#039;&#039;&#039;: the name of the database&lt;br /&gt;
* &#039;&#039;&#039;Table Prefix&#039;&#039;&#039;: one is generated automatically, but you can change it. For example, &amp;lt;code&amp;gt;jos3_&amp;lt;/code&amp;gt; can be used. Just don&#039;t forget to put the underscore character&amp;lt;/translate&amp;gt; (&amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;) &amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
at the end of the prefix.&lt;br /&gt;
* &#039;&#039;&#039;Connection Encryption&#039;&#039;&#039;: specifies how the connection to the database should be encrypted. If you don&#039;t know - then it&#039;s best to stick to the default. However this allows enterprises who two way SSL encryption to the database to provide it.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
All these choices and more can be edited on the [[S:MyLanguage/Help40:Site_Global_Configuration#Server|Site Global Configuration]] page, under Server options after the installation is completed. Note, you will break your installation if you change these settings after installation unless you have a complete copy of the current database being used by the Joomla! installation. Common uses would be to update the username and password of the database or to complete a move of an existing installation to a new host with different parameters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
After you click the &#039;&#039;&#039;Install Joomla&#039;&#039;&#039; button, you should see the Joomla logo spinning. Once the installation completes, you should see the success page!&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Finishing Up == &amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
=== Success and Finishing Up the Installation ===&lt;br /&gt;
Congratulations! Joomla! 4 is now installed. If you want to start using Joomla! right way without [[S:MyLanguage/J4.x:Installing_Joomla#Installing_Extra_Languages|installing extra languages]] there is one last step to complete the installation. You must delete the &#039;&#039;&#039;Installation Folder&#039;&#039;&#039;. Click on &#039;&#039;&#039;Remove Installation folder&#039;&#039;&#039; and a success message will appear. Now you can navigate to the &#039;&#039;&#039;Administrator&#039;&#039;&#039; log in by clicking &#039;&#039;&#039;Administrator&#039;&#039;&#039; or go right to your site by clicking &#039;&#039;&#039;Site&#039;&#039;&#039;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot; style=&amp;quot;max-width:100%; height:auto;&amp;quot;&amp;gt;[[File:&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
J40_Installation_screen_page_4.png&amp;lt;/translate&amp;gt;|border|700px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
You may see the following section beneath the &#039;&#039;&#039;Customise Installation&#039;&#039;&#039; Button.&lt;br /&gt;
*&#039;&#039;&#039;Recommended Settings&#039;&#039;&#039;: these are settings are recommended in your PHP configuration, but will not prevent Joomla! from being installed. You can refer to the above instructions on how they may be changed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== Installing Extra Languages === &amp;lt;!--T:44--&amp;gt; &amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
Before you complete your installation by deleting the &#039;&#039;&#039;Installation Folder&#039;&#039;&#039;, click on:&amp;lt;/translate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;{{rarr}} &amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
Install Additional Languages&amp;lt;/translate&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
This will continue the installation of Joomla! by taking you to a new installation page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;==== Install Languages ==== &amp;lt;!--T:48--&amp;gt; &amp;lt;/translate&amp;gt;&lt;br /&gt;
{{warning|&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
To allow easy development we are currently allowing installation of Joomla 3.x language packs into Joomla 4. Many aren&#039;t compatible and are expected to be missing language strings. The ability to view 3.x language packs in the list on this page will be removed before Joomla 4 stable is tagged. Out of the 3.x language packs we recommend testing with French, German and Persian for now.&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
A list of language packs is displayed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
J40_Installation_screen_page_5.png&amp;lt;/translate&amp;gt;|right|450px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
Check the language or language packs you wish to install. Remember the following:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
* Language packs included in custom distributions will not be listed at this stage as they are already installed.&lt;br /&gt;
* A version of the packs proposed will match the Joomla Major version (4.0.x, 4.1.x, etc.). The minor version of the pack may not correspond, e.g. you are installing version 4.0.3 and a 4.0.2 language pack is shown.  &lt;br /&gt;
* Unmatched language packs in the above example may have untranslated strings. &lt;br /&gt;
* The unmatched language packs will be offered as an update when the packs are updated by the registered Translation teams. The available update will be shown in the Control panel as well as in {{rarr|Extensions Manager,Update}}. This behavior is similar to {{rarr|Extensions Manager,Install Languages}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
Click &#039;&#039;&#039;Next&#039;&#039;&#039; and a progress bar will be display while the language pack or packs are downloaded.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;==== Choose Default Language ==== &amp;lt;!--T:55--&amp;gt; &amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:56--&amp;gt; When the download is complete You will now be presented with a very similar &#039;&#039;&#039;Congratulations! Your Joomla site is ready.&#039;&#039;&#039; screen. The difference will be the addition of some options allowing you to choose the default language for the Site and the Administrator interface.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
* Make your choices for default languages.&amp;lt;/translate&amp;gt;{{-}}[[File:&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
J40_Installation_screen_page_4_default_langs.png&amp;lt;/translate&amp;gt;]]{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
When you completed all the choices of language installation, click &#039;&#039;&#039;Set default language&#039;&#039;&#039; to confirm.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;==== Finalise ==== &amp;lt;!--T:60--&amp;gt; &amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
Now you can delete the &#039;&#039;&#039;Installation Folder&#039;&#039;&#039;. Click on &#039;&#039;&#039;Remove Installation folder&#039;&#039;&#039; and a success message will appear. Now you can navigate to the &#039;&#039;&#039;Administrator&#039;&#039;&#039; log in by clicking &#039;&#039;&#039;Administrator&#039;&#039;&#039; or go right to your site by clicking &#039;&#039;&#039;Site&#039;&#039;&#039;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Installation{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 4.x{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 4.0{{#translation:}}]]&lt;br /&gt;
[[Category:Beginners{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J3.x:Installing_Joomla&amp;diff=770836</id>
		<title>J3.x:Installing Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J3.x:Installing_Joomla&amp;diff=770836"/>
		<updated>2020-12-04T18:22:51Z</updated>

		<summary type="html">&lt;p&gt;Toivo: upload_max_filesize and post_max_size from 20M to 30M, thinking about upgrade path to 3.10 and 4.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
﻿&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
Installing Joomla! for the first time is very easy.  Joomla!’s built-in web installer makes setting up your new site a breeze.&lt;br /&gt;
&lt;br /&gt;
== Requirements == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
=== Hosting Requirements ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
Before we start installing Joomla!, there are a couple prerequisites that need to be met to install Joomla! {{ns}} successfully. These apply whether you have a dedicated server, a shared hosting plan server, or are installing a copy on a local computer for testing or development.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
You’ll need to meet the following [https://downloads.joomla.org/technical-requirements requirements] to install and use Joomla!&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
References&amp;lt;/translate&amp;gt; ===&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== Recommended PHP.ini Settings ==== &amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
There are some PHP settings that need to be sufficient for Joomla to install.  The settings are usually in a &amp;quot;php.ini&amp;quot; or &amp;quot;user.ini&amp;quot;.  Talk to your host about how to change theses settings if it is possible to do so.  If working on a localhost e.g. with XAMPP, you should not be restricted by these settings and VPS or dedicated hosting should also not be as restrictive. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
The values for PHP.ini below are &#039;&#039;suggested values&#039;&#039; only.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
* memory_limit - &#039;&#039;&#039;Minimum:&#039;&#039;&#039; 64M  &#039;&#039;&#039;Recommended:&#039;&#039;&#039; 128M or better&lt;br /&gt;
* upload_max_filesize - &#039;&#039;&#039;Minimum:&#039;&#039;&#039; 30M &lt;br /&gt;
* post_max_size - &#039;&#039;&#039;Minimum:&#039;&#039;&#039; 30M&lt;br /&gt;
* max_execution_time: &#039;&#039;&#039;Recommended:&#039;&#039;&#039; 30&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Prepare for Install == &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
You will need to complete two tasks before you can install Joomla! on your server. First, you will need to download the Joomla! package files. Next, you will need to have a database for Joomla! use.&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Uploading Joomla! Package Files === &amp;lt;!--T:46--&amp;gt; &amp;lt;/translate&amp;gt;&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
#&amp;lt;translate&amp;gt;&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
Download the current release of&amp;lt;/translate&amp;gt; [https://downloads.joomla.org/latest Joomla! {{ns}}]&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
#Move the downloaded Joomla! installation package to the server. Use a [[wikipedia:FTP Client|FTP Client]] to transfer the Joomla! 3.x files to your server. There are several available for use, here is a detailed [[wp:Comparison_of_FTP_client_software|list of FTP Clients]]. Please make sure you are using a FTP client&#039;s official release.&lt;br /&gt;
:: Hint - This can be accomplished by simply moving the downloaded package to your server, then unpacking it.  Or you can unpack the files on your local computer, then move the Joomla installation over to your server.   Either way, the Joomla installation needs to be unpacked in the root of your site. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
The &amp;quot;root&amp;quot; of your site is the public folder where all web page files are stored so that a user can view the site examples include public_html and htdocs.  What your Host uses depends on them.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{tip|text=&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
Normally you upload your web files to the root folder.  This is typically named &amp;quot;public_html&amp;quot; but other variations include &amp;quot;htdocs&amp;quot; and this depends on what your host has the set up on the server.  For Joomla purposes, you can load the files directly into &amp;quot;public_html&amp;quot; or a sub-folder within it.&amp;lt;/translate&amp;gt;|title=&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
Your Server&#039;s &amp;quot;root&amp;quot; Folder&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{warning|title=&amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
Warning!&amp;lt;/translate&amp;gt;|&amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
If you unpack the files on your own computer, then copy them to your server, be sure to move only the folders and files contained &#039;&#039;&#039;INSIDE&#039;&#039;&#039; the Joomla! package.  If you unpack the folders and files into a folder, for example called,&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;Joomla&#039;&#039;&amp;lt;/code&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
and then upload that folder, your site will have to be accessed at&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;yoursitename.com/Joomla&#039;&#039;&amp;lt;/code&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
instead of&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;yoursitename.com&#039;&#039;&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
Database for Joomla! Installation&amp;lt;/translate&amp;gt; ===&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
#If you need to create a database, please read &amp;quot;&#039;&#039;&#039;[[S:MyLanguage/Creating a Database for Joomla!|Create a database for use with Joomla!]]&#039;&#039;&#039;&amp;quot; first or skip to step #2.&lt;br /&gt;
#You will need to note basic database information needed when the actual Joomla! installation is started. &lt;br /&gt;
#* Location of database, localhost? Or a specific host&#039;s server such as &amp;lt;code&amp;gt;&#039;&#039;dbserver1.yourhost.com&#039;&#039;&amp;lt;/code&amp;gt;?&lt;br /&gt;
#* The database name&lt;br /&gt;
#* The database user&#039;s name&lt;br /&gt;
#* The database user&#039;s password&lt;br /&gt;
&lt;br /&gt;
== Start Install == &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
=== Main Configuration ===&lt;br /&gt;
With the above requirements met, a database created and the required Joomla! files in place, you are ready to install Joomla!. Start the Joomla! web installer by opening your favorite browser and browsing to the site&#039;s domain name. On host installation you will use&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;nowiki&amp;gt;http://www.yoursitename.com&amp;lt;/nowiki&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;. &amp;lt;translate&amp;gt;&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
If your are installing Joomla! locally, you will use&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;nowiki&amp;gt;http://localhost/&amp;lt;/nowiki&amp;gt;&amp;lt;&amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
path to Joomla files&amp;lt;/translate&amp;gt;&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;, &amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
and you should see the installation screen&amp;lt;/translate&amp;gt;.&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; max-width:100%; height:auto; display:inline-block; float:right; margin-left:.3em;&amp;quot;&amp;gt;[[File:&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
J30_Installation_screen_page_1.png&amp;lt;/translate&amp;gt;|border|left|500px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
Joomla! will try to identify the &#039;&#039;&#039;Select Language&#039;&#039;&#039; field automatically from your browser&#039;s language. You can change this if needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
Fill in the following information.&lt;br /&gt;
*&#039;&#039;&#039;Site Name&#039;&#039;&#039;: the name of your website — this can be changed at any point later in the [[S:MyLanguage/Help30:Site_Global_Configuration#Site|Site Global Configuration]] page.&lt;br /&gt;
*&#039;&#039;&#039;Description&#039;&#039;&#039;: enter a description of the website. This is a &#039;&#039;global fallback&#039;&#039; meta description used on every page which will be used by search engines. Generally, a maximum of 20 to 25 words is optimal. Again, this can be changed on the [[S:MyLanguage/Help30:Site_Global_Configuration#Site|Site Global Configuration]] page at any time. For more on &#039;&#039;metadata&#039;&#039;, see [[S:MyLanguage/Help30:Site_Global_Configuration#Metadata_Settings|Global Metadata Settings]] and [[S:MyLanguage/Entering search engine meta-data|Entering search engine meta-data]].&lt;br /&gt;
*&#039;&#039;&#039;Admin Email Address&#039;&#039;&#039;: the admin email address. Enter a valid email in case you forget your password. This is the email address where you&#039;ll receive a link to change the admin password.&lt;br /&gt;
*&#039;&#039;&#039;Admin Username&#039;&#039;&#039;: Joomla! uses a default &amp;quot;admin&amp;quot; as the username for the &#039;&#039;&#039;Super User&#039;&#039;&#039;. You can leave it as is, change it now (which a good [[S:MyLanguage/Security_Checklist/Joomla!_Setup#Change the default administrator username|Security measure]]) or use [[S:MyLanguage/Help30:Site_My_Profile|My Profile]] in the &#039;&#039;Administration&#039;&#039; interface to change it later.&lt;br /&gt;
*&#039;&#039;&#039;Admin Password&#039;&#039;&#039;: remember that super user has maximum control of the site (frontend &amp;amp; backend), so try to use a difficult password. Use [[S:MyLanguage/Help30:Site_My_Profile|My Profile]] in the &#039;&#039;Administration&#039;&#039; interface to change it later. Confirm the password in the &#039;&#039;&#039;Confirm Admin Password&#039;&#039;&#039; box.&lt;br /&gt;
*&#039;&#039;&#039;Site Offline&#039;&#039;&#039;: click the Yes or No box. Yes - this means when installation is complete, your Joomla! website will display the &#039;Site is offline&#039; message when you browse to&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;yoursitename.com&#039;&#039;&amp;lt;/code&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
to view the home page. No - this means the site is live when you browse to&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;yoursitename.com&#039;&#039;&amp;lt;/code&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
to view the home page. You can use the [[S:MyLanguage/Help30:Site_Global_Configuration#Site|Site Global Configuration]] in the &#039;&#039;Administration&#039;&#039; interface to change the Offline status at any time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
When everything on the first page is completed, click the &#039;&#039;&#039;next button&#039;&#039;&#039; to proceed:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;== Database Configuration == &amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
=== Configuration Settings ===&lt;br /&gt;
You will need to enter the information about the database you will use for Joomla! now. It was suggested to write this information down under &amp;quot;&#039;&#039;&#039;Prepare for Install&#039;&#039;&#039;&amp;quot; tab. You may also read or review [[S:MyLanguage/Creating a Database for Joomla!|Creating a Database for Joomla!]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; max-width:100%; height:auto; display:inline-block; float:right; margin-left:.5em;&amp;quot;&amp;gt;[[File:&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
J30_Installation_screen_page_2.png&amp;lt;/translate&amp;gt;|border|left|500px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
For simplification, these intructions are a reference to installing with a [[wikipedia:MySQLi|MySQLi]] database. The instructions on the installation page are self explanatory, but here they are again:&lt;br /&gt;
* &#039;&#039;&#039;Database Type&#039;&#039;&#039;: MySQLi is the common database used&lt;br /&gt;
* &#039;&#039;&#039;Hostname&#039;&#039;&#039; Where is your database located? Common is &amp;lt;code&amp;gt;&#039;&#039;localhost&#039;&#039;&amp;lt;/code&amp;gt;, but some hosts use a specific database server such as&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;&#039;&#039;dbserver1.yourhost.com&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Username&#039;&#039;&#039;: the username used to connect to the database&lt;br /&gt;
* &#039;&#039;&#039;Password&#039;&#039;&#039;: the password for the database&#039;s username&lt;br /&gt;
* &#039;&#039;&#039;Database Name&#039;&#039;&#039;: the name of the database&lt;br /&gt;
* &#039;&#039;&#039;Table Prefix&#039;&#039;&#039;: one is generated automatically, but you can change it. For example, &amp;lt;code&amp;gt;jos3_&amp;lt;/code&amp;gt; can be used. Just don&#039;t forget to put the underscore character&amp;lt;/translate&amp;gt; (&amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;) &amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
at the end of the prefix.&lt;br /&gt;
* &#039;&#039;&#039;Old Database Process&#039;&#039;&#039;: should the installer backup or delete existing tables during the installation of new tables? Click, Yes or No to select the choice.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
All these choices can be edited on the [[S:MyLanguage/Help30:Site_Global_Configuration#Server|Site Global Configuration]] page, under Server options after the installation is completed. Note, you will break your installation if you change these settings after installation unless you have a complete copy of the current database being used by the Joomla! installation. Common uses would be to update the username and password of the database or to complete a move of an existing installation to a new host with different parameters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
When all the information has been filled in, click the &#039;&#039;&#039;next button&#039;&#039;&#039; to proceed:&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Finalise == &amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
=== Overview ===&lt;br /&gt;
It is now time to finalise the Joomla! installation. The last page of the web browser installation contains all the information about the installation. This includes the options(at the top) for installing sample data and the installation&#039;s configurations(at the bottom).&lt;br /&gt;
==== Install Sample Data and Email Configurations ====&lt;br /&gt;
The first options are for automatically installing sample content to the website and emailing the configuration settings.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; max-width:100%; height:auto; display:inline-block; float:right; margin-left:.3em;&amp;quot;&amp;gt;[[File:&amp;lt;translate&amp;gt;&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
J30_Installation_screen_page_3_top.png&amp;lt;/translate&amp;gt;|border|left|500px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
If you are new to Joomla! it would be beneficial to install some &#039;&#039;&#039;sample data&#039;&#039;&#039; to see how Joomla! works. You can at this time choose to have the configuration settings emailed to you. If the &#039;&#039;&#039;Email Configuration&#039;&#039;&#039; choice is selected, the &#039;&#039;&#039;Email Password&#039;&#039;&#039; choice will appear. The email password is off by default for security. You can choose to have the password included, just click Yes. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
Time to check the configurations of your install and the environment of the installation.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration Check == &amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
==== Checking Your Configurations ====&lt;br /&gt;
If everything is in order, you will see the install at the top of the overview page. If not, this is the place to check and see what may be causing an issue.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; max-width:100%; height:auto; display:inline-block; float:right; margin-left:.3em;&amp;quot;&amp;gt;[[File:&amp;lt;translate&amp;gt;&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
J30_Installation_screen_page_3_bottom.png&amp;lt;/translate&amp;gt;|border|left|500px]]&amp;lt;/div&amp;gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
The &#039;&#039;&#039;section&#039;&#039;&#039; is broken into 4 groups:&lt;br /&gt;
*&#039;&#039;&#039;Main Configuration&#039;&#039;&#039;: all the website specific information, such as the website name, description, admin username, etc.&lt;br /&gt;
*&#039;&#039;&#039;Database Configuration&#039;&#039;&#039;: contains the information about the database Joomla! will use.&lt;br /&gt;
*&#039;&#039;&#039;Pre-Installation Check&#039;&#039;&#039;: these requirements must all be shown as Yes, otherwise you will not be able to install Joomla! With the exception of the PHP Version, the rest are usually controlled in the [[wikipedia:INI_file|php.ini]]. You may need assistance from your host in correcting these settings or checking to see if it is possible to adjust them. &lt;br /&gt;
*&#039;&#039;&#039;Typical PHP settings&#039;&#039;&#039; that might cause the install to fail and may need adjusting include the following with suggested values: (1) memory_limit (64M), (2)max_execution_time (30), (3) post_max_size (30M), (4) upload_max_filesize (30M). For more information, see [http://php.net/manual/en/configuration.file.php PHP configuration file] file.&lt;br /&gt;
*&#039;&#039;&#039;Recommended Settings&#039;&#039;&#039;: these are settings are recommended in your PHP configuration, but will not prevent Joomla! from being installed. You can refer to the above instructions on how they may be changed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
If everything is correct and all checks are passed, you may now click the &#039;&#039;&#039;Install&#039;&#039;&#039; button in the top right corner of the &#039;&#039;&#039;Overview&#039;&#039;&#039; page. This will start the actual installation process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
After you click the &#039;&#039;&#039;Install&#039;&#039;&#039; button, you should see a progress bar with additional information of the installation. Once the installation completes, you should see the success page!&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Finishing Up == &amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
=== Success and Finishing Up the Installation ===&lt;br /&gt;
Congratulations! Joomla! 3 is now installed. If you want to start using Joomla! right way without [[S:MyLanguage/J3.x:Installing_Joomla#Installing_Extra_Languages|installing extra languages]] there is one last step to complete the installation. You must delete the &#039;&#039;&#039;Installation Folder&#039;&#039;&#039;. Click on &#039;&#039;&#039;Remove Installation folder&#039;&#039;&#039; and a success message will appear. Now you can navigate to the &#039;&#039;&#039;Administrator&#039;&#039;&#039; log in by clicking &#039;&#039;&#039;Administrator&#039;&#039;&#039; or go right to your site by clicking &#039;&#039;&#039;Site&#039;&#039;&#039;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot; style=&amp;quot;max-width:100%; height:auto;&amp;quot;&amp;gt;[[File:&amp;lt;translate&amp;gt;&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
J30_Installation_screen_page_4.png&amp;lt;/translate&amp;gt;|border|700px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== Installing Extra Languages === &amp;lt;!--T:48--&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:&amp;lt;translate&amp;gt;&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
J3x_Install_Extra_Steps.png&amp;lt;/translate&amp;gt;|right|400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
Before you complete your installation by deleting the &#039;&#039;&#039;Installation Folder&#039;&#039;&#039;, click on:&amp;lt;/translate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;{{rarr}} &amp;lt;translate&amp;gt;&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
Extra steps: Install languages&amp;lt;/translate&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
This will continue the installation of Joomla! by taking you to a new installation page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;==== Install Languages ==== &amp;lt;!--T:53--&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
A list of language packs is displayed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:&amp;lt;translate&amp;gt;&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
J3x_Language_Installation_screen_page_1.png&amp;lt;/translate&amp;gt;|right|450px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
Check the language or language packs you wish to install. Remember the following:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
* Language packs included in custom distributions will not be listed at this stage as they are already installed.&lt;br /&gt;
* A version of the packs proposed will match the Joomla Major version (3.0.x, 3.1.x, etc.). The minor version of the pack may not correspond, e.g. you are installing version 3.3.3 and a 3.3.2 language pack is shown.  &lt;br /&gt;
* Unmatched language packs in the above example may have untranslated strings. &lt;br /&gt;
* The unmatched language packs will be offered as an update when the packs are updated by the registered Translation teams. The available update will be shown in the Control panel as well as in {{rarr|Extensions Manager,Update}}. This behavior is similar to {{rarr|Extensions Manager,Install Languages}}.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
Click &#039;&#039;&#039;Next&#039;&#039;&#039; and a progress bar will be display while the language pack or packs are downloaded.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;==== Choose Default Language ==== &amp;lt;!--T:59--&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
When the download is complete you can choose the default language for the Site and the Administrator interface.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
* Make your choices for default languages.&amp;lt;/translate&amp;gt;{{-}}[[File:&amp;lt;translate&amp;gt;&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
J3x_Language_Installation_screen_page_2.png&amp;lt;/translate&amp;gt;]]{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
You may also choose to activate the multilingual features of Joomla! at this time too.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
* Click &#039;&#039;&#039;Yes&#039;&#039;&#039; next to &#039;&#039;&#039;Activate the multilingual feature&#039;&#039;&#039;&lt;br /&gt;
* Two additional choice will appear.&amp;lt;/translate&amp;gt;{{-}}[[File:&amp;lt;translate&amp;gt;&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
J3x_Language_Installation_screen_page_2_multilingual.png&amp;lt;/translate&amp;gt;|600px]]{{-}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Install localised content&#039;&#039;&#039;, yes or no. This will automatically create one content category for each language installed and one featured article with dummy content for each content category installed.&lt;br /&gt;
* &#039;&#039;&#039;Enable the language code plugin&#039;&#039;&#039;, yes or no. If enabled, the plugin will add the ability to change the language code in the generated HTML document to improve SEO.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
When you completed all the choices of language installation, click &#039;&#039;&#039;Next&#039;&#039;&#039; to proceed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;==== Finalise ==== &amp;lt;!--T:68--&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
You will now be presented with a very similar &#039;&#039;&#039;Congratulations! Joomla! is now installed.&#039;&#039;&#039; screen. The difference will be a notation of the default Administrator and Site language settings, if they were set. You will also not see the &#039;&#039;&#039;Extra Steps&#039;&#039;&#039; message in the bottom right.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:&amp;lt;translate&amp;gt;&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
J3x_Language_Installation_screen_page_3.png&amp;lt;/translate&amp;gt;|center|850px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
Now you can delete the &#039;&#039;&#039;Installation Folder&#039;&#039;&#039;. Click on &#039;&#039;&#039;Remove Installation folder&#039;&#039;&#039; and a success message will appear. Now you can navigate to the &#039;&#039;&#039;Administrator&#039;&#039;&#039; log in by clicking &#039;&#039;&#039;Administrator&#039;&#039;&#039; or go right to your site by clicking &#039;&#039;&#039;Site&#039;&#039;&#039;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Installation{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 3.x{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 3.0{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 3.1{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 3.2{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 3.3{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 3.4{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 3.5{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 3.6{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 3.7{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 3.8{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 3.9{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:CLI_Update&amp;diff=662012</id>
		<title>J4.x:CLI Update</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:CLI_Update&amp;diff=662012"/>
		<updated>2020-04-17T08:26:36Z</updated>

		<summary type="html">&lt;p&gt;Toivo: Syntax extension core:check-updates, extension:install&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt; CLI Update &amp;lt;br /&amp;gt;Documentation&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Introduction == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; Performing some minor task on the Joomla! administrator dashboard might seem cumbersome and slow. The CLI Update is introducing a faster way to perform some of these operations through the command line. It brings forward a way to integrate things faster in the Joomla! app. With it, small tests can be done faster without having to go through the process of the web dashboard. It is a CLI Application to the Joomla! CMS that enables user to perform updates in the CMS.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; This documentation shows how the CLI Update can be used and how you can extend its functionality as a developer.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Requirements=== &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
As it goes for all CLI (Command Line Interface) Apps, access to your Joomla! installation via the command line is required to use the tools provided by the CLI Update.&lt;br /&gt;
You might want to consider having SSH access for your live server.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Terms and definitions=== &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
*CLI - Command Line Interface&lt;br /&gt;
*SSH - Secure SHell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Using the CLI Update== &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; In other for you to use the tools provided by CLI Update, as said in former section, you need access to a CLI into the root of the Joomla Installation. In other words you have to be in the root folder of your Joomla CMS as all commands will run from the root folder.&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:All commands.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==General Command Usage== &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt; In this section we will talk about the usage of commands, we will talk about different commands, what they are and how you can use them. We will go by checking out available commands in the CLI Update.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Available commands=== &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; There are quite a number of commands available in the CLI Update that are ready for use.  These commands are grouped based on the area of the Joomla! CMS that they are touching.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Checking for Core Updates==== &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; The CLI Update provides a command to check for Joomla! updates, it works just like the web version of &amp;lt;tt&amp;gt;com_joomlaupdate&amp;lt;/tt&amp;gt;, it retrieves update and tells if update is available or not. To run the update check, we will just issue the command like this from the root directory:&amp;lt;/translate&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php core:check-updates&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt; The command runs and the output displays an available update version, if available, or tell otherwise that the current installation is up to date.&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:Check updates.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Extension commands==== &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt; The next group of commands are the extension based commands, simply put, the commands allows us to manage extensions within the Jommla! core, the CLI Update ships with commands to install, list and remove extensions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
======Listing installed extensions====== &amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; This command allows us to list all installed extensions. This command can run in two different ways which are:&amp;lt;/translate&amp;gt;&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; &#039;&#039;General Listing&#039;&#039;: Lists all the extensions installed, by extensions it means components, languages, plugins, modules will be listed together when you run this command. This is how you call the command:&amp;lt;/translate&amp;gt;{{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:list&amp;lt;/tt/&amp;gt; {{-}}[[File:Extension list.png|center|800px]]&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt; &#039;&#039;Listing By types&#039;&#039;: General listing of extension can be tedious if you&#039;re looking for a particular extension out of the big list, however, you can beat down the numbers specifying the type of extensions you can the command to display by adding a type option to the command. Here is how that is done:&amp;lt;/translate&amp;gt; {{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:list --type=language&amp;lt;/tt&amp;gt;{{-}}[[File:Extension list type.png|center|800px]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt; This will list out only language based extensions, you can specify type as module, plugin and component as well.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
======Installing an Extension====== &amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; Joomla provides installing an extension through an URL to the zip file or a path to the file, the CLI Update provides both as well and how you can use them is described below.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; &#039;&#039;Installing from URL&#039;&#039;: To install an extension from URL we will run the command like this and provide an argument and option for the &amp;lt;tt&amp;gt;extension:install&amp;lt;/tt&amp;gt; command.{{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:install --url=https://github.com/joomla-extensions/patchtester/releases/download/3.0.0-beta3/com_patchtester.zip&amp;lt;/tt&amp;gt;{{-}}This will download and install the &amp;lt;tt&amp;gt;com_patchtester&amp;lt;/tt&amp;gt; extension.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{-}}[[File:Extension install url.png|center|800px]]&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; &#039;&#039;Installing from a PATH&#039;&#039;:To install an extension from a PATH we will run the same &amp;lt;tt&amp;gt;extension:install&amp;lt;/tt&amp;gt; command and specify arguments for paths like this:&amp;lt;/translate&amp;gt;{{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:install --path=/Users/bosunski/docs/com_pathtester.zip&amp;lt;/tt&amp;gt; {{-}}[[File:Extension install path.png|center|800px]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt; This loads the extension and performs the installation as expected.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
======Removing an extension====== &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt; The last command under this category is the &amp;lt;tt&amp;gt;extension:remove&amp;lt;/tt&amp;gt; command that is used to remove extensions from the Joomla CMS. This command takes in the &amp;lt;tt&amp;gt;extension_id&amp;lt;/tt&amp;gt; as an argument, you can always use the &amp;lt;tt&amp;gt;extension:list&amp;lt;/tt&amp;gt; to display extension id. This is how we remove an extension of id &amp;lt;tt&amp;gt;803&amp;lt;/tt&amp;gt;&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php extension:remove 803&amp;lt;/tt&amp;gt;&lt;br /&gt;
[[File:Extension Remove.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Updating the Joomla Core==== &amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; As much as the CLI Update provides a command to check update, it also provides a command to perform the update if an update is available. To perform update we will just run this:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php core:update&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt; This command updates the Joomla core updating it to the latest version available.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Core update.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Installing Joomla! via the CLI==== &amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:35--&amp;gt; The next command here is the &amp;lt;tt&amp;gt;core:install&amp;lt;/tt&amp;gt; command that lets installation of Joomla CMS to be done via the CLI. This command can  work in 2 modes: The Interactive mode and the Non-interactive mode.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Interactive installation===== &amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:37--&amp;gt; To have a fresh installation of Joomla using the interactive mode we will just run the &amp;lt;tt&amp;gt;extension:install&amp;lt;/tt&amp;gt; command like so:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php extension:install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:38--&amp;gt; The default installation mode will run and will ask you to input the settings as it&#039;s required, once all options have been provided and validated, the installations will run and Joomla will be installed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Core install interactive.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Non-interactive Installation===== &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt; The next type of installation is the Non-interactive mode. In this mode you will not be asked to input the options but rather all options will be specified within a file and the command will take in an option that specifies the path to the file you want to load the options from, it&#039;s done like this:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php core:install --file=/path/to/config.json&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Core install file.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt; An example of the contents of &amp;lt;tt&amp;gt;config.json&amp;lt;/tt&amp;gt; can be:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;language&amp;quot;:&amp;quot;en-GB&amp;quot;,&lt;br /&gt;
  &amp;quot;site_name&amp;quot;:&amp;quot;Joomla&amp;quot;,&lt;br /&gt;
  &amp;quot;admin_email&amp;quot;:&amp;quot;email@example.com&amp;quot;,&lt;br /&gt;
  &amp;quot;admin_user&amp;quot;:&amp;quot;user&amp;quot;,&lt;br /&gt;
  &amp;quot;admin_password&amp;quot;:&amp;quot;password&amp;quot;,&lt;br /&gt;
  &amp;quot;db_type&amp;quot;:&amp;quot;mysql&amp;quot;,&lt;br /&gt;
  &amp;quot;db_host&amp;quot;:&amp;quot;localhost&amp;quot;,&lt;br /&gt;
  &amp;quot;db_user&amp;quot;:&amp;quot;root&amp;quot;,&lt;br /&gt;
  &amp;quot;db_pass&amp;quot;:&amp;quot;xcdxcx&amp;quot;,&lt;br /&gt;
  &amp;quot;db_name&amp;quot;:&amp;quot;jtest&amp;quot;,&lt;br /&gt;
  &amp;quot;db_prefix&amp;quot;:&amp;quot;efs0k_&amp;quot;,&lt;br /&gt;
  &amp;quot;db_old&amp;quot;:&amp;quot;remove&amp;quot;,&lt;br /&gt;
  &amp;quot;helpurl&amp;quot;:&amp;quot;https://joomla.org&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:42--&amp;gt; OR as sample&amp;lt;/translate&amp;gt; &amp;lt;tt&amp;gt;config.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
site_name=&amp;quot;gsoc&amp;quot;&lt;br /&gt;
admin_email=&amp;quot;user@example.com&amp;quot;&lt;br /&gt;
admin_user=&amp;quot;user&amp;quot;&lt;br /&gt;
admin_password=&amp;quot;secret&amp;quot;&lt;br /&gt;
db_type=&amp;quot;mysql&amp;quot;&lt;br /&gt;
db_host=&amp;quot;localhost&amp;quot;&lt;br /&gt;
db_user=&amp;quot;root&amp;quot;&lt;br /&gt;
db_pass=&amp;quot;&amp;quot;&lt;br /&gt;
db_name=&amp;quot;joomla&amp;quot;&lt;br /&gt;
db_prefix=&amp;quot;prefix_&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:43--&amp;gt; The options defined are loaded and validated after which the installation will run.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Configuration based commands==== &amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:45--&amp;gt; The next set of commands we will be looking at is for setting and viewing configuration options inside the Joomla installation:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Setting configurations===== &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:47--&amp;gt; The CLI Update provides a command to change the value of an option existing in the configuration. Using the &amp;lt;tt&amp;gt;config:get&amp;lt;/tt&amp;gt; command you can set any configuration option that exists inside the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt;. This is how to use command:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:set mailer=mail&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config set single.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:48--&amp;gt; You can even add multiple option-value pairs like this:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:set mailer=mail fromname=Joomla! sitename=&amp;quot;Joomla Site&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
This will set multiple options at once.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config set multiple.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Getting configurations===== &amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:51--&amp;gt; The next command in this category is the &amp;lt;tt&amp;gt;config:get&amp;lt;/tt&amp;gt; command, as the name suggests it gets the value of an option that exists inside the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt;, when no argument is supplied to the command, it will display all the options available in a tabulated form. Here is the command:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:get sitename&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:52--&amp;gt; This will return the value for the option &amp;lt;tt&amp;gt;sitename&amp;lt;/tt&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:011-cli.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:get&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:53--&amp;gt; This will return all the values for the available options.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config get all.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Getting grouped configurations===== &amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:55--&amp;gt; The CLI Update adds an option to &amp;lt;tt&amp;gt;config:get&amp;lt;/tt&amp;gt; command that allows us to get logically grouped options, say for example you want to view all your database related options, or you want to view all email related options. To achieve this the CLI Update provides an option to specify a group of options to display, here is how to do that:&amp;lt;/translate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:get --group=mail&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config get group.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:56--&amp;gt; The command takes in the &amp;lt;tt&amp;gt;group&amp;lt;/tt&amp;gt; option and given the value of &amp;lt;tt&amp;gt;mail&amp;lt;/tt&amp;gt;. CLI Update currently supports group values: mail, db and session.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Site down and Site up commands==== &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:58--&amp;gt; As their name suggests, these commands allow you to quickly put your Joomla powered website into offline or online mode. Here is how to use the commands:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php site:up&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Site up.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php site:down&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Site down.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:59--&amp;gt; The second command puts the website in offline mode while the first command brings the website to online mode.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contributing to CLI Update as a developer== &amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Adding more commands=== &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:62--&amp;gt; The CLI Update ships with some commands which are added based on the need seen as of the time. However, the CLI Update allows other commands to be added easily and this is what this section is for. A video tutorial is included below.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;video-container&amp;quot;&amp;gt;&lt;br /&gt;
{{#widget:YouTube|id=gcJJtTcPiTg}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Calling other commands within command classes=== &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:64--&amp;gt; Should in case a command you want to write for the CLI Update is going to be require that you call an existing command internally, this is how that can be achieved from within another command class:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class RunHelloCommand extends AbstractCommand {&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    public function execute(): int {&lt;br /&gt;
        $command = $this-&amp;gt;getApplication()-&amp;gt;getCommand(&#039;say:hello&#039;);&lt;br /&gt;
        $code = $command-&amp;gt;execute();&lt;br /&gt;
&lt;br /&gt;
        if($code === 0) {&lt;br /&gt;
            // command ran successfully, do something&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:65--&amp;gt; Here, we&#039;re attempting to call the &amp;lt;tt&amp;gt;say:hello&amp;lt;/tt&amp;gt; command created in the Video above.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Some important things to checkout=== &amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:67--&amp;gt; *Symfony Style Documentation: [https://symfony.com/doc/current/console/style.html How to Style a Console Command]&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
[[Category:Joomla CLI]]&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Joomla!_Forum_FAQs&amp;diff=652816</id>
		<title>Joomla! Forum FAQs</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Joomla!_Forum_FAQs&amp;diff=652816"/>
		<updated>2020-03-31T08:38:02Z</updated>

		<summary type="html">&lt;p&gt;Toivo: Search: case insensitive, minimum length of argument 4; Help: fixed broken link to FPA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{review}}&lt;br /&gt;
===What forum is used at joomla.org?===&lt;br /&gt;
&lt;br /&gt;
We are currently using the forum software, phpBB3. phpBB is located here: http://www.phpbb.com/&lt;br /&gt;
&lt;br /&gt;
===How is the forum at joomla.org integrated with Joomla!?===&lt;br /&gt;
The forum is not bridged with Joomla! in any way. The forum uses a customized theme that matches the rest of the joomla.org sites.&lt;br /&gt;
&lt;br /&gt;
===What are the rules of the joomla.org forums?===&lt;br /&gt;
You can read the current forum rules here: http://forum.joomla.org/viewtopic.php?f=8&amp;amp;t=65&lt;br /&gt;
&lt;br /&gt;
===How do you empty your PM-box on the forum?===&lt;br /&gt;
&lt;br /&gt;
Problem&lt;br /&gt;
Your PM-box is full and nobody can send you anymore messages. How to solve this?&lt;br /&gt;
&lt;br /&gt;
Solution&lt;br /&gt;
go to your messages and &amp;quot;check&amp;quot; the box and click delete for those you want to delete.&lt;br /&gt;
&lt;br /&gt;
Note: READ them first before you delete them!&lt;br /&gt;
&lt;br /&gt;
===How do I search the forum to find what I need?===&lt;br /&gt;
&lt;br /&gt;
The forum search is somewhat tricky. Here are some tips for effective searching:&lt;br /&gt;
&lt;br /&gt;
#Searches are case insensitive.  The minimum length of a search argument is four (4) characters.&lt;br /&gt;
#Searches are for whole words, so for example error and errors will give different results.The forums are spidered by external search engines so you may be more successful using one of these.&lt;br /&gt;
#Advanced search will let you search with more parameters.&lt;br /&gt;
&lt;br /&gt;
===How can I ask for help?===&lt;br /&gt;
Describe your problem. Describe the things that you tried. Give all the necessary information about your server environment, your Joomla set-up and all installed non-core extensions. The [https://forumpostassistant.github.io/docs/ Forum Post Assistant] is an excellent tool to give all that information.&lt;br /&gt;
&lt;br /&gt;
When your issue has been solved, please reply to your topic about your solution so that your topic can be useful for other users with the same issue. And a &amp;quot;thank you&amp;quot; will motivate the people who helped you, to continue to help others.&lt;br /&gt;
&lt;br /&gt;
===What are the stars/ranks under the forum username represent?===&lt;br /&gt;
The stars and ranks are based upon the number of posts a user has. See this page for more details:[[Explain 5 Star Rating System For Forum Posters]].&lt;br /&gt;
&lt;br /&gt;
===Why are there different colors of usernames?===&lt;br /&gt;
The different colors of the usernames are used to differentiate between the different working groups of Joomla!. See this page for more details:[[Explain 5 Star Rating System For Forum Posters]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:FAQ]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_do_you_recover_or_reset_your_admin_password%3F&amp;diff=592111</id>
		<title>How do you recover or reset your admin password?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_do_you_recover_or_reset_your_admin_password%3F&amp;diff=592111"/>
		<updated>2019-02-10T09:25:11Z</updated>

		<summary type="html">&lt;p&gt;Toivo: added current time to date columns, NULL values cause SQL error&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{version|2.5,3.x}}&lt;br /&gt;
{{tip|text=&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
This page is only for Joomla! 2.5 and higher versions. If you are still using Joomla! 1.5&amp;amp;nbsp;&amp;lt;/translate&amp;gt; [[S:MyLanguage/J1.5:How_do_you_recover_or_reset_your_admin_password%3F|&amp;lt;translate&amp;gt;&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
instructions can be found here&amp;lt;/translate&amp;gt;]].|title=&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
Joomla! 1.5 Password Recovery&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
Normally, you can add, edit and delete users and passwords from the back-end User Manager. To do this, you must be logged in as a member of the Super Administrator group. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
In some situations, this may not be possible. For example, your site may have been &amp;quot;hacked&amp;quot; and had the passwords or users changed. Or perhaps the person who knew the passwords is no longer available. Or maybe you have forgotten the password that was used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
In these cases, it is still possible to alter the Joomla! database so you can log back in as a Super Administrator. These are the possible methods available to Joomla! administrators.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Method 1: configuration.php file == &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
If you have access to your &amp;lt;code&amp;gt;configuration.php&amp;lt;/code&amp;gt; file for the Joomla installation on your server, then you can recover the password using the following method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
1. Using an FTP program connect to your site. Find the configuration.php file and look at the file permissions. If the permissions are 444 or some other value, then change the permissions of the configuration.php file to 644. This will help prevent issues when uploading the changed configuration.php file later in this process.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
2. Download the configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
3. Open the configuration.php file that was downloaded in a text editor such as notepad++ and add this line&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 public $root_user=&#039;myname&#039;;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
to the bottom of the list where myname is a username with administrator access that you know the password for. An username that is Author level or higher can also be used in place of a username with administrator access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
4. Save the configuration.php file and upload it back to the site. You may leave the permissions on the configuration.php file at 644.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
This user will now be a temporary super administrator. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
5. Login to the back end and change the password of the administrator user you don&#039;t have the password for or create a new super admin user. &lt;br /&gt;
If you create the new user you may want to block or delete the old user depending on your circumstances.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
6. When finished, make sure to use the &amp;quot;Click here to try to do it automatically&amp;quot; link that appears in the alert box to remove the line that was added to the configuration.php file. If using the link was not successful, then go back and delete the added line from your configuration.php file using a text editor. Upload the configuration.php file back to the site.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
7. Using your FTP program verify the file permissions of the configuration.php file, they should be 444. If you manually removed the added line, then change the file permissions on the configuration.php file to 444.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
If you have no users who know their passwords and you can&#039;t utilize front end registration you may need to make a change in your database as outlined below in this document.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Method 2: Direct Editing of Database == &amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
If the methods above did not work, you have two other options, both of which require working with the MySQL database directly.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Change the Password in the Database=== &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
If the admin user is still defined, the simplest option is to change the password in the database to a known value. This requires that you have access to the MySQL database using phpMyAdmin or another client.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{warning|&amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
These instructions show how to manually change a password to the word&amp;lt;/translate&amp;gt; -  &amp;quot;secret&amp;quot;|title=&amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
Make sure you change your password once you regain access&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
# Navigate to phpMyAdmin and select the database for the Joomla! site in the left-hand drop-down list box. This will show the database tables on the left side of the screen. &lt;br /&gt;
# Find and click on the table with &amp;quot;_users&amp;quot; appended in the list of tables (note: you may have a prefix that is not jos_, simply go to the _users table for your prefix). &lt;br /&gt;
# Click on the &amp;quot;Browse&amp;quot; button in the top toolbar. This will show all of the users that are set up for this site.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
# Find the user whose password you want to change and press the Edit icon for this row.&lt;br /&gt;
# A form will display that allows you to edit the password field. Copy the value&amp;lt;/translate&amp;gt; &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199&amp;lt;/source&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
into the password field and press the &#039;&#039;Go&#039;&#039; button. phpMyAdmin should display the message &amp;quot;Affected rows: 1&amp;quot;. At this point, the password should be changed to &#039;&#039;&#039;&amp;quot;secret&amp;quot;&#039;&#039;&#039;.&lt;br /&gt;
# Log in with this user and password and change the password of this user to a secure value. Check all of the users using the User Manager to make sure they are legitimate. If you have been hacked, you may want to change all of the passwords on the site.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Add a New Super Administrator User=== &amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
If changing the password won&#039;t work, or you aren&#039;t sure which user is a member of the Super Administrator group, you can use this method to create a new user.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
# Navigate to phpMyAdmin and select the database for the Joomla! site in the left-hand drop-down list box. This will show the database tables on the left side of the screen. &lt;br /&gt;
# Press the &amp;quot;SQL&amp;quot; button in the toolbar to run an SQL query on the selected database. This will display a field called &amp;quot;Run SQL query/queries on database &amp;lt;your database&amp;gt;&amp;quot;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
# Delete any text in this field and copy and paste the following query below and press the &#039;&#039;Go&#039;&#039; button to execute the query and add the new Administrator user to the table.&lt;br /&gt;
# Use the SQL query below to add another administrator account.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{warning|&amp;lt;translate&amp;gt;&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
The following code uses jos31_ as the table name prefix which is only an example table prefix. The prefix when you first installed Joomla is &#039;&#039;&#039;RANDOM&#039;&#039;&#039; or what you set it specifically too. You will need to change all occurrences of &#039;&#039;&#039;jos31_&#039;&#039;&#039;(your install set prefix) found in the code below to the prefix your installation is using.&amp;lt;/translate&amp;gt; |title=&amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
Make sure you match your db table prefix!&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
SQL code for use with Joomla&amp;lt;/translate&amp;gt; {{JVer|2.5}} {{JVer|3.1}} &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;INSERT INTO `jos31_users`&lt;br /&gt;
   (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`)&lt;br /&gt;
VALUES (&#039;Administrator2&#039;, &#039;admin2&#039;,&lt;br /&gt;
    &#039;d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199&#039;, &#039;&#039;, NOW(), NOW(), NOW());&lt;br /&gt;
INSERT INTO `jos31_user_usergroup_map` (`user_id`,`group_id`)&lt;br /&gt;
VALUES (LAST_INSERT_ID(),&#039;8&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
At this point, you should be able to log into the back end of Joomla! with the username of &amp;quot;admin2&amp;quot; and password of &amp;quot;secret&amp;quot;. After logging in, go to the User Manager and change the password to a new secure value and add a valid e-mail address to the account. If there is a chance you have been &amp;quot;hacked&amp;quot;, be sure to check that all users are legitimate, especially any members of the Super Administrator group.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{warning|&amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
Warning: The password values shown on this page are public knowledge and are only for recovery. Your site may be hacked if you do not change the password to a secure value after logging in. Be sure you change the password to a secure value after logging in.&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
The examples above change the password to &amp;quot;secret&amp;quot;. Two other possible values are shown below:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- password = &amp;quot;this is the MD5 and salted hashed password&amp;quot;&lt;br /&gt;
------------------------------------------------------&lt;br /&gt;
- admin  = 433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT&lt;br /&gt;
- secret = d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199&lt;br /&gt;
- OU812  = 5e3128b27a2c1f8eb53689f511c4ca9e:J584KAEv9d8VKwRGhb8ve7GdKoG7isMm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
[[Category:FAQ]][[Category:Administration FAQ]][[Category:Getting Started FAQ]] [[Category:User Management]]&amp;lt;/translate&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Plugin/Events/Contact&amp;diff=586501</id>
		<title>Plugin/Events/Contact</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Plugin/Events/Contact&amp;diff=586501"/>
		<updated>2019-01-10T15:16:52Z</updated>

		<summary type="html">&lt;p&gt;Toivo: /* onSubmitContact */ corrected path, changed mails to emails&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Contact events are triggered during the contact form submitting process. &lt;br /&gt;
&lt;br /&gt;
== onValidateContact ==&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This event is triggered after a contact form has been submitted.&lt;br /&gt;
An example use case would be validating a captcha. If you return an Exception object form submission will be terminated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;contact&amp;lt;/code&amp;gt; A reference to the person who will receive the form.&lt;br /&gt;
*&amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; A reference to the data in the $_POST variable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
None on success or Exception on failure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Called in files&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_contact/controllers/contact.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== onSubmitContact ==&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This event is triggered after a contact form has been submitted. You can use this for sending additional emails etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;contact&amp;lt;/code&amp;gt; A reference to the person who will receive the form.&lt;br /&gt;
*&amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; A reference to the data in the $_POST variable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
None.&lt;br /&gt;
&#039;&#039;&#039;Called in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_contact/controllers/contact.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Plugin Development]][[Category:Specifications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Plugin/Events/Contact&amp;diff=586500</id>
		<title>Plugin/Events/Contact</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Plugin/Events/Contact&amp;diff=586500"/>
		<updated>2019-01-10T15:15:07Z</updated>

		<summary type="html">&lt;p&gt;Toivo: /* onValidateContact */ corrected path, fixed typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Contact events are triggered during the contact form submitting process. &lt;br /&gt;
&lt;br /&gt;
== onValidateContact ==&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This event is triggered after a contact form has been submitted.&lt;br /&gt;
An example use case would be validating a captcha. If you return an Exception object form submission will be terminated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;contact&amp;lt;/code&amp;gt; A reference to the person who will receive the form.&lt;br /&gt;
*&amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; A reference to the data in the $_POST variable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
None on success or Exception on failure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Called in files&#039;&#039;&#039;&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_contact/controllers/contact.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== onSubmitContact ==&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This event is triggered after a contact form has been submitted. You can use this for sending additional mails etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parameters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;contact&amp;lt;/code&amp;gt; A reference to the person who will receive the form.&lt;br /&gt;
*&amp;lt;code&amp;gt;data&amp;lt;/code&amp;gt; A reference to the data in the $_POST variable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return Value&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
None.&lt;br /&gt;
&#039;&#039;&#039;Called in files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;components/com_contact/controller.php&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Plugin Development]][[Category:Specifications]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:CLI_Update&amp;diff=585853</id>
		<title>J4.x:CLI Update</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:CLI_Update&amp;diff=585853"/>
		<updated>2018-12-28T16:59:35Z</updated>

		<summary type="html">&lt;p&gt;Toivo: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt; CLI Update &amp;lt;br /&amp;gt;Documentation&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Introduction == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; Performing some minor task on the Joomla! administrator dashboard might seem cumbersome and slow. The CLI Update is introducing a faster way to perform some of these operations through the command line. It brings forward a way to integrate things faster in the Joomla! app. With it, small tests can be done faster without having to go through the process of the web dashboard. It is a CLI Application to the Joomla! CMS that enables user to perform updates in the CMS.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; This documentation shows how the CLI Update can be used and how you can extend its functionality as a developer.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Requirements=== &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
As it goes for all CLI (Command Line Interface) Apps, access to your Joomla! installation via the command line is required to use the tools provided by the CLI Update.&lt;br /&gt;
You might want to consider having SSH access for your live server.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Terms and definitions=== &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
*CLI - Command Line Interface&lt;br /&gt;
*SSH - Secure SHell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Using the CLI Update== &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; In other for you to use the tools provided by CLI Update, as said in former section, you need access to a CLI into the root of the Joomla Installation. In other words you have to be in the root folder of your Joomla CMS as all commands will run from the root folder.&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:All commands.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==General Command Usage== &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt; In this section we will talk about the usage of commands, we will talk about different commands, what they are and how you can use them. We will go by checking out available commands in the CLI Update.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Available commands=== &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; There are quite a number of commands available in the CLI Update that are ready for use.  These commands are grouped based on the area of the Joomla! CMS that they are touching.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Checking for Updates Updates==== &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; The CLI Update provides a command to check for Joomla! updates, it works just like the web version of &amp;lt;tt&amp;gt;com_joomlaupdate&amp;lt;/tt&amp;gt;, it retrieves update and tells if update is available or not. To run the update check, we will just issue the command like this from the root directory:&amp;lt;/translate&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php check-updates&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt; The command runs and the output displays an available update version, if available, or tell otherwise that the current installation is up to date.&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:Check updates.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Extension commands==== &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt; The next group of commands are the extension based commands, simply put, the commands allows us to manage extensions within the Jommla! core, the CLI Update ships with commands to install, list and remove extensions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
======Listing installed extensions====== &amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; This command allows us to list all installed extensions. This command can run in two different ways which are:&amp;lt;/translate&amp;gt;&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; &#039;&#039;General Listing&#039;&#039;: Lists all the extensions installed, by extensions it means components, languages, plugins, modules will be listed together when you run this command. This is how you call the command:&amp;lt;/translate&amp;gt;{{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:list&amp;lt;/tt/&amp;gt; {{-}}[[File:Extension list.png|center|800px]]&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt; &#039;&#039;Listing By types&#039;&#039;: General listing of extension can be tedious if you&#039;re looking for a particular extension out of the big list, however, you can beat down the numbers specifying the type of extensions you can the command to display by adding a type option to the command. Here is how that is done:&amp;lt;/translate&amp;gt; {{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:list --type=language&amp;lt;/tt&amp;gt;{{-}}[[File:Extension list type.png|center|800px]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt; This will list out only language based extensions, you can specify type as module, plugin and component as well.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
======Installing an Extension====== &amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; Joomla provides installing an extension through an URL to the zip file or a path to the file, the CLI Update provides both as well and how you can use them is described below.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; &#039;&#039;Installing from URL&#039;&#039;: To install an extension from URL we will run the command like this and provide an argument and option for the &amp;lt;tt&amp;gt;extension:install&amp;lt;/tt&amp;gt; command.{{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:install url --url=https://github.com/joomla-extensions/patchtester/releases/download/3.0.0-beta3/com_patchtester.zip&amp;lt;/tt&amp;gt;{{-}}This will download the &amp;lt;tt&amp;gt;com_patchtester&amp;lt;/tt&amp;gt; extension.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{-}}[[File:Extension install url.png|center|800px]]&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; &#039;&#039;Installing from a PATH&#039;&#039;:To install an extension from a PATH we will run the same &amp;lt;tt&amp;gt;extension:install&amp;lt;/tt&amp;gt; command and specify arguments for paths like this:&amp;lt;/translate&amp;gt;{{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:install path --path=/Users/bosunski/docs/com_pathtester.zip&amp;lt;/tt&amp;gt; {{-}}[[File:Extension install path.png|center|800px]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt; This loads the extension and performs the installation as expected.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
======Removing an extension====== &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt; The last command under this category is the &amp;lt;tt&amp;gt;extension:remove&amp;lt;/tt&amp;gt; command that is used to remove extensions from the Joomla CMS. This command takes in the &amp;lt;tt&amp;gt;extension_id&amp;lt;/tt&amp;gt; as an argument, you can always use the &amp;lt;tt&amp;gt;extension:list&amp;lt;/tt&amp;gt; to display extension id. This is how we remove an extension of id &amp;lt;tt&amp;gt;803&amp;lt;/tt&amp;gt;&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php extension:remove 803&amp;lt;/tt&amp;gt;&lt;br /&gt;
[[File:Extension Remove.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Updating the Joomla Core==== &amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; As much as the CLI Update provides a command to check update, it also provides a command to perform the update if an update is available. To perform update we will just run this:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php core:update&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt; This command updates the Joomla core updating it to the latest version available.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Core update.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Installing Joomla! via the CLI==== &amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:35--&amp;gt; The next command here is the &amp;lt;tt&amp;gt;core:install&amp;lt;/tt&amp;gt; command that lets installation of Joomla CMS to be done via the CLI. This command can  work in 2 modes: The Interactive mode and the Non-interactive mode.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Interactive installation===== &amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:37--&amp;gt; To have a fresh installation of Joomla using the interactive mode we will just run the &amp;lt;tt&amp;gt;extension:install&amp;lt;/tt&amp;gt; command like so:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php extension:install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:38--&amp;gt; The default installation mode will run and will ask you to input the settings as it&#039;s required, once all options have been provided and validated, the installations will run and Joomla will be installed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Core install interactive.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Non-interactive Installation===== &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt; The next type of installation is the Non-interactive mode. In this mode you will not be asked to input the options but rather all options will be specified within a file and the command will take in an option that specifies the path to the file you want to load the options from, it&#039;s done like this:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php core:install --file=/path/to/config.json&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Core install file.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt; An example of the contents of &amp;lt;tt&amp;gt;config.json&amp;lt;/tt&amp;gt; can be:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;language&amp;quot;:&amp;quot;en-GB&amp;quot;,&lt;br /&gt;
  &amp;quot;site_name&amp;quot;:&amp;quot;Joomla&amp;quot;,&lt;br /&gt;
  &amp;quot;admin_email&amp;quot;:&amp;quot;email@example.com&amp;quot;,&lt;br /&gt;
  &amp;quot;admin_user&amp;quot;:&amp;quot;user&amp;quot;,&lt;br /&gt;
  &amp;quot;admin_password&amp;quot;:&amp;quot;password&amp;quot;,&lt;br /&gt;
  &amp;quot;db_type&amp;quot;:&amp;quot;mysql&amp;quot;,&lt;br /&gt;
  &amp;quot;db_host&amp;quot;:&amp;quot;localhost&amp;quot;,&lt;br /&gt;
  &amp;quot;db_user&amp;quot;:&amp;quot;root&amp;quot;,&lt;br /&gt;
  &amp;quot;db_pass&amp;quot;:&amp;quot;xcdxcx&amp;quot;,&lt;br /&gt;
  &amp;quot;db_name&amp;quot;:&amp;quot;jtest&amp;quot;,&lt;br /&gt;
  &amp;quot;db_prefix&amp;quot;:&amp;quot;efs0k_&amp;quot;,&lt;br /&gt;
  &amp;quot;db_old&amp;quot;:&amp;quot;remove&amp;quot;,&lt;br /&gt;
  &amp;quot;helpurl&amp;quot;:&amp;quot;https://joomla.org&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:42--&amp;gt; OR as sample&amp;lt;/translate&amp;gt; &amp;lt;tt&amp;gt;config.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
site_name=&amp;quot;gsoc&amp;quot;&lt;br /&gt;
admin_email=&amp;quot;user@example.com&amp;quot;&lt;br /&gt;
admin_user=&amp;quot;user&amp;quot;&lt;br /&gt;
admin_password=&amp;quot;secret&amp;quot;&lt;br /&gt;
db_type=&amp;quot;mysql&amp;quot;&lt;br /&gt;
db_host=&amp;quot;localhost&amp;quot;&lt;br /&gt;
db_user=&amp;quot;root&amp;quot;&lt;br /&gt;
db_pass=&amp;quot;&amp;quot;&lt;br /&gt;
db_name=&amp;quot;joomla&amp;quot;&lt;br /&gt;
db_prefix=&amp;quot;prefix_&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:43--&amp;gt; The options defined are loaded and validated after which the installation will run.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Configuration based commands==== &amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:45--&amp;gt; The next set of commands we will be looking at is for setting and viewing configuration options inside the Joomla installation:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Setting configurations===== &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:47--&amp;gt; The CLI Update provides a command to change the value of an option existing in the configuration. Using the &amp;lt;tt&amp;gt;config:get&amp;lt;/tt&amp;gt; command you can set any configuration option that exists inside the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt;. This is how to use command:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:set mailer=mail&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config set single.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:48--&amp;gt; You can even add multiple option-value pairs like this:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:set mailer=mail fromname=Joomla! sitename=&amp;quot;Joomla Site&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
This will set multiple options at once.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config set multiple.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Getting configurations===== &amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:51--&amp;gt; The next command in this category is the &amp;lt;tt&amp;gt;config:get&amp;lt;/tt&amp;gt; command, as the name suggests it gets the value of an option that exists inside the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt;, when no argument is supplied to the command, it will display all the options available in a tabulated form. Here is the command:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:get sitename&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:52--&amp;gt; This will return the value for the option &amp;lt;tt&amp;gt;sitename&amp;lt;/tt&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:011-cli.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:get&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:53--&amp;gt; This will return all the values for the available options.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config get all.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Getting grouped configurations===== &amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:55--&amp;gt; The CLI Update adds an option to &amp;lt;tt&amp;gt;config:get&amp;lt;/tt&amp;gt; command that allows us to get logically grouped options, say for example you want to view all your database related options, or you want to view all email related options. To achieve this the CLI Update provides an option to specify a group of options to display, here is how to do that:&amp;lt;/translate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:get --group=mail&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config get group.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:56--&amp;gt; The command takes in the &amp;lt;tt&amp;gt;group&amp;lt;/tt&amp;gt; option and given the value of &amp;lt;tt&amp;gt;mail&amp;lt;/tt&amp;gt;. CLI Update currently supports group values: mail, db and session.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Site down and Site up commands==== &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:58--&amp;gt; As their name suggests, these commands allow you to quickly put your Joomla powered website into offline or online mode. Here is how to use the commands:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php site:up&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Site up.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php site:down&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Site down.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:59--&amp;gt; The second command puts the website in offline mode while the first command brings the website to online mode.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contributing to CLI Update as a developer== &amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Adding more commands=== &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:62--&amp;gt; The CLI Update ships with some commands which are added based on the need seen as of the time. However, the CLI Update allows other commands to be added easily and this is what this section is for. A video tutorial is included below.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;video-container&amp;quot;&amp;gt;&lt;br /&gt;
{{#widget:YouTube|id=gcJJtTcPiTg}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Calling other commands within command classes=== &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:64--&amp;gt; Should in case a command you want to write for the CLI Update is going to be require that you call an existing command internally, this is how that can be achieved from within another command class:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class RunHelloCommand extends AbstractCommand {&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    public function execute(): int {&lt;br /&gt;
        $command = $this-&amp;gt;getApplication()-&amp;gt;getCommand(&#039;say:hello&#039;);&lt;br /&gt;
        $code = $command-&amp;gt;execute();&lt;br /&gt;
&lt;br /&gt;
        if($code === 0) {&lt;br /&gt;
            // command ran successfully, do something&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:65--&amp;gt; Here, we&#039;re attempting to call the &amp;lt;tt&amp;gt;say:hello&amp;lt;/tt&amp;gt; command created in the Video above.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Some important things to checkout=== &amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
*Symfony Style Documentation: [https://symfony.com/doc/current/console/style.html How to Style a Console Command]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:CLI_Update&amp;diff=585852</id>
		<title>J4.x:CLI Update</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:CLI_Update&amp;diff=585852"/>
		<updated>2018-12-28T16:50:27Z</updated>

		<summary type="html">&lt;p&gt;Toivo: grammar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt; CLI Update &amp;lt;br /&amp;gt;Documentation&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Introduction == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; Performing some minor task on the Joomla! administrator dashboard might seem cumbersome and slow. The CLI Update is introducing a faster way to perform some of these operations through the command line. It brings forward a way to integrate things faster in the Joomla! app. With it, small tests can be done faster without having to go through the process of the web dashboard. It is a CLI Application to the Joomla! CMS that enables user to perform updates in the CMS.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; This documentation shows how the CLI Update can be used and how you can extend its functionality as a developer.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Requirements=== &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
As it goes for all CLI (Command Line Interface) Apps, access to your Joomla! installation via the command line is required to use the tools provided by the CLI Update.&lt;br /&gt;
You might want to consider having SSH access for your live server.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Terms and definitions=== &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
*CLI - Command Line Interface&lt;br /&gt;
*SSH - Secure SHell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Using the CLI Update== &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; In other for you to use the tools provided by CLI Update, as said in former section, you need access to a CLI into the root of the Joomla Installation. In other words you have to be in the root folder of your Joomla CMS as all commands will run from the root folder.&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:All commands.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==General Command Usage== &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt; In this section we will talk about the usage of commands, we will talk about different commands, what they are and how you can use them. We will go by checking out available commands in the CLI Update.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Available commands=== &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; There are quite a number of commands available in the CLI Update that are ready for use.  These commands are grouped based on the area of the Joomla! CMS that they are touching.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Checking for Updates Updates==== &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; The CLI Update provides a command to check for Joomla! updates, it works just like the web version of &amp;lt;tt&amp;gt;com_joomlaupdate&amp;lt;/tt&amp;gt;, it retrieves update and tells if update is available or not. To run the update check, we will just issue the command like this from the root directory:&amp;lt;/translate&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php check-updates&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt; The command runs and the output displays an available update version, if available, or tell otherwise that the current installation is up to date.&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:Check updates.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Extension commands==== &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt; The next group of commands are the extension based commands, simply put, the commands allows us to manage extensions within the Jommla! core, the CLI Update ships with commands to install, list and remove extensions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
======Listing installed extensions====== &amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; This command allows us to list all installed extensions. This command can run in two different ways which are:&amp;lt;/translate&amp;gt;&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; &#039;&#039;General Listing&#039;&#039;: Lists all the extensions installed, by extensions it means components, languages, plugins, modules will be listed together when you run this command. This is how you call the command:&amp;lt;/translate&amp;gt;{{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:list&amp;lt;/tt/&amp;gt; {{-}}[[File:Extension list.png|center|800px]]&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt; &#039;&#039;Listing By types&#039;&#039;: General listing of extension can be tedious if you&#039;re looking for a particular extension out of the big list, however, you can beat down the numbers specifying the type of extensions you can the command to display by adding a type option to the command. Here is how that is done:&amp;lt;/translate&amp;gt; {{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:list --type=language&amp;lt;/tt&amp;gt;{{-}}[[File:Extension list type.png|center|800px]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt; This will list out only language based extensions, you can specify type as module, plugin and component as well.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
======Installing an Extension====== &amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; Joomla provides installing an extension through an URL to the zip file or a path to the file, the CLI Update provides both as well and how you can use them is described below.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; &#039;&#039;Installing from URL&#039;&#039;: To install an extension from URL we will run the command like this and provide an argument and option for the &amp;lt;tt&amp;gt;extension:install&amp;lt;/tt&amp;gt; command.{{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:install url --url=https://github.com/joomla-extensions/patchtester/releases/download/3.0.0-beta3/com_patchtester.zip&amp;lt;/tt&amp;gt;{{-}}This will download the &amp;lt;tt&amp;gt;com_patchtester&amp;lt;/tt&amp;gt; extension.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{-}}[[File:Extension install url.png|center|800px]]&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; &#039;&#039;Installing from a PATH&#039;&#039;:To install an extension from a PATH we will run the same &amp;lt;tt&amp;gt;extension:install&amp;lt;/tt&amp;gt; command and specify arguments for paths like this:&amp;lt;/translate&amp;gt;{{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:install path --path=/Users/bosunski/docs/com_pathtester.zip&amp;lt;/tt&amp;gt; {{-}}[[File:Extension install path.png|center|800px]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt; This loads the extension and performs the installation as expected.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
======Removing an extension====== &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt; The last command under this category is the &amp;lt;tt&amp;gt;extension:remove&amp;lt;/tt&amp;gt; command that is used to remove extensions from the Joomla CMS. This command takes in the &amp;lt;tt&amp;gt;extension_id&amp;lt;/tt&amp;gt; as an argument, you can always use the &amp;lt;tt&amp;gt;extension:list&amp;lt;/tt&amp;gt; to display extension id. This is how we remove an extension of id &amp;lt;tt&amp;gt;803&amp;lt;/tt&amp;gt;&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php extension:remove 803&amp;lt;/tt&amp;gt;&lt;br /&gt;
[[File:Extension Remove.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Updating the Joomla Core==== &amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; As much as the CLI Update provides a command to check update, it also provides a command to perform the update if an update is available. To perform update we will just run this:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php core:update&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt; This command updates the Joomla core updating it to the latest version available.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Core update.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Installing Joomla! via the CLI==== &amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:35--&amp;gt; The next command here is the &amp;lt;tt&amp;gt;core:intall&amp;lt;/tt&amp;gt; command that lets installation of Joomla CMS to be done via the CLI. This command can  work in 2 modes: The Interactive mode and the Non-interactive mode.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Interactive installation===== &amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:37--&amp;gt; To have a fresh installation of Joomla using the interactive mode we will just run the &amp;lt;tt&amp;gt;extension:install&amp;lt;/tt&amp;gt; command like so:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php extension:install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:38--&amp;gt; The default installation mode will run and will ask you to input the settings as it&#039;s required, once all options have been provided and validated, the installations will run and Joomla will be installed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Core install interactive.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Non-interactive Installation===== &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt; The next type of installation is the Non-interactive mode. In this mode you will not be asked to input the options but rather all options will be specified within a file and the command will take in an option that specifies the path to the file you want to load the options from, it&#039;s done like this:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php core:install --file=/path/to/config.json&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Core install file.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt; An example of the contents of &amp;lt;tt&amp;gt;config.json&amp;lt;/tt&amp;gt; can be:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;language&amp;quot;:&amp;quot;en-GB&amp;quot;,&lt;br /&gt;
  &amp;quot;site_name&amp;quot;:&amp;quot;Joomla&amp;quot;,&lt;br /&gt;
  &amp;quot;admin_email&amp;quot;:&amp;quot;email@example.com&amp;quot;,&lt;br /&gt;
  &amp;quot;admin_user&amp;quot;:&amp;quot;user&amp;quot;,&lt;br /&gt;
  &amp;quot;admin_password&amp;quot;:&amp;quot;password&amp;quot;,&lt;br /&gt;
  &amp;quot;db_type&amp;quot;:&amp;quot;mysql&amp;quot;,&lt;br /&gt;
  &amp;quot;db_host&amp;quot;:&amp;quot;localhost&amp;quot;,&lt;br /&gt;
  &amp;quot;db_user&amp;quot;:&amp;quot;root&amp;quot;,&lt;br /&gt;
  &amp;quot;db_pass&amp;quot;:&amp;quot;xcdxcx&amp;quot;,&lt;br /&gt;
  &amp;quot;db_name&amp;quot;:&amp;quot;jtest&amp;quot;,&lt;br /&gt;
  &amp;quot;db_prefix&amp;quot;:&amp;quot;efs0k_&amp;quot;,&lt;br /&gt;
  &amp;quot;db_old&amp;quot;:&amp;quot;remove&amp;quot;,&lt;br /&gt;
  &amp;quot;helpurl&amp;quot;:&amp;quot;https://joomla.org&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:42--&amp;gt; OR as sample&amp;lt;/translate&amp;gt; &amp;lt;tt&amp;gt;config.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
site_name=&amp;quot;gsoc&amp;quot;&lt;br /&gt;
admin_email=&amp;quot;user@example.com&amp;quot;&lt;br /&gt;
admin_user=&amp;quot;user&amp;quot;&lt;br /&gt;
admin_password=&amp;quot;secret&amp;quot;&lt;br /&gt;
db_type=&amp;quot;mysql&amp;quot;&lt;br /&gt;
db_host=&amp;quot;localhost&amp;quot;&lt;br /&gt;
db_user=&amp;quot;root&amp;quot;&lt;br /&gt;
db_pass=&amp;quot;&amp;quot;&lt;br /&gt;
db_name=&amp;quot;joomla&amp;quot;&lt;br /&gt;
db_prefix=&amp;quot;prefix_&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:43--&amp;gt; The options defined are loaded and validated after which the installation will run.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Configuration based commands==== &amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:45--&amp;gt; The next set of commands we will be looking at is for setting and viewing configuration options inside the Joomla installation:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Setting configurations===== &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:47--&amp;gt; The CLI Update provides a command to change the value of an option existing in the configuration. Using the &amp;lt;tt&amp;gt;config:get&amp;lt;/tt&amp;gt; command you can set any configuration option that exists inside the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt;. This is how to use command:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:set mailer=mail&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config set single.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:48--&amp;gt; You can even add multiple option-value pairs like this:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:set mailer=mail fromname=Joomla! sitename=&amp;quot;Joomla Site&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
This will set multiple options at once.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config set multiple.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Getting configurations===== &amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:51--&amp;gt; The next command in this category is the &amp;lt;tt&amp;gt;config:get&amp;lt;/tt&amp;gt; command, as the name suggests it gets the value of an option that exists inside the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt;, when no argument is supplied to the command, it will display all the options available in a tabulated form. Here is the command:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:get sitename&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:52--&amp;gt; This will return the value for the option &amp;lt;tt&amp;gt;sitename&amp;lt;/tt&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:011-cli.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:get&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:53--&amp;gt; This will return all the values for the available options.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config get all.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Getting grouped configurations===== &amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:55--&amp;gt; The CLI Update adds an option to &amp;lt;tt&amp;gt;config:get&amp;lt;/tt&amp;gt; command that allows us to get logically grouped options, say for example you want to view all your database related options, or you want to view all email related options. To achieve this the CLI Update provides an option to specify a group of options to display, here is how to do that:&amp;lt;/translate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:get --group=mail&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config get group.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:56--&amp;gt; The command takes in the &amp;lt;tt&amp;gt;group&amp;lt;/tt&amp;gt; option and given the value of &amp;lt;tt&amp;gt;mail&amp;lt;/tt&amp;gt;. CLI Update currently supports group values: mail, db and session.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Site down and Site up commands==== &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:58--&amp;gt; As their name suggests, these commands allow you to quickly put your Joomla powered website into offline or online mode. Here is how to use the commands:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php site:up&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Site up.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php site:down&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Site down.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:59--&amp;gt; The second command puts the website in offline mode while the first command brings the website to online mode.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contributing to CLI Update as a developer== &amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Adding more commands=== &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:62--&amp;gt; The CLI Update ships with some commands which are added based on the need seen as of the time. However, the CLI Update allows other commands to be added easily and this is what this section is for. A video tutorial is included below.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;video-container&amp;quot;&amp;gt;&lt;br /&gt;
{{#widget:YouTube|id=gcJJtTcPiTg}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Calling other commands within command classes=== &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:64--&amp;gt; Should in case a command you want to write for the CLI Update is going to be require that you call an existing command internally, this is how that can be achieved from within another command class:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class RunHelloCommand extends AbstractCommand {&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    public function execute(): int {&lt;br /&gt;
        $command = $this-&amp;gt;getApplication()-&amp;gt;getCommand(&#039;say:hello&#039;);&lt;br /&gt;
        $code = $command-&amp;gt;execute();&lt;br /&gt;
&lt;br /&gt;
        if($code === 0) {&lt;br /&gt;
            // command ran successfully, do something&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:65--&amp;gt; Here, we&#039;re attempting to call the &amp;lt;tt&amp;gt;say:hello&amp;lt;/tt&amp;gt; command created in the Video above.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Some important things to checkout=== &amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
*Symfony Style Documentation: [https://symfony.com/doc/current/console/style.html How to Style a Console Command]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:CLI_Update&amp;diff=585851</id>
		<title>J4.x:CLI Update</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:CLI_Update&amp;diff=585851"/>
		<updated>2018-12-28T16:47:46Z</updated>

		<summary type="html">&lt;p&gt;Toivo: fixed typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{Top portal heading|color=white-bkgd|text-color=#333|title=&lt;br /&gt;
GSoC 2018 &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt; CLI Update &amp;lt;br /&amp;gt;Documentation&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
[[Image:Gsoc2016.png|75px|center|link=GSOC 2018]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Introduction == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; Performing some minor task on the Joomla! administrator dashboard might seem cumbersome and slow. The CLI Update is introducing a faster way to perform some of these operations through the command line. It brings forward a way to integrate things faster in the Joomla! app. With it, small tests can be done faster without having to go through the process of the web dashboard. It is a CLI Application to the Joomla! CMS that enables user to perform updates in the CMS.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; This documentation shows how the CLI Update can be used and how you can extend its functionality as a developer.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Requirements=== &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
As it goes for all CLI (Command Line Interface) Apps, access to your Joomla! installation via the command line is required to use the tools provided by the CLI Update.&lt;br /&gt;
You might want to consider having SSH access for your live server.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Terms and definitions=== &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
*CLI - Command Line Interface&lt;br /&gt;
*SSH - Secure SHell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Using the CLI Update== &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; In other for you to use the tools provided by CLI Update, as said in former section, you need access to a CLI into the root of the Joomla Installation. In other words you have to be in the root folder of your Joomla CMS as all commands will run from the root folder.&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:All commands.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==General Command Usage== &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt; In this section we will talk about the usage of commands, we will talk about different commands, what they are and how you can use them. We will go by checking out available commands in the CLI Update.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Available commands=== &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; There are quite a number of commands available in the CLI Update that ready for use, these commands are grouped based on the area of the Joomla! CMS that they are touching.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Checking for Updates Updates==== &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; The CLI Update provides a command to check for Joomla! updates, it works just like the web version of &amp;lt;tt&amp;gt;com_joomlaupdate&amp;lt;/tt&amp;gt;, it retrieves update and tells if update is available or not. To run the update check, we will just issue the command like this from the root directory:&amp;lt;/translate&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php check-updates&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt; The command runs and the output displays an available update version, if available, or tell otherwise that the current installation is up to date.&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:Check updates.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Extension commands==== &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt; The next group of commands are the extension based commands, simply put, the commands allows us to manage extensions within the Jommla! core, the CLI Update ships with commands to install, list and remove extensions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
======Listing installed extensions====== &amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; This command allows us to list all installed extensions. This command can run in two different ways which are:&amp;lt;/translate&amp;gt;&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; &#039;&#039;General Listing&#039;&#039;: Lists all the extensions installed, by extensions it means components, languages, plugins, modules will be listed together when you run this command. This is how you call the command:&amp;lt;/translate&amp;gt;{{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:list&amp;lt;/tt/&amp;gt; {{-}}[[File:Extension list.png|center|800px]]&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt; &#039;&#039;Listing By types&#039;&#039;: General listing of extension can be tedious if you&#039;re looking for a particular extension out of the big list, however, you can beat down the numbers specifying the type of extensions you can the command to display by adding a type option to the command. Here is how that is done:&amp;lt;/translate&amp;gt; {{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:list --type=language&amp;lt;/tt&amp;gt;{{-}}[[File:Extension list type.png|center|800px]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt; This will list out only language based extensions, you can specify type as module, plugin and component as well.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
======Installing an Extension====== &amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; Joomla provides installing an extension through an URL to the zip file or a path to the file, the CLI Update provides both as well and how you can use them is described below.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; &#039;&#039;Installing from URL&#039;&#039;: To install an extension from URL we will run the command like this and provide an argument and option for the &amp;lt;tt&amp;gt;extension:install&amp;lt;/tt&amp;gt; command.{{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:install url --url=https://github.com/joomla-extensions/patchtester/releases/download/3.0.0-beta3/com_patchtester.zip&amp;lt;/tt&amp;gt;{{-}}This will download the &amp;lt;tt&amp;gt;com_patchtester&amp;lt;/tt&amp;gt; extension.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{-}}[[File:Extension install url.png|center|800px]]&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; &#039;&#039;Installing from a PATH&#039;&#039;:To install an extension from a PATH we will run the same &amp;lt;tt&amp;gt;extension:install&amp;lt;/tt&amp;gt; command and specify arguments for paths like this:&amp;lt;/translate&amp;gt;{{-}}&amp;lt;tt&amp;gt;php cli/joomla.php extension:install path --path=/Users/bosunski/docs/com_pathtester.zip&amp;lt;/tt&amp;gt; {{-}}[[File:Extension install path.png|center|800px]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt; This loads the extension and performs the installation as expected.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
======Removing an extension====== &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt; The last command under this category is the &amp;lt;tt&amp;gt;extension:remove&amp;lt;/tt&amp;gt; command that is used to remove extensions from the Joomla CMS. This command takes in the &amp;lt;tt&amp;gt;extension_id&amp;lt;/tt&amp;gt; as an argument, you can always use the &amp;lt;tt&amp;gt;extension:list&amp;lt;/tt&amp;gt; to display extension id. This is how we remove an extension of id &amp;lt;tt&amp;gt;803&amp;lt;/tt&amp;gt;&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php extension:remove 803&amp;lt;/tt&amp;gt;&lt;br /&gt;
[[File:Extension Remove.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Updating the Joomla Core==== &amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; As much as the CLI Update provides a command to check update, it also provides a command to perform the update if an update is available. To perform update we will just run this:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php core:update&amp;lt;/tt&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt; This command updates the Joomla core updating it to the latest version available.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Core update.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Installing Joomla! via the CLI==== &amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:35--&amp;gt; The next command here is the &amp;lt;tt&amp;gt;core:intall&amp;lt;/tt&amp;gt; command that lets installation of Joomla CMS to be done via the CLI. This command can  work in 2 modes: The Interactive mode and the Non-interactive mode.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Interactive installation===== &amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:37--&amp;gt; To have a fresh installation of Joomla using the interactive mode we will just run the &amp;lt;tt&amp;gt;extension:install&amp;lt;/tt&amp;gt; command like so:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php extension:install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:38--&amp;gt; The default installation mode will run and will ask you to input the settings as it&#039;s required, once all options have been provided and validated, the installations will run and Joomla will be installed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Core install interactive.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Non-interactive Installation===== &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt; The next type of installation is the Non-interactive mode. In this mode you will not be asked to input the options but rather all options will be specified within a file and the command will take in an option that specifies the path to the file you want to load the options from, it&#039;s done like this:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php core:install --file=/path/to/config.json&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Core install file.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt; An example of the contents of &amp;lt;tt&amp;gt;config.json&amp;lt;/tt&amp;gt; can be:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;language&amp;quot;:&amp;quot;en-GB&amp;quot;,&lt;br /&gt;
  &amp;quot;site_name&amp;quot;:&amp;quot;Joomla&amp;quot;,&lt;br /&gt;
  &amp;quot;admin_email&amp;quot;:&amp;quot;email@example.com&amp;quot;,&lt;br /&gt;
  &amp;quot;admin_user&amp;quot;:&amp;quot;user&amp;quot;,&lt;br /&gt;
  &amp;quot;admin_password&amp;quot;:&amp;quot;password&amp;quot;,&lt;br /&gt;
  &amp;quot;db_type&amp;quot;:&amp;quot;mysql&amp;quot;,&lt;br /&gt;
  &amp;quot;db_host&amp;quot;:&amp;quot;localhost&amp;quot;,&lt;br /&gt;
  &amp;quot;db_user&amp;quot;:&amp;quot;root&amp;quot;,&lt;br /&gt;
  &amp;quot;db_pass&amp;quot;:&amp;quot;xcdxcx&amp;quot;,&lt;br /&gt;
  &amp;quot;db_name&amp;quot;:&amp;quot;jtest&amp;quot;,&lt;br /&gt;
  &amp;quot;db_prefix&amp;quot;:&amp;quot;efs0k_&amp;quot;,&lt;br /&gt;
  &amp;quot;db_old&amp;quot;:&amp;quot;remove&amp;quot;,&lt;br /&gt;
  &amp;quot;helpurl&amp;quot;:&amp;quot;https://joomla.org&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:42--&amp;gt; OR as sample&amp;lt;/translate&amp;gt; &amp;lt;tt&amp;gt;config.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
site_name=&amp;quot;gsoc&amp;quot;&lt;br /&gt;
admin_email=&amp;quot;user@example.com&amp;quot;&lt;br /&gt;
admin_user=&amp;quot;user&amp;quot;&lt;br /&gt;
admin_password=&amp;quot;secret&amp;quot;&lt;br /&gt;
db_type=&amp;quot;mysql&amp;quot;&lt;br /&gt;
db_host=&amp;quot;localhost&amp;quot;&lt;br /&gt;
db_user=&amp;quot;root&amp;quot;&lt;br /&gt;
db_pass=&amp;quot;&amp;quot;&lt;br /&gt;
db_name=&amp;quot;joomla&amp;quot;&lt;br /&gt;
db_prefix=&amp;quot;prefix_&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:43--&amp;gt; The options defined are loaded and validated after which the installation will run.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Configuration based commands==== &amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:45--&amp;gt; The next set of commands we will be looking at is for setting and viewing configuration options inside the Joomla installation:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Setting configurations===== &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:47--&amp;gt; The CLI Update provides a command to change the value of an option existing in the configuration. Using the &amp;lt;tt&amp;gt;config:get&amp;lt;/tt&amp;gt; command you can set any configuration option that exists inside the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt;. This is how to use command:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:set mailer=mail&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config set single.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:48--&amp;gt; You can even add multiple option-value pairs like this:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:set mailer=mail fromname=Joomla! sitename=&amp;quot;Joomla Site&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
This will set multiple options at once.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config set multiple.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Getting configurations===== &amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:51--&amp;gt; The next command in this category is the &amp;lt;tt&amp;gt;config:get&amp;lt;/tt&amp;gt; command, as the name suggests it gets the value of an option that exists inside the &amp;lt;tt&amp;gt;configuration.php&amp;lt;/tt&amp;gt;, when no argument is supplied to the command, it will display all the options available in a tabulated form. Here is the command:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:get sitename&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:52--&amp;gt; This will return the value for the option &amp;lt;tt&amp;gt;sitename&amp;lt;/tt&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:011-cli.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:get&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:53--&amp;gt; This will return all the values for the available options.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config get all.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=====Getting grouped configurations===== &amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:55--&amp;gt; The CLI Update adds an option to &amp;lt;tt&amp;gt;config:get&amp;lt;/tt&amp;gt; command that allows us to get logically grouped options, say for example you want to view all your database related options, or you want to view all email related options. To achieve this the CLI Update provides an option to specify a group of options to display, here is how to do that:&amp;lt;/translate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php config:get --group=mail&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Config get group.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:56--&amp;gt; The command takes in the &amp;lt;tt&amp;gt;group&amp;lt;/tt&amp;gt; option and given the value of &amp;lt;tt&amp;gt;mail&amp;lt;/tt&amp;gt;. CLI Update currently supports group values: mail, db and session.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
====Site down and Site up commands==== &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:58--&amp;gt; As their name suggests, these commands allow you to quickly put your Joomla powered website into offline or online mode. Here is how to use the commands:&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php site:up&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Site up.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;php cli/joomla.php site:down&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Site down.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:59--&amp;gt; The second command puts the website in offline mode while the first command brings the website to online mode.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Contributing to CLI Update as a developer== &amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Adding more commands=== &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:62--&amp;gt; The CLI Update ships with some commands which are added based on the need seen as of the time. However, the CLI Update allows other commands to be added easily and this is what this section is for. A video tutorial is included below.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;video-container&amp;quot;&amp;gt;&lt;br /&gt;
{{#widget:YouTube|id=gcJJtTcPiTg}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Calling other commands within command classes=== &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:64--&amp;gt; Should in case a command you want to write for the CLI Update is going to be require that you call an existing command internally, this is how that can be achieved from within another command class:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class RunHelloCommand extends AbstractCommand {&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
    public function execute(): int {&lt;br /&gt;
        $command = $this-&amp;gt;getApplication()-&amp;gt;getCommand(&#039;say:hello&#039;);&lt;br /&gt;
        $code = $command-&amp;gt;execute();&lt;br /&gt;
&lt;br /&gt;
        if($code === 0) {&lt;br /&gt;
            // command ran successfully, do something&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:65--&amp;gt; Here, we&#039;re attempting to call the &amp;lt;tt&amp;gt;say:hello&amp;lt;/tt&amp;gt; command created in the Video above.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Some important things to checkout=== &amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
*Symfony Style Documentation: [https://symfony.com/doc/current/console/style.html How to Style a Console Command]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Google Summer of Code 2018]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Joomla!_4.x]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_do_I_use_Gmail_as_my_mail_server%3F&amp;diff=451775</id>
		<title>How do I use Gmail as my mail server?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_do_I_use_Gmail_as_my_mail_server%3F&amp;diff=451775"/>
		<updated>2017-10-06T08:31:36Z</updated>

		<summary type="html">&lt;p&gt;Toivo: updated SMTP port and security, re-ordered fields&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have a working Gmail account you can use Gmail as your mail server by setting it in the global configuration.&lt;br /&gt;
&lt;br /&gt;
On the server tab set the following:&lt;br /&gt;
&lt;br /&gt;
*Mailer: SMTP&lt;br /&gt;
*SMTP Host: smtp.gmail.com&lt;br /&gt;
*SMTP Port 465&lt;br /&gt;
*SMTP Security: SSL/TLS&lt;br /&gt;
*SMTP Authentication: Yes&lt;br /&gt;
*Set the next two lines with your information.  You need to use an app specific password (ASP), described below.&lt;br /&gt;
*SMTP Username: your gmail username&lt;br /&gt;
*SMTP Password: your gmail password&lt;br /&gt;
&lt;br /&gt;
The following are also working combinations:&lt;br /&gt;
*SMTP Port 587&lt;br /&gt;
*SMTP Security: STARTTLS&lt;br /&gt;
&lt;br /&gt;
*SMTP Port 25&lt;br /&gt;
*SMTP Security: STARTTLS&lt;br /&gt;
&lt;br /&gt;
The SSL module does not need to be enabled in Apache. &lt;br /&gt;
&lt;br /&gt;
The OpenSSL extension needs to be enabled in PHP. The details can be found at http://www.php.net/manual/en/openssl.installation.php &lt;br /&gt;
&lt;br /&gt;
If you are using WAMP on Windows, the openssl module is not enabled by default and you need to enable it. To do this:&lt;br /&gt;
# Open the php.ini file and uncomment the line &amp;lt;code&amp;gt;extension=php_openssl.dll&amp;lt;/code&amp;gt; by removing the semicolon ; from the beginning of the line.&lt;br /&gt;
# Save the php.ini file and restart the Apache service.&lt;br /&gt;
&lt;br /&gt;
{{tip|title=Note|Note that if you use 2-step verification in Gmail, you need to add a new password in Settings - Accounts - Change accounts settings - Other Google Account settings - Security - 2-step verification - Manage your application specific passwords.}}&lt;br /&gt;
&lt;br /&gt;
When the new Application Specific Password (ASP) is presented in groups of four characters separated by spaces, make sure that you &#039;&#039;&#039;do NOT enter the spaces&#039;&#039;&#039; into the SMTP password in the mail server settings in Joomla.&lt;br /&gt;
&lt;br /&gt;
* Application Specific Passwords (ASPs): https://support.google.com/accounts/answer/185833&lt;br /&gt;
* 2-Step Verification: https://support.google.com/accounts/answer/1070457&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:FAQ]][[Category:Server configurations]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Sending_email_from_extensions&amp;diff=444056</id>
		<title>Sending email from extensions</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Sending_email_from_extensions&amp;diff=444056"/>
		<updated>2017-08-27T15:35:38Z</updated>

		<summary type="html">&lt;p&gt;Toivo: /* Set a Sender */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Joomla version|version=2.5|time=and after}}&lt;br /&gt;
This is an example of how to send an email from a Joomla component. You would typically put this into your component&#039;s controller.&lt;br /&gt;
=== Fetch the Mail Object ===&lt;br /&gt;
A reference to the global mail object (JMail) is fetched through the JFactory object. This is the object creating our mail.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$mailer = JFactory::getMailer();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set a Sender ===&lt;br /&gt;
The sender of an email is set with [https://api.joomla.org/cms-3/classes/JMail.html#method_setSender setSender]. The function takes an array with an email address and a name as an argument. We fetch the site&#039;s email address and name from the global configuration. These are set in the administration back-end (Global Configuration -&amp;gt; Server -&amp;gt; Mail Settings).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$config = JFactory::getConfig();&lt;br /&gt;
$sender = array( &lt;br /&gt;
    $config-&amp;gt;get( &#039;mailfrom&#039; ),&lt;br /&gt;
    $config-&amp;gt;get( &#039;fromname&#039; ) &lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;setSender($sender);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In 3.1, $config-&amp;gt;getValue() should be changed to $config-&amp;gt;get()&lt;br /&gt;
&lt;br /&gt;
=== Recipient ===&lt;br /&gt;
You set the recipient of an email with the function [https://api.joomla.org/cms-3/classes/JMail.html#method_addRecipient addRecipient].&lt;br /&gt;
To set the email address to the currently logged in user, we fetch it from the user object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$user = JFactory::getUser();&lt;br /&gt;
$recipient = $user-&amp;gt;email;&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;addRecipient($recipient);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we had multiple recipients, we would put each recipient&#039;s email address in an array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$recipient = array( &#039;person1@domain.com&#039;, &#039;person2@domain.com&#039;, &#039;person3@domain.com&#039; );&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;addRecipient($recipient);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create the Mail ===&lt;br /&gt;
We need to set a subject line and create the text body. The subject is set with [https://api.joomla.org/cms-3/classes/JMail.html#method_setSubject setSubject]. &lt;br /&gt;
&lt;br /&gt;
The easy way to create an email body is as a string with plain text. Use the function [https://api.joomla.org/cms-3/classes/JMail.html#method_setBody setBody] to add a message to the mail body. You can also attach a file with [https://api.joomla.org/cms-3/classes/JMail.html#method_addAttachment addAttachment]. It takes a single file name or an array of file names as the argument.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$body   = &amp;quot;Your body string\nin double quotes if you want to parse the \nnewlines etc&amp;quot;;&lt;br /&gt;
$mailer-&amp;gt;setSubject(&#039;Your subject string&#039;);&lt;br /&gt;
$mailer-&amp;gt;setBody($body);&lt;br /&gt;
// Optional file attached&lt;br /&gt;
$mailer-&amp;gt;addAttachment(JPATH_COMPONENT.&#039;/assets/document.pdf&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you prefer to format your email in HTML, you need to tell the mailer it is HTML. This is done with [https://api.joomla.org/cms-3/classes/JMail.html#method_isHtml isHTML]. When sending HTML emails you should normally set the [http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#property_Encoding Encoding] to base64 in order to avoid unwanted characters in the output. The subject line and any attachments are handled as above, with the exception of images embedded in the HTML. These are taken care of with the function [http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#method_addEmbeddedImage AddEmbeddedImage].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$body   = &#039;&amp;lt;h2&amp;gt;Our mail&amp;lt;/h2&amp;gt;&#039;&lt;br /&gt;
    . &#039;&amp;lt;div&amp;gt;A message to our dear readers&#039;&lt;br /&gt;
    . &#039;&amp;lt;img src=&amp;quot;cid:logo_id&amp;quot; alt=&amp;quot;logo&amp;quot;/&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
$mailer-&amp;gt;isHtml(true);&lt;br /&gt;
$mailer-&amp;gt;Encoding = &#039;base64&#039;;&lt;br /&gt;
$mailer-&amp;gt;setBody($body);&lt;br /&gt;
// Optionally add embedded image&lt;br /&gt;
$mailer-&amp;gt;AddEmbeddedImage( JPATH_COMPONENT.&#039;/assets/logo128.jpg&#039;, &#039;logo_id&#039;, &#039;logo.jpg&#039;, &#039;base64&#039;, &#039;image/jpeg&#039; );&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Normally you would leave any images on your server and refer to them with an ordinary HTML image tag, to reduce size of the mail and the time sending it.&lt;br /&gt;
&lt;br /&gt;
=== Sending the Mail ===&lt;br /&gt;
The mail is sent with the function [https://api.joomla.org/cms-3/classes/JMail.html#method_Send Send]. It returns &#039;&#039;&#039;true&#039;&#039;&#039; on success or a JError object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$send = $mailer-&amp;gt;Send();&lt;br /&gt;
if ( $send !== true ) {&lt;br /&gt;
    echo &#039;Error sending email: &#039;;&lt;br /&gt;
} else {&lt;br /&gt;
    echo &#039;Mail sent&#039;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You would probably want to write your own error handler, if there is an error sending the mail.&lt;br /&gt;
&lt;br /&gt;
The JMail object is used for sending mail in Joomla&#039;s contact manager. See the file joomla/components/com_contact/controller.php&lt;br /&gt;
&lt;br /&gt;
===See also===&lt;br /&gt;
* [https://api.joomla.org/cms-3/classes/JFactory.html#method_getMailer JFactory-&amp;gt;getMailer on api.joomla.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Sending_email_from_extensions&amp;diff=444055</id>
		<title>Sending email from extensions</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Sending_email_from_extensions&amp;diff=444055"/>
		<updated>2017-08-27T15:34:10Z</updated>

		<summary type="html">&lt;p&gt;Toivo: /* Recipient */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Joomla version|version=2.5|time=and after}}&lt;br /&gt;
This is an example of how to send an email from a Joomla component. You would typically put this into your component&#039;s controller.&lt;br /&gt;
=== Fetch the Mail Object ===&lt;br /&gt;
A reference to the global mail object (JMail) is fetched through the JFactory object. This is the object creating our mail.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$mailer = JFactory::getMailer();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set a Sender ===&lt;br /&gt;
The sender of an email is set with [http://api.joomla.org/Joomla-Framework/Mail/JMail.html#setSender setSender]. The function takes an array with an email address and a name as an argument. We fetch the site&#039;s email address and name from the global configuration. These are set in the administration back-end (Global Configuration -&amp;gt; Server -&amp;gt; Mail Settings).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$config = JFactory::getConfig();&lt;br /&gt;
$sender = array( &lt;br /&gt;
    $config-&amp;gt;get( &#039;mailfrom&#039; ),&lt;br /&gt;
    $config-&amp;gt;get( &#039;fromname&#039; ) &lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;setSender($sender);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In 3.1, $config-&amp;gt;getValue() should be changed to $config-&amp;gt;get()&lt;br /&gt;
&lt;br /&gt;
=== Recipient ===&lt;br /&gt;
You set the recipient of an email with the function [https://api.joomla.org/cms-3/classes/JMail.html#method_addRecipient addRecipient].&lt;br /&gt;
To set the email address to the currently logged in user, we fetch it from the user object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$user = JFactory::getUser();&lt;br /&gt;
$recipient = $user-&amp;gt;email;&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;addRecipient($recipient);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we had multiple recipients, we would put each recipient&#039;s email address in an array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$recipient = array( &#039;person1@domain.com&#039;, &#039;person2@domain.com&#039;, &#039;person3@domain.com&#039; );&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;addRecipient($recipient);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create the Mail ===&lt;br /&gt;
We need to set a subject line and create the text body. The subject is set with [https://api.joomla.org/cms-3/classes/JMail.html#method_setSubject setSubject]. &lt;br /&gt;
&lt;br /&gt;
The easy way to create an email body is as a string with plain text. Use the function [https://api.joomla.org/cms-3/classes/JMail.html#method_setBody setBody] to add a message to the mail body. You can also attach a file with [https://api.joomla.org/cms-3/classes/JMail.html#method_addAttachment addAttachment]. It takes a single file name or an array of file names as the argument.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$body   = &amp;quot;Your body string\nin double quotes if you want to parse the \nnewlines etc&amp;quot;;&lt;br /&gt;
$mailer-&amp;gt;setSubject(&#039;Your subject string&#039;);&lt;br /&gt;
$mailer-&amp;gt;setBody($body);&lt;br /&gt;
// Optional file attached&lt;br /&gt;
$mailer-&amp;gt;addAttachment(JPATH_COMPONENT.&#039;/assets/document.pdf&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you prefer to format your email in HTML, you need to tell the mailer it is HTML. This is done with [https://api.joomla.org/cms-3/classes/JMail.html#method_isHtml isHTML]. When sending HTML emails you should normally set the [http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#property_Encoding Encoding] to base64 in order to avoid unwanted characters in the output. The subject line and any attachments are handled as above, with the exception of images embedded in the HTML. These are taken care of with the function [http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#method_addEmbeddedImage AddEmbeddedImage].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$body   = &#039;&amp;lt;h2&amp;gt;Our mail&amp;lt;/h2&amp;gt;&#039;&lt;br /&gt;
    . &#039;&amp;lt;div&amp;gt;A message to our dear readers&#039;&lt;br /&gt;
    . &#039;&amp;lt;img src=&amp;quot;cid:logo_id&amp;quot; alt=&amp;quot;logo&amp;quot;/&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
$mailer-&amp;gt;isHtml(true);&lt;br /&gt;
$mailer-&amp;gt;Encoding = &#039;base64&#039;;&lt;br /&gt;
$mailer-&amp;gt;setBody($body);&lt;br /&gt;
// Optionally add embedded image&lt;br /&gt;
$mailer-&amp;gt;AddEmbeddedImage( JPATH_COMPONENT.&#039;/assets/logo128.jpg&#039;, &#039;logo_id&#039;, &#039;logo.jpg&#039;, &#039;base64&#039;, &#039;image/jpeg&#039; );&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Normally you would leave any images on your server and refer to them with an ordinary HTML image tag, to reduce size of the mail and the time sending it.&lt;br /&gt;
&lt;br /&gt;
=== Sending the Mail ===&lt;br /&gt;
The mail is sent with the function [https://api.joomla.org/cms-3/classes/JMail.html#method_Send Send]. It returns &#039;&#039;&#039;true&#039;&#039;&#039; on success or a JError object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$send = $mailer-&amp;gt;Send();&lt;br /&gt;
if ( $send !== true ) {&lt;br /&gt;
    echo &#039;Error sending email: &#039;;&lt;br /&gt;
} else {&lt;br /&gt;
    echo &#039;Mail sent&#039;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You would probably want to write your own error handler, if there is an error sending the mail.&lt;br /&gt;
&lt;br /&gt;
The JMail object is used for sending mail in Joomla&#039;s contact manager. See the file joomla/components/com_contact/controller.php&lt;br /&gt;
&lt;br /&gt;
===See also===&lt;br /&gt;
* [https://api.joomla.org/cms-3/classes/JFactory.html#method_getMailer JFactory-&amp;gt;getMailer on api.joomla.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Sending_email_from_extensions&amp;diff=444054</id>
		<title>Sending email from extensions</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Sending_email_from_extensions&amp;diff=444054"/>
		<updated>2017-08-27T15:29:40Z</updated>

		<summary type="html">&lt;p&gt;Toivo: /* Create the Mail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Joomla version|version=2.5|time=and after}}&lt;br /&gt;
This is an example of how to send an email from a Joomla component. You would typically put this into your component&#039;s controller.&lt;br /&gt;
=== Fetch the Mail Object ===&lt;br /&gt;
A reference to the global mail object (JMail) is fetched through the JFactory object. This is the object creating our mail.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$mailer = JFactory::getMailer();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set a Sender ===&lt;br /&gt;
The sender of an email is set with [http://api.joomla.org/Joomla-Framework/Mail/JMail.html#setSender setSender]. The function takes an array with an email address and a name as an argument. We fetch the site&#039;s email address and name from the global configuration. These are set in the administration back-end (Global Configuration -&amp;gt; Server -&amp;gt; Mail Settings).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$config = JFactory::getConfig();&lt;br /&gt;
$sender = array( &lt;br /&gt;
    $config-&amp;gt;get( &#039;mailfrom&#039; ),&lt;br /&gt;
    $config-&amp;gt;get( &#039;fromname&#039; ) &lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;setSender($sender);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In 3.1, $config-&amp;gt;getValue() should be changed to $config-&amp;gt;get()&lt;br /&gt;
&lt;br /&gt;
=== Recipient ===&lt;br /&gt;
You set the recipient of an email with the function [http://api.joomla.org/1.5/Joomla-Framework/Mail/JMail.html# addRecipient].&lt;br /&gt;
To set the email address to the currently logged in user, we fetch it from the user object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$user = JFactory::getUser();&lt;br /&gt;
$recipient = $user-&amp;gt;email;&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;addRecipient($recipient);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we had multiple recipients, we would put each recipient&#039;s email address in an array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$recipient = array( &#039;person1@domain.com&#039;, &#039;person2@domain.com&#039;, &#039;person3@domain.com&#039; );&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;addRecipient($recipient);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create the Mail ===&lt;br /&gt;
We need to set a subject line and create the text body. The subject is set with [https://api.joomla.org/cms-3/classes/JMail.html#method_setSubject setSubject]. &lt;br /&gt;
&lt;br /&gt;
The easy way to create an email body is as a string with plain text. Use the function [https://api.joomla.org/cms-3/classes/JMail.html#method_setBody setBody] to add a message to the mail body. You can also attach a file with [https://api.joomla.org/cms-3/classes/JMail.html#method_addAttachment addAttachment]. It takes a single file name or an array of file names as the argument.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$body   = &amp;quot;Your body string\nin double quotes if you want to parse the \nnewlines etc&amp;quot;;&lt;br /&gt;
$mailer-&amp;gt;setSubject(&#039;Your subject string&#039;);&lt;br /&gt;
$mailer-&amp;gt;setBody($body);&lt;br /&gt;
// Optional file attached&lt;br /&gt;
$mailer-&amp;gt;addAttachment(JPATH_COMPONENT.&#039;/assets/document.pdf&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you prefer to format your email in HTML, you need to tell the mailer it is HTML. This is done with [https://api.joomla.org/cms-3/classes/JMail.html#method_isHtml isHTML]. When sending HTML emails you should normally set the [http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#property_Encoding Encoding] to base64 in order to avoid unwanted characters in the output. The subject line and any attachments are handled as above, with the exception of images embedded in the HTML. These are taken care of with the function [http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#method_addEmbeddedImage AddEmbeddedImage].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$body   = &#039;&amp;lt;h2&amp;gt;Our mail&amp;lt;/h2&amp;gt;&#039;&lt;br /&gt;
    . &#039;&amp;lt;div&amp;gt;A message to our dear readers&#039;&lt;br /&gt;
    . &#039;&amp;lt;img src=&amp;quot;cid:logo_id&amp;quot; alt=&amp;quot;logo&amp;quot;/&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
$mailer-&amp;gt;isHtml(true);&lt;br /&gt;
$mailer-&amp;gt;Encoding = &#039;base64&#039;;&lt;br /&gt;
$mailer-&amp;gt;setBody($body);&lt;br /&gt;
// Optionally add embedded image&lt;br /&gt;
$mailer-&amp;gt;AddEmbeddedImage( JPATH_COMPONENT.&#039;/assets/logo128.jpg&#039;, &#039;logo_id&#039;, &#039;logo.jpg&#039;, &#039;base64&#039;, &#039;image/jpeg&#039; );&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Normally you would leave any images on your server and refer to them with an ordinary HTML image tag, to reduce size of the mail and the time sending it.&lt;br /&gt;
&lt;br /&gt;
=== Sending the Mail ===&lt;br /&gt;
The mail is sent with the function [https://api.joomla.org/cms-3/classes/JMail.html#method_Send Send]. It returns &#039;&#039;&#039;true&#039;&#039;&#039; on success or a JError object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$send = $mailer-&amp;gt;Send();&lt;br /&gt;
if ( $send !== true ) {&lt;br /&gt;
    echo &#039;Error sending email: &#039;;&lt;br /&gt;
} else {&lt;br /&gt;
    echo &#039;Mail sent&#039;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You would probably want to write your own error handler, if there is an error sending the mail.&lt;br /&gt;
&lt;br /&gt;
The JMail object is used for sending mail in Joomla&#039;s contact manager. See the file joomla/components/com_contact/controller.php&lt;br /&gt;
&lt;br /&gt;
===See also===&lt;br /&gt;
* [https://api.joomla.org/cms-3/classes/JFactory.html#method_getMailer JFactory-&amp;gt;getMailer on api.joomla.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Sending_email_from_extensions&amp;diff=444053</id>
		<title>Sending email from extensions</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Sending_email_from_extensions&amp;diff=444053"/>
		<updated>2017-08-27T15:26:08Z</updated>

		<summary type="html">&lt;p&gt;Toivo: /* Create the Mail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Joomla version|version=2.5|time=and after}}&lt;br /&gt;
This is an example of how to send an email from a Joomla component. You would typically put this into your component&#039;s controller.&lt;br /&gt;
=== Fetch the Mail Object ===&lt;br /&gt;
A reference to the global mail object (JMail) is fetched through the JFactory object. This is the object creating our mail.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$mailer = JFactory::getMailer();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set a Sender ===&lt;br /&gt;
The sender of an email is set with [http://api.joomla.org/Joomla-Framework/Mail/JMail.html#setSender setSender]. The function takes an array with an email address and a name as an argument. We fetch the site&#039;s email address and name from the global configuration. These are set in the administration back-end (Global Configuration -&amp;gt; Server -&amp;gt; Mail Settings).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$config = JFactory::getConfig();&lt;br /&gt;
$sender = array( &lt;br /&gt;
    $config-&amp;gt;get( &#039;mailfrom&#039; ),&lt;br /&gt;
    $config-&amp;gt;get( &#039;fromname&#039; ) &lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;setSender($sender);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In 3.1, $config-&amp;gt;getValue() should be changed to $config-&amp;gt;get()&lt;br /&gt;
&lt;br /&gt;
=== Recipient ===&lt;br /&gt;
You set the recipient of an email with the function [http://api.joomla.org/1.5/Joomla-Framework/Mail/JMail.html# addRecipient].&lt;br /&gt;
To set the email address to the currently logged in user, we fetch it from the user object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$user = JFactory::getUser();&lt;br /&gt;
$recipient = $user-&amp;gt;email;&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;addRecipient($recipient);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we had multiple recipients, we would put each recipient&#039;s email address in an array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$recipient = array( &#039;person1@domain.com&#039;, &#039;person2@domain.com&#039;, &#039;person3@domain.com&#039; );&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;addRecipient($recipient);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create the Mail ===&lt;br /&gt;
We need to set a subject line and create the text body. The subject is set with [https://api.joomla.org/cms-3/classes/JMail.html#method_setSubject setSubject]. &lt;br /&gt;
&lt;br /&gt;
The easy way to create an email body is as a string with plain text. Use the function [&lt;br /&gt;
https://api.joomla.org/cms-3/classes/JMail.html#method_setBody setBody] to add a message to the mail body. You can also attach a file with [https://api.joomla.org/cms-3/classes/JMail.html#method_addAttachment addAttachment]. It takes a single file name or an array of file names as the argument.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$body   = &amp;quot;Your body string\nin double quotes if you want to parse the \nnewlines etc&amp;quot;;&lt;br /&gt;
$mailer-&amp;gt;setSubject(&#039;Your subject string&#039;);&lt;br /&gt;
$mailer-&amp;gt;setBody($body);&lt;br /&gt;
// Optional file attached&lt;br /&gt;
$mailer-&amp;gt;addAttachment(JPATH_COMPONENT.&#039;/assets/document.pdf&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you prefer to format your email in HTML, you need to tell the mailer it is HTML. This is done with [https://api.joomla.org/cms-3/classes/JMail.html#method_isHtml isHTML]. When sending HTML emails you should normally set the [&lt;br /&gt;
http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#property_Encoding Encoding] to base64 in order to avoid unwanted characters in the output. The subject line and any attachments are handled as above, with the exception of images embedded in the HTML. These are taken care of with the function [http://phpmailer.github.io/PHPMailer/classes/PHPMailer.html#method_addEmbeddedImage AddEmbeddedImage].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$body   = &#039;&amp;lt;h2&amp;gt;Our mail&amp;lt;/h2&amp;gt;&#039;&lt;br /&gt;
    . &#039;&amp;lt;div&amp;gt;A message to our dear readers&#039;&lt;br /&gt;
    . &#039;&amp;lt;img src=&amp;quot;cid:logo_id&amp;quot; alt=&amp;quot;logo&amp;quot;/&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
$mailer-&amp;gt;isHtml(true);&lt;br /&gt;
$mailer-&amp;gt;Encoding = &#039;base64&#039;;&lt;br /&gt;
$mailer-&amp;gt;setBody($body);&lt;br /&gt;
// Optionally add embedded image&lt;br /&gt;
$mailer-&amp;gt;AddEmbeddedImage( JPATH_COMPONENT.&#039;/assets/logo128.jpg&#039;, &#039;logo_id&#039;, &#039;logo.jpg&#039;, &#039;base64&#039;, &#039;image/jpeg&#039; );&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Normally you would leave any images on your server and refer to them with an ordinary HTML image tag, to reduce size of the mail and the time sending it.&lt;br /&gt;
&lt;br /&gt;
=== Sending the Mail ===&lt;br /&gt;
The mail is sent with the function [https://api.joomla.org/cms-3/classes/JMail.html#method_Send Send]. It returns &#039;&#039;&#039;true&#039;&#039;&#039; on success or a JError object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$send = $mailer-&amp;gt;Send();&lt;br /&gt;
if ( $send !== true ) {&lt;br /&gt;
    echo &#039;Error sending email: &#039;;&lt;br /&gt;
} else {&lt;br /&gt;
    echo &#039;Mail sent&#039;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You would probably want to write your own error handler, if there is an error sending the mail.&lt;br /&gt;
&lt;br /&gt;
The JMail object is used for sending mail in Joomla&#039;s contact manager. See the file joomla/components/com_contact/controller.php&lt;br /&gt;
&lt;br /&gt;
===See also===&lt;br /&gt;
* [https://api.joomla.org/cms-3/classes/JFactory.html#method_getMailer JFactory-&amp;gt;getMailer on api.joomla.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Sending_email_from_extensions&amp;diff=444051</id>
		<title>Sending email from extensions</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Sending_email_from_extensions&amp;diff=444051"/>
		<updated>2017-08-27T14:47:17Z</updated>

		<summary type="html">&lt;p&gt;Toivo: /* Sending the Mail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Joomla version|version=2.5|time=and after}}&lt;br /&gt;
This is an example of how to send an email from a Joomla component. You would typically put this into your component&#039;s controller.&lt;br /&gt;
=== Fetch the Mail Object ===&lt;br /&gt;
A reference to the global mail object (JMail) is fetched through the JFactory object. This is the object creating our mail.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$mailer = JFactory::getMailer();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set a Sender ===&lt;br /&gt;
The sender of an email is set with [http://api.joomla.org/Joomla-Framework/Mail/JMail.html#setSender setSender]. The function takes an array with an email address and a name as an argument. We fetch the site&#039;s email address and name from the global configuration. These are set in the administration back-end (Global Configuration -&amp;gt; Server -&amp;gt; Mail Settings).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$config = JFactory::getConfig();&lt;br /&gt;
$sender = array( &lt;br /&gt;
    $config-&amp;gt;get( &#039;mailfrom&#039; ),&lt;br /&gt;
    $config-&amp;gt;get( &#039;fromname&#039; ) &lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;setSender($sender);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In 3.1, $config-&amp;gt;getValue() should be changed to $config-&amp;gt;get()&lt;br /&gt;
&lt;br /&gt;
=== Recipient ===&lt;br /&gt;
You set the recipient of an email with the function [http://api.joomla.org/1.5/Joomla-Framework/Mail/JMail.html# addRecipient].&lt;br /&gt;
To set the email address to the currently logged in user, we fetch it from the user object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$user = JFactory::getUser();&lt;br /&gt;
$recipient = $user-&amp;gt;email;&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;addRecipient($recipient);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we had multiple recipients, we would put each recipient&#039;s email address in an array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$recipient = array( &#039;person1@domain.com&#039;, &#039;person2@domain.com&#039;, &#039;person3@domain.com&#039; );&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;addRecipient($recipient);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create the Mail ===&lt;br /&gt;
We need to set a subject line and create the text body. The subject is set with [http://api.joomla.org/Joomla-Framework/Mail/JMail.html#setSubject setSubject]. &lt;br /&gt;
&lt;br /&gt;
The easy way to create an email body is as a string with plain text. Use the function [http://api.joomla.org/Joomla-Framework/Mail/JMail.html#setBody setBody] to add a message to the mail body. You can also attach a file with [http://api.joomla.org/Joomla-Framework/Mail/JMail.html#addAttachment addAttachment]. It takes a single file name or an array of file names as the argument.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$body   = &amp;quot;Your body string\nin double quotes if you want to parse the \nnewlines etc&amp;quot;;&lt;br /&gt;
$mailer-&amp;gt;setSubject(&#039;Your subject string&#039;);&lt;br /&gt;
$mailer-&amp;gt;setBody($body);&lt;br /&gt;
// Optional file attached&lt;br /&gt;
$mailer-&amp;gt;addAttachment(JPATH_COMPONENT.&#039;/assets/document.pdf&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you prefer to format your email in HTML, you need to tell the mailer it is HTML. This is done with [http://api.joomla.org/Unknown/PHPMailer.html#methodIsHTML IsHTML]. When sending HTML emails you should normally set the [http://api.joomla.org/Unknown/PHPMailer.html#$Encoding Encoding] to base64 in order to avoid unwanted characters in the output. The subject line and any attachments are handled as above, with the exception of images embedded in the HTML. These are taken care of with the function [http://api.joomla.org/Unknown/PHPMailer.html#AddEmbeddedImage AddEmbeddedImage].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$body   = &#039;&amp;lt;h2&amp;gt;Our mail&amp;lt;/h2&amp;gt;&#039;&lt;br /&gt;
    . &#039;&amp;lt;div&amp;gt;A message to our dear readers&#039;&lt;br /&gt;
    . &#039;&amp;lt;img src=&amp;quot;cid:logo_id&amp;quot; alt=&amp;quot;logo&amp;quot;/&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
$mailer-&amp;gt;isHtml(true);&lt;br /&gt;
$mailer-&amp;gt;Encoding = &#039;base64&#039;;&lt;br /&gt;
$mailer-&amp;gt;setBody($body);&lt;br /&gt;
// Optionally add embedded image&lt;br /&gt;
$mailer-&amp;gt;AddEmbeddedImage( JPATH_COMPONENT.&#039;/assets/logo128.jpg&#039;, &#039;logo_id&#039;, &#039;logo.jpg&#039;, &#039;base64&#039;, &#039;image/jpeg&#039; );&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Normally you would leave any images on your server and refer to them with an ordinary HTML image tag, to reduce size of the mail and the time sending it.&lt;br /&gt;
&lt;br /&gt;
=== Sending the Mail ===&lt;br /&gt;
The mail is sent with the function [https://api.joomla.org/cms-3/classes/JMail.html#method_Send Send]. It returns &#039;&#039;&#039;true&#039;&#039;&#039; on success or a JError object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$send = $mailer-&amp;gt;Send();&lt;br /&gt;
if ( $send !== true ) {&lt;br /&gt;
    echo &#039;Error sending email: &#039;;&lt;br /&gt;
} else {&lt;br /&gt;
    echo &#039;Mail sent&#039;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You would probably want to write your own error handler, if there is an error sending the mail.&lt;br /&gt;
&lt;br /&gt;
The JMail object is used for sending mail in Joomla&#039;s contact manager. See the file joomla/components/com_contact/controller.php&lt;br /&gt;
&lt;br /&gt;
===See also===&lt;br /&gt;
* [https://api.joomla.org/cms-3/classes/JFactory.html#method_getMailer JFactory-&amp;gt;getMailer on api.joomla.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Sending_email_from_extensions&amp;diff=444049</id>
		<title>Sending email from extensions</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Sending_email_from_extensions&amp;diff=444049"/>
		<updated>2017-08-27T14:44:18Z</updated>

		<summary type="html">&lt;p&gt;Toivo: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Joomla version|version=2.5|time=and after}}&lt;br /&gt;
This is an example of how to send an email from a Joomla component. You would typically put this into your component&#039;s controller.&lt;br /&gt;
=== Fetch the Mail Object ===&lt;br /&gt;
A reference to the global mail object (JMail) is fetched through the JFactory object. This is the object creating our mail.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$mailer = JFactory::getMailer();&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set a Sender ===&lt;br /&gt;
The sender of an email is set with [http://api.joomla.org/Joomla-Framework/Mail/JMail.html#setSender setSender]. The function takes an array with an email address and a name as an argument. We fetch the site&#039;s email address and name from the global configuration. These are set in the administration back-end (Global Configuration -&amp;gt; Server -&amp;gt; Mail Settings).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$config = JFactory::getConfig();&lt;br /&gt;
$sender = array( &lt;br /&gt;
    $config-&amp;gt;get( &#039;mailfrom&#039; ),&lt;br /&gt;
    $config-&amp;gt;get( &#039;fromname&#039; ) &lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;setSender($sender);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In 3.1, $config-&amp;gt;getValue() should be changed to $config-&amp;gt;get()&lt;br /&gt;
&lt;br /&gt;
=== Recipient ===&lt;br /&gt;
You set the recipient of an email with the function [http://api.joomla.org/1.5/Joomla-Framework/Mail/JMail.html# addRecipient].&lt;br /&gt;
To set the email address to the currently logged in user, we fetch it from the user object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$user = JFactory::getUser();&lt;br /&gt;
$recipient = $user-&amp;gt;email;&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;addRecipient($recipient);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we had multiple recipients, we would put each recipient&#039;s email address in an array.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$recipient = array( &#039;person1@domain.com&#039;, &#039;person2@domain.com&#039;, &#039;person3@domain.com&#039; );&lt;br /&gt;
&lt;br /&gt;
$mailer-&amp;gt;addRecipient($recipient);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create the Mail ===&lt;br /&gt;
We need to set a subject line and create the text body. The subject is set with [http://api.joomla.org/Joomla-Framework/Mail/JMail.html#setSubject setSubject]. &lt;br /&gt;
&lt;br /&gt;
The easy way to create an email body is as a string with plain text. Use the function [http://api.joomla.org/Joomla-Framework/Mail/JMail.html#setBody setBody] to add a message to the mail body. You can also attach a file with [http://api.joomla.org/Joomla-Framework/Mail/JMail.html#addAttachment addAttachment]. It takes a single file name or an array of file names as the argument.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$body   = &amp;quot;Your body string\nin double quotes if you want to parse the \nnewlines etc&amp;quot;;&lt;br /&gt;
$mailer-&amp;gt;setSubject(&#039;Your subject string&#039;);&lt;br /&gt;
$mailer-&amp;gt;setBody($body);&lt;br /&gt;
// Optional file attached&lt;br /&gt;
$mailer-&amp;gt;addAttachment(JPATH_COMPONENT.&#039;/assets/document.pdf&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you prefer to format your email in HTML, you need to tell the mailer it is HTML. This is done with [http://api.joomla.org/Unknown/PHPMailer.html#methodIsHTML IsHTML]. When sending HTML emails you should normally set the [http://api.joomla.org/Unknown/PHPMailer.html#$Encoding Encoding] to base64 in order to avoid unwanted characters in the output. The subject line and any attachments are handled as above, with the exception of images embedded in the HTML. These are taken care of with the function [http://api.joomla.org/Unknown/PHPMailer.html#AddEmbeddedImage AddEmbeddedImage].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$body   = &#039;&amp;lt;h2&amp;gt;Our mail&amp;lt;/h2&amp;gt;&#039;&lt;br /&gt;
    . &#039;&amp;lt;div&amp;gt;A message to our dear readers&#039;&lt;br /&gt;
    . &#039;&amp;lt;img src=&amp;quot;cid:logo_id&amp;quot; alt=&amp;quot;logo&amp;quot;/&amp;gt;&amp;lt;/div&amp;gt;&#039;;&lt;br /&gt;
$mailer-&amp;gt;isHtml(true);&lt;br /&gt;
$mailer-&amp;gt;Encoding = &#039;base64&#039;;&lt;br /&gt;
$mailer-&amp;gt;setBody($body);&lt;br /&gt;
// Optionally add embedded image&lt;br /&gt;
$mailer-&amp;gt;AddEmbeddedImage( JPATH_COMPONENT.&#039;/assets/logo128.jpg&#039;, &#039;logo_id&#039;, &#039;logo.jpg&#039;, &#039;base64&#039;, &#039;image/jpeg&#039; );&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Normally you would leave any images on your server and refer to them with an ordinary HTML image tag, to reduce size of the mail and the time sending it.&lt;br /&gt;
&lt;br /&gt;
=== Sending the Mail ===&lt;br /&gt;
The mail is sent with the function [http://api.joomla.org/Joomla-Framework/Mail/JMail.html#Send Send]. It returns &#039;&#039;&#039;true&#039;&#039;&#039; on success or a JError object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$send = $mailer-&amp;gt;Send();&lt;br /&gt;
if ( $send !== true ) {&lt;br /&gt;
    echo &#039;Error sending email: &#039;;&lt;br /&gt;
} else {&lt;br /&gt;
    echo &#039;Mail sent&#039;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You would probably want to write your own error handler, if there is an error sending the mail.&lt;br /&gt;
&lt;br /&gt;
The JMail object is used for sending mail in Joomla&#039;s contact manager. See the file joomla/components/com_contact/controller.php&lt;br /&gt;
&lt;br /&gt;
===See also===&lt;br /&gt;
* [https://api.joomla.org/cms-3/classes/JFactory.html#method_getMailer JFactory-&amp;gt;getMailer on api.joomla.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Component Development]]&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J3.x:Global_configuration&amp;diff=334499</id>
		<title>J3.x:Global configuration</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J3.x:Global_configuration&amp;diff=334499"/>
		<updated>2016-09-21T06:37:51Z</updated>

		<summary type="html">&lt;p&gt;Toivo: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{incomplete}}&lt;br /&gt;
{{Joomla version|version=3.0|time=and later}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
This article expands on the information given about Global Configuration in the Joomla online Help, and also to provide hints and tips about use of the settings found in this part of the administrative interface. The Global Configuration area is part of the administrative interface (also referred to as the “backend”), accessed via&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;http://&amp;lt;translate&amp;gt;&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
pathtojoomla&amp;lt;/translate&amp;gt;/administrator&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
This area is accessible only if you are logged-in as a member of a group having the attribute of being Super Administrators (by default the Super Users group only). Once logged in, to access the page:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
* go to {{rarr|System,Global Configuration}} or &lt;br /&gt;
* click the Global Configuration icon&amp;lt;/translate&amp;gt; {{-}}[[File:J3x-global-config-quick-icon.png]]{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
from the main control panel.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;== Overview == &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
As the name implies, Global Configuration is the area of the Joomla administrative interface where a user with Super Administrator attributes is able to make changes that globally affect the behaviour of the web site and also alter some default settings for the presentation of, and access to site content.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
All the parameters under the Site, System and Server tabs in the Global Configuration are stored as values in the file &#039;&#039;configuration.php&#039;&#039;, which you will find in the root folder of Joomla installation. This file is set up automatically by the software installation process and thus many of the parameters appearing in the Global Configuration screens are best left as their initial settings. Should Joomla be unable to update &#039;&#039;configuration.php&#039;&#039; a message such as &amp;quot;Could not save data. Error: Could not write to the configuration file.&amp;quot; will be displayed, rather than the usual &amp;quot;Configuration successfully saved.&amp;quot;. There are a number of ways of overcoming this problem, please refer to [[S:MyLanguage/Cannot save Global Configuration changes|Cannot save Global Configuration changes]] for further information.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
The parameters controlled by a third tab, Permissions, (present only with Joomla v1.6.x and later) differ from those controlled via the other tabs in that they are stored within the web site&#039;s database.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;== The Toolbar == &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
The Global Configuration toolbar consists of four buttons to enable the user to save changes, move away from the Global Configuration page and call up online Help pages. Toolbars differ between Joomla v1.5.x and the later versions, in respect of naming and order of buttons.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== The Joomla 3.x Toolbar === &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Save.&#039;&#039;&#039; Saves any changes made under any tab and the Global Configuration screen remains open so that editing or checking of global parameters can continue.&lt;br /&gt;
* &#039;&#039;&#039;Save &amp;amp; Close&#039;&#039;&#039;. As Save, but returns to the Administrator welcome screen.&lt;br /&gt;
* &#039;&#039;&#039;Cancel.&#039;&#039;&#039; Returns to the Administrator welcome screen without saving any changes to the Global Configuration.&lt;br /&gt;
* &#039;&#039;&#039;Help. &#039;&#039;&#039;Opens the Help Screen for Global Configuration.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;== The Site Tab Options == &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note: &#039;&#039;&#039;the order in which these items appear on the screen vary slightly between the different versions of Joomla.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== “Site Settings” Group === &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
This group of options control a miscellaneous collection of parameters that broadly control the behaviour of the public web pages of the Joomla site.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Site Name.&#039;&#039;&#039; The name of the web site. This text provides an single-point of update of the site name and is frequently used by site templates as the header text of each web page.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Site Offline.&#039;&#039;&#039; This setting provides a means of putting a site offline to general users by changing the default setting of “No” to “Yes”. When offline the public pages of the web site will be replaced by the Offline Message (see below) and a log-in form. Only Administrators are able to log in the site when set to offline using this option. Once logged-in, Administrators are able to see the web site and work on it as normal.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Offline Message.&#039;&#039;&#039; The message that will be displayed on the site when the site is offline. It may be changed to provide something more helpful than the default message. This could be a date or time when the site will be back online, or the URL of an alternative web site that any visitors could use.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Default Editor.&#039;&#039;&#039; The default text [http://help.joomla.org/proxy/index.php?option=com_help&amp;amp;view=help&amp;amp;keyref=Content_creators#Content_Editors editor] for use when creating or updating articles on the site. This may be “No editor” (edit raw HTML code only), one of editors pre-installed in Joomla, or an editor installed subsequently as an extension. The editor loaded when a registered site user starts editing text content may be overridden on a user-by-user basis, but in the absence of any such override it will be the Default Editor as set here.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Default Access Level.&#039;&#039;&#039; (only present in Joomla v1.6.x and later) The access level given by default to new content items, menu entries, etc. By default this is “Public”, but could be changed to other levels if – for example – it was undesirable for newly created items to be visible to all site users. The access level for any items may be overridden when created, or changed at a later point by anyone logged-in with the appropriate permissions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Default List Limit.&#039;&#039;&#039; This sets the maximum number of items per page in lists displayed in various pages of the Joomla administrative interface, although this value may be overridden temporarily within the list pages themselves. By default, this parameter is set to&amp;amp;nbsp;20 but may be changed to any of a number of values ranging from 5 to 100. &amp;lt;br /&amp;gt;&#039;&#039;&#039;Tip:&#039;&#039;&#039; Use a larger value (50 or 100)&amp;amp;nbsp;than the default as it is usually easier to scroll up and down a list on a single page than to move between lots of short pages. Also if all items are on one page, it is much easier to carry out a global search, for example for text in an article title.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Default Feed Limit.&#039;&#039;&#039; The number of content items to be shown in any RSS newsfeeds set up on the web site. By default, this is set to&amp;amp;nbsp;10, although unless the site is very active a smaller number may be better.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Feed Email.&#039;&#039;&#039; Atom and RSS newsfeeds generated from site content by the Joomla “Syndicate feeds” (“Syndication” in Joomla v1.5.x) site module may include an e-mail address as part of the author&#039;s identity. This parameter determines the source of that email address: the “Author Email” setting will use the email address held on the site for content author, “Site E-mail” will use the “From email” address set up under the Server tab (see below) for emails generated automatically by the web site.&amp;lt;br /&amp;gt;&#039;&#039;&#039;Tip:&#039;&#039;&#039; “Site E-mail” is usually the preferred setting if content syndication is being used on a web site. This is because the alternative will expose the content authors&#039; email addresses to collection by spam lists.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== “Metadata Settings” Group === &amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
This group of options control the presence or content of several of the metadata entries (i.e. code like &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;meta name = …. \&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039;) in the header of each page of the web site. Although not visible to the site user, metadata entries may be used in various ways by web search engines and their appropriate use can significantly aid the search rankings and visibility of a web site. Note that several of the following metadata parameters may be overridden for the content categories and individual content items.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Site Meta Description.&#039;&#039;&#039; Text added here appears in web page headers as the “description” metadata entry. Search engines often use this to provide descriptive text for your web pages in place some (possibly inappropriate) text from the content of the web page. A description of around 20 words is recommended. This metadata entry is omitted from web pages if this entry is blank.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Site Meta Keywords.&#039;&#039;&#039; Words and phrases (separated by commas) added here appear in web page headers as the “keywords” metadata entry. Search engines may use these words to refine their indexing of the site&#039;s web pages. This metadata entry is omitted from web pages if this entry is blank.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Content Rights.&#039;&#039;&#039; (Only present in Joomla v1.6.x and later.) Text added here appears in web page headers as the “rights” metadata entry. If appropriate, describe here what rights others have to use this content. This metadata entry is omitted from web pages if this entry is blank.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Show Author Meta Tag.&#039;&#039;&#039; When this parameter is set to “Yes” an “author” metadata entry is added to the page header when appropriate, using the content item&#039;s author name as the metadata text.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== “SEO Settings” Group === &amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
SEO is an abbreviation of &#039;&#039;Search Engine Optimization&#039;&#039;. Settings in this group alter the format of URLs for pages in the web site, and this may have a significant effect of the search rankings of individual pages, as well as making URLs more human-friendly.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; after making any changes to the settings in this group, refresh any of the web site&#039;s pages already open in your web browser (usually Ctrl+R will do this). Failure to so this will likely mean that the format of web links internal to the site no longer match that which Joomla is expecting and thus give the appearance of broken links.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tip: &#039;&#039;&#039;Avoid if at all possible altering the SEO Settings once a web site is established. Changing any of the first three items below will mean that nearly all of a site&#039;s URLs will also change and result in broken links from other sites and perhaps a temporary drop in search engine rankings.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Search Engine Friendly URLs.&#039;&#039;&#039; Joomla&#039;s internal representation of URLs tends to be lengthy and also difficult to interpret by humans and search engine spiders. This is a typical example of the internal URL for a page displaying a content item: &amp;lt;tt&amp;gt;www.example.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=22&amp;amp;Itemid=437&amp;lt;/tt&amp;gt;. If this Global Configuration option is set to “yes”, the URL is modified into a shorter and more meaningful form: &amp;lt;tt&amp;gt;www.example.com/index.php/getting-started&amp;lt;/tt&amp;gt;. The identifying text in the URL (in this case “getting_started”) is derived from the Alias text set up for each Category, content item, and Menu item. The default setting is&amp;amp;nbsp;“No”.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Use Apache mod_rewrite. &#039;&#039;&#039;When this parameter is set to “Yes“, Joomla will use the mod_rewrite function of Apache web servers to eliminate the &#039;&#039;index.php&#039;&#039; part of the URL. Thus when this is operating the “search engine friendly” URL shown above will become: &amp;lt;tt&amp;gt;www.example.com/getting-started&amp;lt;/tt&amp;gt;.&amp;lt;br /&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; This parameter is set to “No” by default. It should not be set to “Yes” unless the web server uses Apache software and has been set up so that mod_rewrite is installed and will work with your web site (see [[S:MyLanguage/How to check if mod rewrite is enabled on your server|here]] for how to check). Also for this function to work, the &#039;&#039;htaccess.txt&#039;&#039; file installed in the root directory of the web site (or preferably a copy of it) should be renamed to &#039;&#039;.htaccess&#039;&#039;. As an incorrectly configured &#039;&#039;.htaccess&#039;&#039; file can easily cause major server errors, so do not modify the &#039;&#039;.htaccess&#039;&#039; file unless you understand how it works.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Adds Suffix to URL.&#039;&#039;&#039; When set to “Yes”, Joomla will add &#039;&#039;.html&#039;&#039; to the end of the most site URLs thus simulating static file-based web content. The URLs shown above will then become: &amp;lt;tt&amp;gt;www.example.com/index.php/getting-started.html&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;www.example.com/getting-started.html&amp;lt;/tt&amp;gt;. This setting is largely down to personal preference, but bearing in mind that it is easy to confuse &#039;&#039;.htm&#039;&#039; and .&#039;&#039;html&#039;&#039; suffixes when typing URLs, the advantage my lie with having this feature switched off. The default setting is&amp;amp;nbsp;“No”.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Unicode aliases. &#039;&#039;&#039;(Only present in Joomla v1.6.x and later.) Choose between “Transliteration” (No) and “Unicode” (Yes) aliases. When saving edited content, the former setting attempts to convert, where appropriate, any alias text into the corresponding Latin characters. The latter setting leaves any non-Latin characters in the alias text unchanged. Changing this parameter does not retroactively change aliases, it just changes the behaviour of automatic alias generation for future content editing and creation. “Transliteration” (No) is the default setting.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Add Site Name To Page Titles.&#039;&#039;&#039; (Only present in Joomla v1.6.x and later.) Appends the site name to page titles in the &#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;title&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039; tag of each web page header. (This text usually appears in the top bar of the web browser window and/or on the browser tab.) Joomla v1.6.x introduced this feature as an option to either include the site name text before the page title (e.g. &#039;&#039;Site Name – Page Name&#039;&#039;) or omit it. With Joomla v1.7.x the options also include inserting the site name after the page name (e.g. &#039;&#039;Page Name – Site Name&#039;&#039;) as well as before.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== “Cookie Settings” Group === &amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
Only present in Joomla v1.6.x and later, these settings allow the site cookies to be modified to suit certain circumstances. For the majority of web sites these entries may be left blank. The cookie domain may be useful if you want a cookie be valid for several subdomains. The cookie path would have to be set if the cookie should only be valid for a certain subdirectory.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Cookie Domain.&#039;&#039;&#039; Overrides the site&#039;s default cookie domain with the domain added here. The most likely situation when this would be needed is when the Joomla site is “bridged“ with other sites (e.g. forum or e-commerce) in sub-domains of the Joomla site. The default cookie domain may be like &amp;lt;tt&amp;gt;www.example.com&amp;lt;/tt&amp;gt;, but using &amp;lt;tt&amp;gt;.example.com&amp;lt;/tt&amp;gt; (note the leading dot) here will deliver cookies valid for any sub-domain of example.com.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Cookie Path.&#039;&#039;&#039; Overrides the site&#039;s default path for which the cookie is valid with the path added here.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;== The System Tab Options == &amp;lt;!--T:36--&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;=== “System Settings” Group=== &amp;lt;!--T:91--&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Path to Log Folder.&#039;&#039;&#039; The full path to the folder on the server where any logs should be stored by Joomla! or its extensions. This folder location is set up on Joomla installation and should not normally be changed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Help Server.&#039;&#039;&#039; Select the default source of the information presented when a Help button is clicked. The purpose of this choice is mainly to select the appropriate language variant of the Help service. The choice of Help service may be overridden for individual registered site users.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== “Debug Settings” Group=== &amp;lt;!--T:39--&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Debug System.&#039;&#039;&#039; If set to “Yes”, Joomla will add debug information on every page, below the normal web page area. This information will include various forms of diagnostic information, including the full database queries used in generating the page. The default setting is “No”. The mix and format of diagnostic information presented by the debug function may be altered by editing the parameters of the Debug - System plug-in (Extensions &amp;gt; Plug-in Manager).&amp;lt;br/&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; the debug information displayed with this parameter set to “Yes” is visible to all users and thus may be a security risk if used on a public web site. The debug information is visible even if Site Offline is set to “Yes”.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Debug Language. &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;If set to “Yes”, Joomla will activate features designed to help debug language translations for a Joomla site. This includes the addition of language translation information to page debug information (requires Debug System also set to “Yes”), and markers to show translated content within the web pages themselves. For further information, refer to&amp;lt;/nowiki&amp;gt; [[S:MyLanguage/Debugging a translation|Debugging a translation]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== “Cache Settings” Group=== &amp;lt;!--T:42--&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Cache&#039;&#039;&#039; This setting controls whether or not site caching is enabled. When enabled, web pages are held for a period of time in cache storage and are retrieved from there rather than being re-created each time required. Caching is a strategy to reduce the loading presented by busy web sites to a web server. The default setting is “No”.&amp;lt;br/&amp;gt;&#039;&#039;&#039;Tip: &#039;&#039;&#039;When debugging a Joomla site, switch off the cache as it may hide changes to web pages, and thus mask the effect of modifications to web site code.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;[[S:MyLanguage/Cache|Cache Handler]].&#039;&#039;&#039; This setting defines the mechanism used to manage the cache storage.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Cache Time.&#039;&#039;&#039; This parameter defines the maximum time for which web pages are held in the cache storage before being updated with the current version. The default is 15 minutes.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== “Session Settings” Group=== &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
The “session” is the data that identifies and relates to a specific web site user, and which persists as that user moves from page to page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Session Lifetime.&#039;&#039;&#039; This parameter determines how long it takes until a user is automatically logged off for being inactive. The default setting is 15 minutes, although it can be useful to temporarily lengthen this parameter on development sites to avoid having to repeatedly log back in.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Session Handler.&#039;&#039;&#039; Selects the mechanism used to hold session information between one page request and the next one from the same user. The options are “Database” (the default) and “None”. The former stores session information as entries in a table in the site&#039;s Joomla database, the latter uses the session handling mechanism built in to PHP.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;== The Server Tab Options == &amp;lt;!--T:49--&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;=== “Server Settings” Group === &amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Path to Temp Folder.&#039;&#039;&#039; This is the full path to the folder on the server that Joomla and its extensions&amp;amp;nbsp;will use for temporary file storage. This folder location is set up on Joomla installation and should not normally be changed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;GZIP Page Compression.&#039;&#039;&#039; If set to “Yes”, the web server will compress the content sent out from your Joomla site. This will speed-up page load times, especially for web site users who have a low-bandwidth connection. The default setting is “No”.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Error Reporting. &#039;&#039;&#039;This parameter sets the level of error reporting to be used by PHP on the Joomla site. It has five options: System Default, None, Simple, Maximum and Development. “System Default” leaves the level of PHP error reporting to that set up in the server (usually in the &#039;&#039;php.ini&#039;&#039; file). “None” switches off PHP error reporting, and “Simple”, “Maximum” and “Development” override the server setting to give a basic level of reporting (for “Simple”) and the reporting of all errors (“Maximum” and “Development”). &amp;lt;br/&amp;gt;&#039;&#039;&#039;Tip:&#039;&#039;&#039; Should your Joomla site fail to the extent that it is not possible to use the Administrator pages to activate error reporting, you can switch on full PHP error reporting by editing the &#039;&#039;configuration.php&#039;&#039; file. Changing the &#039;&#039;$error_reporting&#039;&#039; parameter in that file to a value of &#039;maximum&#039; is the equivalent to setting Error Reporting to “Maximum”.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Force SSL.&#039;&#039;&#039; This parameter has three options: “None”, “Administrator Only”, and “Entire Site”. Using the appropriate setting, this parameter forces any web browser connections to the administrative “backend”, or to the complete Joomla site, to use the secure HTTP protocol (HTTPS). The “Entire Site” setting is appropriate where security of any web transaction (e.g. e-commerce) is important. Ideally there should also be an appropriate certificate in place to verify the identity of your web site. The “Administrator Only” setting is ideal for enhancing the security of other types of web site as it encrypts “backend” content and passwords that could be put to malicious use if intercepted. &amp;lt;br/&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; before moving away from the default setting of “None”, it is essential that you check the server delivering your web site is capable of operating in HTTPS mode.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== “Location Settings” Group === &amp;lt;!--T:54--&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Server Time Zone.&#039;&#039;&#039; Sets the time zone for use across the web site, based on a choice of capital cities. (default is “London”, UTC 00:00) Internally, Joomla stores the [[wikipedia:Coordinated_Universal_Time|date and time of events as UTC]]. It then uses “Server Time Zone” to set the appropriate offset to display time and date information on the web site in the server&#039;s local time zone. &#039;&#039;&#039;Note:&#039;&#039;&#039; that each user also has a time zone parameter that, by default, is the same as the Server Time Zone but which may be changed to reflect the preferred time zone of that user.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== “FTP Settings” Group === &amp;lt;!--T:56--&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
A significant problem with running scripted programs – such as Joomla – on Linux and similar servers is that the files and folders making up the program are not owned by the same identity as the one used to execute the web server code. The files and folders making up the web site will usually be put in place on the server by means of FTP, and thus will be owned by the personal log-in identity used for FTP access. In contrast, the web server code will be executed by a generic identity used for automatic processes within the server.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
Because of this difference between the FTP upload and web server identities, automatic updates of the web site code (e.g. installing or updating extensions) will be blocked by the security features that prevent one user&#039;s files being altered by another user.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
One solution to this problem is for Joomla to use FTP when installing or deleting files, and if this is used it is essential that the FTP log-on credentials are the same as those used when installing the Joomla web site.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
The FTP option is generally only needed on shared servers using Linux and Unix-like operating systems. The problem does not arise with other operating systems, and on dedicated servers there is the alternative option of changing the ownership and/or permissions of the web site files so that they may be modified by the web server processes.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
FTP is also not necessary when the Joomla site has been set up to operate under CGI or FastCGI as the web server process then generally operates under the same identity as the one used for FTP access.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Enable FTP.&#039;&#039;&#039; Setting this to “Yes” will force Joomla to use FTP when adding, deleting, or updating web site files. This is in place of the PHP functions which would normally be used to do this. The default setting is “No”, and should not be changed unless FTP upload is necessary (see the detail above).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;FTP Host.&#039;&#039;&#039; The URL to be used for FTP access to the Joomla web site files.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;FTP Port. &#039;&#039;&#039;Generally “21”. You will be advised by your web hosting provider if a different port number needs to be used for FTP access to your site files.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;FTP Username.&#039;&#039;&#039; The user identity that Joomla will use for FTP access. This must be the same identity as used in setting up the web site.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;FTP Password. &#039;&#039;&#039;The password for the above user identity.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;FTP Root.&#039;&#039;&#039; This is the path from the FTP log-in location to the folder that holds the Joomla site.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== “Database Settings” Group === &amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
These parameters identify the database location, the database and tables within that database that hold configuration and content information for your web site. It also includes the username required for accessing the database contents, but &#039;&#039;&#039;not&#039;&#039;&#039; the password associated with that username. Should you need to change the database password, edit the line defining the value of &#039;&#039;$password&#039;&#039; in the file &#039;&#039;configuration.php&#039;&#039;, which you will find in the Joomla root.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Database Type.&#039;&#039;&#039; This determines the type of the database being used by this Joomla installation and also the type of interface used to access the database. Current versions of Joomla can operate on MySQL, MSSQL and PostgreSQL. For MySQL there are two choices:“MySQL” and “MySQLi”. These are two different PHP interfaces to MySQL databases. The latter should be used if possible as it should work with all modern implementations of MySQL server, and offers a number of advantages over the MySQL interface.&amp;lt;ref&amp;gt;[http://php.net/manual/en/mysqli.overview.php PHP MySQLi Overview]&amp;lt;/ref&amp;gt; For MSSQL also two choices: MS SQL Server and MS SQL Azure.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Host &#039;&#039;&#039;(&#039;&#039;&#039;Hostname&#039;&#039;&#039; in v1.5,x). The hostname of the database server to be used. In most web hosting situations, the database server is located in the same system as the web server and this parameter should then be set to “localhost”. Otherwise this setting should be the server name or IP address (e.g. “mysql.example.com”).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Database Username&#039;&#039;&#039; (&#039;&#039;&#039;Username&#039;&#039;&#039; in v1.5.x). The username required to access the database carrying the Joomla site&#039;s data tables.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Database Name&#039;&#039;&#039; (&#039;&#039;&#039;Database&#039;&#039;&#039; in v1.5.x). The name of the database carrying the Joomla site&#039;s data tables.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Database Table Prefix. &#039;&#039;&#039;The prefix applied to the name of the database tables used by this Joomla installation. For Joomla v1.5.x and v1.6.x this is “jos_” by default, and should another Joomla site have to share the same database, the database tables would be kept separate by setting up this second site with a different prefix – e.g. “jos2_”. With Joomla v1.7.x the same result is achieved by using a prefix that is a randomly generated alphabetic code and underscore – e.g. “vduea_”.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;=== “Mail Settings” Group === &amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
This group is used to set up the sending of automatically generated emails from the Joomla! web site.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Mailer.&#039;&#039;&#039; This sets the mechanism to be used when sending automatically generated emails. The choice is between “PHP Mail” (the PHP &#039;&#039;mail()&#039;&#039; function), “Sendmail” (an email handling program available in many web servers), or “SMTP” (a separate email delivery server similar to those used by most email clients). The default setting is “PHP Mailer”.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;From email&#039;&#039;&#039; (&#039;&#039;&#039;Mail from&#039;&#039;&#039; in v1.5.x). The email address to be used as “from” address in any outgoing emails generated by the Joomla site.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;From Name.&#039;&#039;&#039; This defines the “from” name in any outgoing emails generated by the Joomla site.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039; Disable Mass Mail.&#039;&#039;&#039; Select &amp;quot;Yes&amp;quot; to disable the Mass Mail Users function, select &amp;quot;No&amp;quot; to make it active. Mass Mail allows to send emails to all or to a specific group of registered users.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
The remaining Mail Settings parameters need to be set up only if Mailer is set to “SMTP”.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SMTP Authentication. &#039;&#039;&#039;Whether or not the external SMTP server requires authentication before accepting outgoing emails. The default is “No”.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SMTP Security. &#039;&#039;&#039;The form of security required by the SMTP server. – “None”, “SSL” or “TLS”. The default is “None”.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SMTP Port. &#039;&#039;&#039;The IP port to use when connecting to the SMTP server. This will usually be “25” for None, or “465” for SSL or TLS.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SMTP Username. &#039;&#039;&#039;The username to be used when connecting to the SMTP server in SSL or TLS mode. May be left blank if there is no SMTP authentication.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SMTP Password.&#039;&#039;&#039; The password to be used when connecting to the SMTP server in SSL or TLS mode. May be left blank if there is no SMTP authentication.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;SMTP Host. &#039;&#039;&#039;The hostname of the SMTP server (e.g. “smtp.example.com”).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;== The Permissions Tab Options == &amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
This tab is only present in Joomla v1.6.x and later as it reflects the enhanced flexibility of access control introduced with v1.6. It provides the means to set up the default permissions for all of the groups of users in terms their ability to edit site content and other settings of the site, and to access administrative functions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
There are comprehensive descriptions of the use of the settings under this tab and the general principles of operation and set-up of permissions in Joomla v1.6 and later here: [[S:MyLanguage/J3.x:Access Control List Tutorial#Global_Configuration|ACL Tutorial for Joomla 3.x]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;==References== &amp;lt;!--T:88--&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
[[Category:Joomla! 3.x]]&lt;br /&gt;
[[Category:Joomla! 3.0]]&lt;br /&gt;
[[Category:Joomla! 3.4]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Security]]&lt;br /&gt;
[[Category:Global Configuration Management]]&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Web_page_diagnostic_tools&amp;diff=147880</id>
		<title>Web page diagnostic tools</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Web_page_diagnostic_tools&amp;diff=147880"/>
		<updated>2015-01-04T09:47:22Z</updated>

		<summary type="html">&lt;p&gt;Toivo: Fixed broken links to Firefox addons, added Joomla Developer Toolbox&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Many browsers can act as platforms for diagnostic tools. You can analyze Web pages built with any version of Joomla by using them. These browser tools have many built-in features such as a DOM Inspector, JavaScript Debugger, Network Inspector, Resources Inspector, Storage Inspector, Profiler, Error Log, Remote Debugging, etc. These tools make it easier to see and debug exactly what is being processed by a browser when rendering a web page.&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{RightTOC}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
=== Mozilla Firefox Web Browser ===&lt;br /&gt;
* [http://getfirebug.com Firebug] is an Add-on for Firefox 1.5+ &lt;br /&gt;
::For more information, please watch [[Using Firebug With Your Joomla Website|the free video tutorial on using Firebug with Joomla]].)&lt;br /&gt;
::[[File:Screenshot-368firebug.png|350px]]&lt;br /&gt;
{{clear}}&lt;br /&gt;
* [http://addons.mozilla.org/en-US/firefox/addon/web-developer Web Developer] toolbar (Firefox 1+, Flock, Seamonkey)&lt;br /&gt;
* [http://addons.mozilla.org/en-US/firefox/addon/css-viewer CSS Viewer] (Firefox 1.5+)&lt;br /&gt;
* [http://addons.mozilla.org/en-US/firefox/collections/joomla-quickstart/joomla-developer-toolbox/ Joomla Developer Toolbox - a collection of essential extensions for web developers] (Firefox 1+)&lt;br /&gt;
&lt;br /&gt;
=== Internet Explorer Web Browser ===&lt;br /&gt;
* [http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038 Microsoft Internet Explorer Developer Toolbar] (MSIE 7)&lt;br /&gt;
* [http://www.debugbar.com/?langage=en DebugBar] (MSIE 5 - 8, free for personal use)&lt;br /&gt;
* MSIE 8+, press SHIFT+F12 or click the [http://msdn.microsoft.com/en-us/library/cc304131(VS.85).aspx Developer Tools] icon in the command bar&lt;br /&gt;
* Users of Office XP and later may also install the &amp;quot;Script Debugger&amp;quot; via Office Setup. (The debugger is not installed by default.)&lt;br /&gt;
&lt;br /&gt;
=== Opera Web Browser ===&lt;br /&gt;
Opera has a built-in diagnostic tool called Dragonfly.&lt;br /&gt;
When viewing the page, right click and choose &amp;quot;Inspect Element&amp;quot; to start Dragonfly.&lt;br /&gt;
* [http://www.opera.com/dragonfly/documentation/ Introduction to Opera Dragonfly] (Opera 10+)&lt;br /&gt;
{{#ev:youtube|BeTzJ-HGLo4}}&lt;br /&gt;
=== Safari Web Browser ===&lt;br /&gt;
* How to enable the [http://developer.apple.com/internet/safari/faq.html#anchor14 Safari 3.x Developer Menu] ({{os|mac}} {{os|win}})&lt;br /&gt;
* [http://webkit.org/blog/61/introducing-drosera/ WebKit Drosera JavaScript Debugger] ({{os|mac}} WebKit: {{os|linux}})&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Development Reference]]&lt;br /&gt;
[[Category:Template Development]]&lt;br /&gt;
[[Category:Template Reference]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Chunk:Module_Position&amp;diff=121706</id>
		<title>Chunk:Module Position</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Chunk:Module_Position&amp;diff=121706"/>
		<updated>2014-06-27T20:30:05Z</updated>

		<summary type="html">&lt;p&gt;Toivo: &amp;#039;They&amp;#039; replaced with &amp;#039;Placeholders&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
A module position is a placeholder in a [[template]]. Placeholders identify one or several positions within the template and tell the Joomla! application where to place output from modules assigned to a particular position. The template designer has complete control over module positions, creating variations between templates and the respective Joomla! default positions assigned to modules in the installation sample data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
For example, the module position &#039;&#039;&#039;Left&#039;&#039;&#039; could be defined to be on the left side of the template to display a site navigation menu. So if a module is assigned the &#039;&#039;&#039;Left&#039;&#039;&#039; position, it will be displayed wherever the designer puts that &#039;&#039;&#039;Left&#039;&#039;&#039; module position - not necessarily the left side of the page.&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Glossary definitions|{{PAGENAME}}]]&amp;lt;/noinclude&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
== Languages == &lt;br /&gt;
&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_do_I_use_Gmail_as_my_mail_server%3F&amp;diff=118051</id>
		<title>How do I use Gmail as my mail server?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_do_I_use_Gmail_as_my_mail_server%3F&amp;diff=118051"/>
		<updated>2014-05-05T10:07:20Z</updated>

		<summary type="html">&lt;p&gt;Toivo: explained uncommenting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have a working Gmail account you can use Gmail as your mail server by setting it in the global configuration.&lt;br /&gt;
&lt;br /&gt;
On the server tab set the following:&lt;br /&gt;
&lt;br /&gt;
*Mailer: SMTP&lt;br /&gt;
*Set the next three lines with your information, leave your path untouched unless you are sure it needs to change for some reason.&lt;br /&gt;
*SMTP Authentication: Yes&lt;br /&gt;
*SMTP Security: SSL&lt;br /&gt;
*SMTP Port 465&lt;br /&gt;
*SMTP username: your gmail username&lt;br /&gt;
*SMTP password: your gmail password&lt;br /&gt;
*SMTP host: smtp.gmail.com&lt;br /&gt;
&lt;br /&gt;
The following is also a working combination:&lt;br /&gt;
*SMTP Security: TLS&lt;br /&gt;
*SMTP Port 587&lt;br /&gt;
&lt;br /&gt;
The SSL module does not need to be enabled in Apache. &lt;br /&gt;
&lt;br /&gt;
The OpenSSL extension needs to be enabled in PHP. The details can be found at http://www.php.net/manual/en/openssl.installation.php &lt;br /&gt;
&lt;br /&gt;
If you are using WAMP on Windows, the openssl module is not enabled by default and you need to enable it. To do this:&lt;br /&gt;
# Open the php.ini file and uncomment the line &amp;lt;code&amp;gt;extension=php_openssl.dll&amp;lt;/code&amp;gt; by removing the semicolon ; from the beginning of the line.&lt;br /&gt;
# Save the php.ini file and restart the Apache service.&lt;br /&gt;
&lt;br /&gt;
{{tip|title=Note|Note that if you use 2-step verification in Gmail, you need to add a new password in Settings - Accounts - Change accounts settings - Other Google Account settings - Security - 2-step verification - Manage your application specific passwords.}}&lt;br /&gt;
&lt;br /&gt;
When the new Application Specific Password (ASP) is presented in groups of four characters separated by spaces, make sure that you &#039;&#039;&#039;do NOT enter the spaces&#039;&#039;&#039; into the SMTP password in the mail server settings in Joomla.&lt;br /&gt;
&lt;br /&gt;
* Application Specific Passwords (ASPs): https://support.google.com/accounts/answer/185833&lt;br /&gt;
* 2-Step Verification: https://support.google.com/accounts/answer/1070457&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:FAQ]][[Category:Server configurations]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_do_I_use_Gmail_as_my_mail_server%3F&amp;diff=107213</id>
		<title>How do I use Gmail as my mail server?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_do_I_use_Gmail_as_my_mail_server%3F&amp;diff=107213"/>
		<updated>2014-01-25T12:21:15Z</updated>

		<summary type="html">&lt;p&gt;Toivo: Corrected references to SSL in Apache, added the need for SSL in PHP, added links to Google ASP and 2-step verification instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have a working Gmail account you can use Gmail as your mail server by setting it in the global configuration.&lt;br /&gt;
&lt;br /&gt;
On the server tab set the following:&lt;br /&gt;
&lt;br /&gt;
*Mailer: SMTP&lt;br /&gt;
*Set the next three lines with your information, leave your path untouched unless you are sure it needs to change for some reason.&lt;br /&gt;
*SMTP Authentication: Yes&lt;br /&gt;
*SMTP Security: SSL&lt;br /&gt;
*SMTP Port 465&lt;br /&gt;
*SMTP username: your gmail username&lt;br /&gt;
*SMTP password: your gmail password&lt;br /&gt;
*SMTP host: smtp.gmail.com&lt;br /&gt;
&lt;br /&gt;
The following is also a working combination:&lt;br /&gt;
*SMTP Security: TLS&lt;br /&gt;
*SMTP Port 587&lt;br /&gt;
&lt;br /&gt;
The SSL module does not need to be enabled in Apache. &lt;br /&gt;
&lt;br /&gt;
The OpenSSL extension needs to be enabled in PHP. The details can be found at [http://www.php.net/manual/en/openssl.installation.php] &lt;br /&gt;
&lt;br /&gt;
If you are using WAMP on Windows, the openssl module is not enabled by default and you need to enable it. To do this:&lt;br /&gt;
# Open the php.ini file and uncomment out the line &amp;lt;code&amp;gt;extension=php_openssl.dll&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Save the php.ini file and restart the Apache service.&lt;br /&gt;
&lt;br /&gt;
Note that if you use 2-step verification in Gmail, you need to add a new password in Settings - Accounts - Change accounts settings - Other Google Account settings - Security - 2-step verification - Manage your application specific passwords.  &lt;br /&gt;
&lt;br /&gt;
When the new Application Specific Password (ASP) is presented in groups of four characters separated by spaces, make sure that you do NOT enter the spaces into the SMTP password in the mail server settings in Joomla.&lt;br /&gt;
&lt;br /&gt;
Application Specific Passwords (ASPs): [https://support.google.com/accounts/answer/185833]&lt;br /&gt;
&lt;br /&gt;
2-Step Verification: [https://support.google.com/accounts/answer/1070457]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:FAQ]][[Category:Server configurations]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=What_do_the_locks_mean_and_how_do_you_get_rid_of_them%3F&amp;diff=104724</id>
		<title>What do the locks mean and how do you get rid of them?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=What_do_the_locks_mean_and_how_do_you_get_rid_of_them%3F&amp;diff=104724"/>
		<updated>2013-11-04T10:58:10Z</updated>

		<summary type="html">&lt;p&gt;Toivo: Added reference to the &amp;quot;Close&amp;quot; button and the tooltip popup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At any given time you may see a padlock next to a specific item in Joomla!&#039;s administrative backend. These padlocks may be displayed next to any of the following (Content Items, Menu Items, Modules, etc).&lt;br /&gt;
&lt;br /&gt;
The Joomla! system places these padlocks next to an item to indicate that a user is currently editing the item (i.e. the item is &amp;quot;checked out&amp;quot;). The lock is removed when the user clicks on the &amp;quot;Save&amp;quot; or &amp;quot;Close&amp;quot; button for that item. If the user never clicks &amp;quot;Save&amp;quot; or &amp;quot;Close&amp;quot; and instead hits the &amp;quot;Back&amp;quot; button or navigates to another page, then the item remains locked. If a different user needs to work with an item that is in the &amp;quot;checked out&amp;quot; state he or she must first ask a manager or administrator to check the item in before any new changes can be made.&lt;br /&gt;
&lt;br /&gt;
=Joomla 2.5 and newer {{JVer|2.5}}{{JVer|3.x}}=&lt;br /&gt;
There are three ways of checking items back in. One way is to contact the person that has the item checked out to see if they are done with the item.  You can hover the cursor above the lock and the tooltip popup will display the name of the user who checked out the article.&lt;br /&gt;
&lt;br /&gt;
If you have access to the administrative backend and sufficient rights and can also either click on the padlock to check only this item back in or click on Site-&amp;gt;Maintenance-&amp;gt;Global Check-in to check all items in.&lt;br /&gt;
&lt;br /&gt;
The later option should be used very carefully, especially in multi-user environments. This single action checks in all previously checked out items, whether they were checked out by you or not. Possible undesirable side effects may be that multiple editors end up working on the same document. In this case whoever clicks the save button last has their version saved as the final copy.&lt;br /&gt;
&lt;br /&gt;
=Joomla 1.5 and older {{JVer|1.0}}{{JVer|1.5}}=&lt;br /&gt;
There are two ways of checking items back in. One way is to contact the person that has the item checked out to see if they are done with the item.  This can be difficult if you do not know who has the item checked out.&lt;br /&gt;
&lt;br /&gt;
The other option utilises the administrative back end; Click on &amp;quot;System =&amp;gt; Global check in&amp;quot; This option should be used very carefully, especially in multi-user environments. This single action checks in all previously checked out items, whether they were checked out by you or not. Possible undesirable side effects may be that multiple editors end up working on the same document. In this case whoever clicks the save button last has their version saved as the final copy. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:FAQ]]&lt;br /&gt;
[[Category:Administration FAQ]]&lt;br /&gt;
[[Category:Getting Started FAQ]]&lt;br /&gt;
[[Category:Version 1.0 FAQ]]&lt;br /&gt;
[[Category:Version 1.5 FAQ]]&lt;br /&gt;
[[Category:Version 1.6 FAQ]]&lt;br /&gt;
[[Category:Version 1.7 FAQ]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_do_I_use_Gmail_as_my_mail_server%3F&amp;diff=104291</id>
		<title>How do I use Gmail as my mail server?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_do_I_use_Gmail_as_my_mail_server%3F&amp;diff=104291"/>
		<updated>2013-10-10T14:01:20Z</updated>

		<summary type="html">&lt;p&gt;Toivo: fixed typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have a working Gmail account you can use Gmail as your mail server by setting it in the global configuration.&lt;br /&gt;
&lt;br /&gt;
On the server tab set the following:&lt;br /&gt;
&lt;br /&gt;
*Mailer: SMTP&lt;br /&gt;
*Set the next three lines with your information, leave your path untouched unless you are sure it needs to change for some reason.&lt;br /&gt;
*SMTP Authentication: Yes&lt;br /&gt;
*SMTP Security: SSL&lt;br /&gt;
*SMTP Port 465&lt;br /&gt;
*SMTP username: your gmail username&lt;br /&gt;
*SMTP password: your gmail password&lt;br /&gt;
*SMTP host: smtp.gmail.com&lt;br /&gt;
&lt;br /&gt;
The following is also a working combination:&lt;br /&gt;
*SMTP Security: TLS&lt;br /&gt;
*SMTP Port 587&lt;br /&gt;
&lt;br /&gt;
The SSL module must be enabled in apache. If it is not, enable it with a2enmod ssl &lt;br /&gt;
&lt;br /&gt;
Note that if you are using WAMP on Windows, you may need to enable the openssl module (which is not enabled by default). To do this:&lt;br /&gt;
# Open the php.ini file and uncomment out the line &amp;lt;code&amp;gt;extension=php_openssl.dll&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Save the php.ini file and restart the Apache service.&lt;br /&gt;
&lt;br /&gt;
Note that if you use 2-step verification in Gmail, you need to add a new password in Settings - Accounts - Change accounts settings - Other Google Account settings - Security - 2-step verification - Manage your application specific passwords.  When the new password is presented in groups of four characters separated by spaces, do NOT enter the spaces into the SMTP password in the mail server settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:FAQ]][[Category:Server configurations]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=How_do_I_use_Gmail_as_my_mail_server%3F&amp;diff=104031</id>
		<title>How do I use Gmail as my mail server?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=How_do_I_use_Gmail_as_my_mail_server%3F&amp;diff=104031"/>
		<updated>2013-09-29T16:36:26Z</updated>

		<summary type="html">&lt;p&gt;Toivo: Added TSL option, SSLSessionCache setting for WAMP, note about 2-step verification&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you have a working Gmail account you can use Gmail as your mail server by setting it in the global configuration.&lt;br /&gt;
&lt;br /&gt;
On the server tab set the following:&lt;br /&gt;
&lt;br /&gt;
*Mailer: SMTP&lt;br /&gt;
*Set the next three lines with your information, leave your path untouched unless you are sure it needs to change for some reason.&lt;br /&gt;
*SMTP Authentication: Yes&lt;br /&gt;
*SMTP Security: SSL&lt;br /&gt;
*SMTP Port 465&lt;br /&gt;
*SMTP username: your gmail username&lt;br /&gt;
*SMTP password: your gmail password&lt;br /&gt;
*SMTP host: smtp.gmail.com&lt;br /&gt;
&lt;br /&gt;
The following is also a working combination:&lt;br /&gt;
*SMTP Security: TSL&lt;br /&gt;
*SMTP Port 587&lt;br /&gt;
&lt;br /&gt;
The SSL module must be enabled in apache. If it is not, enable it with a2enmod ssl &lt;br /&gt;
&lt;br /&gt;
Note that if you are using WAMP on Windows, you may need to enable the openssl module (which is not enabled by default). To do this:&lt;br /&gt;
# Open the php.ini file and uncomment out the line &amp;lt;code&amp;gt;extension=php_openssl.dll&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Save the php.ini file and restart the Apache service.&lt;br /&gt;
&lt;br /&gt;
Note that if you use 2-step verification in Gmail, you need to add a new password in Settings - Accounts - Change accounts settings - Other Google Account settings - Security - 2-step verification - Manage your application specific passwords.  When the new password is presented in groups of four characters separated by spaces, do NOT enter the spaces into the SMTP password in the mail server settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:FAQ]][[Category:Server configurations]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Talk:How_do_you_recover_or_reset_your_admin_password%3F&amp;diff=14144</id>
		<title>Talk:How do you recover or reset your admin password?</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Talk:How_do_you_recover_or_reset_your_admin_password%3F&amp;diff=14144"/>
		<updated>2009-05-10T00:44:06Z</updated>

		<summary type="html">&lt;p&gt;Toivo: /* LAST_INSERT_ID( ) */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I think this will not work anymore, because in Joomla 1.5 an additional $salt parameter is used to encrypt the password. In the usertable the password is stored in the format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$encript:$salt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so simple md5 hashed passwords will not work anymore...&lt;br /&gt;
&lt;br /&gt;
== Worked for me ==&lt;br /&gt;
&lt;br /&gt;
It worked for me when I tested it. [[User:Dextercowley|Mark Dexter]] 15:08, 4 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== md5 CAN Be used in Joomla 1.5.7 ==&lt;br /&gt;
&lt;br /&gt;
Trust me :-) You can put in an md5 in the database as the password, When that user tries to login Joomla will notice that the password is md5 hashed and will then UPGRADE that password to a SALTED password, saving the result back to the database - thats why it works :-) [[User:Prazgod|Phil Taylor]]&lt;br /&gt;
&lt;br /&gt;
== LAST_INSERT_ID( ) ==&lt;br /&gt;
&lt;br /&gt;
Depending on the version of the MySQL server, the function LAST_INSERT_ID( ) can produce 0 and the recovery procedure fails.  &lt;br /&gt;
&lt;br /&gt;
You can insert the admin2 user into the last two tables &#039;manually&#039;. Run this query to find out the id of the admin2 user:&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM `jos_users`&lt;br /&gt;
WHERE username = &#039;admin2&#039;&lt;br /&gt;
&lt;br /&gt;
Use the value of id in the next query to replace 9999:&lt;br /&gt;
&lt;br /&gt;
INSERT INTO `jos_core_acl_aro` VALUES (NULL, &#039;users&#039;, 9999, 0, &#039;Administrator&#039;, 0);&lt;br /&gt;
&lt;br /&gt;
Use the value of id to replace 9999 to find out aro_id:&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM `jos_core_acl_aro`&lt;br /&gt;
WHERE value = 9999&lt;br /&gt;
&lt;br /&gt;
Use the value of aro_id in the last query to replace 8888:&lt;br /&gt;
&lt;br /&gt;
INSERT INTO `jos_core_acl_groups_aro_map` VALUES (25, &#039;&#039;, 8888);&lt;br /&gt;
&lt;br /&gt;
[[User:Toivo|Toivo]] 00:44, 10 May 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Toivo</name></author>
	</entry>
</feed>