<?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=Nikosdion</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=Nikosdion"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Nikosdion"/>
	<updated>2026-09-05T12:23:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Talk:Htaccess_examples_(security)&amp;diff=919856</id>
		<title>Talk:Htaccess examples (security)</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Talk:Htaccess_examples_(security)&amp;diff=919856"/>
		<updated>2022-06-08T11:28:59Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: /* Edit Requests 8 Jun 2022 11:26 */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It could be useful to add some explanations of what these settings do. [[User:Jossi|Jossi]] 16:53, 6 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== move olddomain redirect? ==&lt;br /&gt;
&lt;br /&gt;
Why not move the olddomain redirect section to its own code block, or in the other useful settings code block.&lt;br /&gt;
&lt;br /&gt;
== Edit Requests 9 Dec 2014 15:03 ==&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
This .htaccess file only allows tmpl=system and tmpl=component. It is possible for developers and templates to provide more options as we do in Nooku Framework.&lt;br /&gt;
&lt;br /&gt;
This rule also does not stop people from fingerprinting Joomla sites either as any URL can still be accessed with tmpl=component.&lt;br /&gt;
&lt;br /&gt;
So I would like to request the removal of the |mpl part in the following line:&lt;br /&gt;
&lt;br /&gt;
RewriteCond %{QUERY_STRING} (^|&amp;amp;)t(p|emplate|mpl)= [NC]&lt;br /&gt;
&lt;br /&gt;
More info and explanation can be found in the below links:&lt;br /&gt;
&lt;br /&gt;
https://github.com/nikosdion/master-htaccess/issues/1&lt;br /&gt;
https://github.com/nikosdion/master-htaccess/pulls/2&lt;br /&gt;
&lt;br /&gt;
:Hi, if you would like to put this forth you will have to create an issue on http://issues.joomla.org, and submit a PR for consideration. Please know, the examples you cited are considered not acceptable now by Nic. Thanks [[User:Tom Hutchison|Tom Hutchison]] ([[User talk:Tom Hutchison|talk]]) 08:05, 19 December 2014 (CST)&lt;br /&gt;
&lt;br /&gt;
== Edit Requests 8 Jun 2022 11:26 ==&lt;br /&gt;
&lt;br /&gt;
The .htaccess example contains a very, VERY old reference to Admin Tools&#039; Joomla Update which has been superseded twice by the core Joomla! Update.&lt;br /&gt;
&lt;br /&gt;
As per https://github.com/joomla/joomla-cms/pull/35388 we need to change&lt;br /&gt;
&lt;br /&gt;
## Allow Admin Tools Joomla! updater to run&lt;br /&gt;
RewriteRule ^administrator/components/com_admintools/restore\.php$ - [L]&lt;br /&gt;
&lt;br /&gt;
with&lt;br /&gt;
&lt;br /&gt;
## Joomla! Update (core feature) — Joomla versions 2.5.1 through 4.0.2&lt;br /&gt;
RewriteRule ^administrator\/components\/com_joomlaupdate\/restore\.php$ - [L]&lt;br /&gt;
## Joomla! Update (core feature) — Joomla versions 4.0.3 and later&lt;br /&gt;
RewriteRule ^administrator\/components\/com_joomlaupdate\/extract\.php$ - [L]&lt;br /&gt;
&lt;br /&gt;
I would do it myself but I do not have the edit rights.&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Updating_from_an_existing_version&amp;diff=919855</id>
		<title>J4.x:Updating from an existing version</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Updating_from_an_existing_version&amp;diff=919855"/>
		<updated>2022-06-08T11:25:57Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Added troubleshooting information from https://github.com/joomla/joomla-cms/pull/35388&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
{{note|&amp;lt;center&amp;gt;&amp;lt;big&amp;gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Always back up your site before updating.&#039;&#039;&#039;&amp;lt;/translate&amp;gt;&amp;lt;/big&amp;gt;&amp;lt;/center&amp;gt;|type=serious}}&lt;br /&gt;
==Introduction==&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
The recommended way to update installations of Joomla! is to use the Joomla Update Component.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A standard installation of Joomla 4 includes a helpful notifications panel on the Home Dashboard after logging in. You can see at a glance if an update is available and the version number.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Although Joomla will notify you when an update is available, it requires you to carry out the update. It is a straight forward process and should be carried out at the earliest opportunity to keep the site up to date.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
If you are updating from a Joomla version prior to 4.x please see one or more of the following:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
* [[S:MyLanguage/Potential_backward_compatibility_issues_in_Joomla_4|Potential backward compatibility issues in Joomla 4]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
* [[S:MyLanguage/Joomla_3.x_to_4.x_Step_by_Step_Migration|Joomla 3.x to 4.x Step by Step Migration]]&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
* Updating 1.x or 2.x to 3.x: use [[S:MyLanguage/J3.x:Updating Joomla (Install Method)|Updating Joomla (Install Method)]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;==Accessing the Update Component==&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
If the notifications panel is displayed in the Home Dashboard, clicking the notification takes you straight to the Update Component. &amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:j4x_joomla_update_notification-&amp;lt;translate&amp;gt;&lt;br /&gt;
en&amp;lt;/translate&amp;gt;.png|border|800px]]&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Alternatively, to access the Update Component from the Administrator sidebar menu, click &#039;&#039;&#039;System&#039;&#039;&#039;. This will take you to the &#039;&#039;&#039;System Dashboard&#039;&#039;&#039;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:j4x_joomla_system_dashboard_update-&amp;lt;translate&amp;gt;&lt;br /&gt;
en&amp;lt;/translate&amp;gt;.png|border|800px]]&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
The System Dashboard has an &#039;&#039;Update Panel&#039;&#039; which includes a Joomla link that will show the available update version number. Click the &#039;&#039;&#039;Joomla&#039;&#039;&#039; link and you will be taken to the Update Component.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;==Carrying out the Update==&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:j4x_joomla_pre_update_check-&amp;lt;translate&amp;gt;&lt;br /&gt;
en&amp;lt;/translate&amp;gt;.png|border|800px]]&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
When you arrive at the Joomla Update Component you will be presented with a Pre-Update Check which provides you with information about the readiness of your server, settings and installed extensions for the update.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Pay careful attention to these and take action to rectify any issues highlighted before updating. You may need to double check extensions and update them first if necessary.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;It is not uncommon to see warnings for &#039;&#039;Recommended Settings&#039;&#039; as these are often server specific and hosting related - it is likely they existed when you installed Joomla and most likely won&#039;t prevent the update from happening.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note the reminder that you are strongly advised to take a backup if you haven&#039;t already!&#039;&#039;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
There is a link below the update button. In most cases you can ignore this link. It provides an option to manually upload  the update files if your server is behind a firewall or otherwise unable to contact the Joomla update servers.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
When you have reviewed the Pre-Update Check and are happy, click &#039;&#039;&#039;Update&#039;&#039;&#039;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;===Confirming the Update===&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:j4x_joomla_start_update-&amp;lt;translate&amp;gt;&lt;br /&gt;
en&amp;lt;/translate&amp;gt;.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;Click the checkbox to confirm you have made a backup and checked extensions are compatible then click the &#039;&#039;&#039;Start Update&#039;&#039;&#039;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;===Update Progress===&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:j4x_joomla_update_progress-&amp;lt;translate&amp;gt;&lt;br /&gt;
en&amp;lt;/translate&amp;gt;.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;Once the update starts a progress bar will appear as the Joomla files are updated.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;===Completion===&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:j4x_joomla_updated-&amp;lt;translate&amp;gt;&lt;br /&gt;
en&amp;lt;/translate&amp;gt;.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;When the progress bar reaches 100% a system message will confirm your site has been updated and the version number. The version number will also update in the top toolbar, next to the site name.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Click the &#039;&#039;&#039;Back&#039;&#039;&#039; button and you will be returned to the Joomla Update Component where it is possible to check for updates again.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;==Post Update Checks==&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Once the update is complete you should carry out some checks to make sure everything went as expected, that no errors are present and that there have been no changes that require further action.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;===Frontend Check===&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Go to the front end of the website and check it is working and displaying as it did prior to the update.&lt;br /&gt;
&lt;br /&gt;
As a matter of course, clear your browser cache as this will load any changes to stylesheets and scripts.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;===System Checks===&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;Joomla makes it easy to do a &amp;quot;health&amp;quot; check. From the sidebar menu click &#039;&#039;&#039;System&#039;&#039;&#039; to be taken to the System Dashboard. This gives you an overview of the current status of your Joomla site.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:j4x_system_dashboard-&amp;lt;translate&amp;gt;&lt;br /&gt;
en&amp;lt;/translate&amp;gt;.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
In this example we can see that since the update we have two items that require attention. They are marked with a label that includes a number. The number relates to how many items require attention. Clicking on each one will allow you to fix them.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039; The System Dashboard makes a check each time the page is loaded. Bear in mind that browser caching settings could affect this. It&#039;s good practice to clear the browsers cache when checking.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Recommended Steps and actions:&#039;&#039;&#039;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
It is recommended that you follow these steps when updating a production site:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
# Back up your site before updating to a new version. That way, if something goes wrong during the update process, you can easily restore your site to the earlier version.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
# Review the release notes for the new version to be familiar with what was changed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
# Update using one of the recommended methods outlined in this document. These methods install the new program files, delete unneeded old program files, and update the database as needed for the new Joomla version.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
# Clear your browser cache and check that the update was successful, using the steps outlined in the &#039;&#039;&#039;Checking Site&#039;&#039;&#039; tab.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Checking Your Site==&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
After an update, it is a good idea to clear your browser cache and check your site to make sure the update was successful. There are two quick checks you can do from the Extension Manager.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Navigate to Extension Manager{{rarr}}Database. If your database is up to date, you should see a screen similar to the one below:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:j4x-update-screenshot-db-ok-&amp;lt;translate&amp;gt;&lt;br /&gt;
en&amp;lt;/translate&amp;gt;.png|border|800px|&amp;lt;translate&amp;gt;&lt;br /&gt;
Database Screen With No Problems&amp;lt;/translate&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
If your database is not up to date, you will see a screen listing the problems found, similar to the one below:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:j4x-update-screenshot-db-not-ok-&amp;lt;translate&amp;gt;&lt;br /&gt;
en&amp;lt;/translate&amp;gt;.png|border|800px|&amp;lt;translate&amp;gt;&lt;br /&gt;
Database Screen With 3 Database Problems&amp;lt;/translate&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
In this case, press the Fix button in the upper right corner. Joomla will update your database to correct the issues listed and then it will re-display the screen. If the fix was successful, the display will indicate that the database is up to date.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N.B.&#039;&#039;&#039; If any errors still exist make sure all the database tables are checked in.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;==Extension Manager: Discover==&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
In some cases, when you update to a new Joomla version, new core extensions are added. If there were problems with the database update, these extensions may not have been correctly installed. To check this, navigate to {{rarr|System,Discover}}. Then click on the Discover icon in the toolbar. The screen should show as follows:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:j4x-update-screenshot-extensions-&amp;lt;translate&amp;gt;&lt;br /&gt;
en&amp;lt;/translate&amp;gt;.png|border|800px|&amp;lt;translate&amp;gt;&lt;br /&gt;
Discover Screen With No Extensions To Install&amp;lt;/translate&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
If so, you know that any new extensions added during the update were correctly installed in the database.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
If there are uninstalled extensions, they will show similar to the following screen:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:j4x-update-screenshot-uninstalled-ext-&amp;lt;translate&amp;gt;&lt;br /&gt;
en&amp;lt;/translate&amp;gt;.png|border|800px|&amp;lt;translate&amp;gt;&lt;br /&gt;
Discover Screen With One Extension To Install&amp;lt;/translate&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
In this case, check the boxes and click on the Install icon in the toolbar. Joomla will install the extension(s) and then display the screen showing no extensions discovered. At this point, the new extensions have been installed in the database.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;==Troubleshooting==&lt;br /&gt;
If you have any questions, problems or errors before, during or after the update, please ask them on the &#039;&#039;&#039;[[jforum:812|Migrating and Upgrading to Joomla! 4.x Forum]]&#039;&#039;&#039;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
If you have problems or errors during the update process, here are some tips.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
* Clearing your browser cache. There may have been changes to the CSS or Javascript that will need to be reloaded by your Web browser after an update.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
* If any database error messages show after the update, be sure to check the {{rarr|System,Maintenance panel,Database}} link. In some cases, if a database error occurs it will prevent all of the database updates from running. In this case, you can run them from the Database link and then use the {{rarr|System,Install,Discover}} method to check and install any new extensions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Troubleshooting Joomla Update ==&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Joomla Update is a core component which is responsible for determining if there is a newer version of Joomla available for installation of your site, download it (or let you upload it) and install it. It has been available in Joomla since Joomla 2.5.1 and as a third party extension two years prior to that. You can access it at System, Update, Joomla.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
The update process consists of several different steps. While every care has been taken to make this process as trouble–free as possible there&#039;s always a small chance that something may go wrong, typically due to a very restrictive server configuration or network conditions on a very small minority of sites.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
The following troubleshooting instructions are organised by update step to make it easier to find the information you are looking for. Furthermore, it is an exhaustive resource, based on more than a decade of experience troubleshooting all possible (and some borderline impossible) problems with Joomla and extension updates. It lists problems which are extremely unlikely to occur. Don&#039;t let its length scare you; you are very unlikely to ever see any of these problems occur.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Determining if updates exist===&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Joomla will make a request to its update server over HTTPS and download an XML file provided by the Joomla project listing the latest available versions. The update server in use can be determined by going to System, Update, Joomla, clicking on Options and examining which update server is in use. You are recommended to use the &#039;&#039;Default&#039;&#039; update server to receive updates to your current major version of Joomla. Use &#039;&#039;Joomla Next&#039;&#039; when you want to upgrade your site to the next major version of Joomla — this is best done on a copy of your site to avoid any nasty surprises; not all third party extensions and templates will be compatible across major Joomla versions. The major version of Joomla is the first digit in the Joomla version, before the first dot. For example, the major version of Joomla 4.0.1 is 4.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
If Joomla cannot determine that an update is available please check the following:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
* The Joomla Update information is out of date in the database. Go to System, Update, Joomla and click on Check for Updates.&lt;br /&gt;
* The update sites information in Joomla is corrupt. Go to System, Update, Update Sites and click on Rebuild. Then go to System, Update, Joomla and click on Options. Select the Testing update channel. Click on Save &amp;amp; Close. Click on Options again. Select the Default or Joomla Next update channel — depending on your preference — and click on Save &amp;amp; Close.&lt;br /&gt;
* Your host prevents making outbound HTTPS requests at all or restricts them to predefined allowed IP addresses. Please ask them to allow outbound HTTP requests to https://update.joomla.org  This is a CDN, meaning that the exact IP address will be different depending on where the world you are trying to access this URL from. Do tell your host; they will know what to do with this information.&lt;br /&gt;
* Your host may have an outdated SSL library which does not understand the modern TLS certificates used by the Joomla update CDN. Please ask your host about it.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Determining if third party software is compatible with the new version you are about to install===&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Joomla does not have a magical way of evaluating third party code for compatibility. Its report is based solely on the extension information kept in Joomla&#039;s #__extensions table, the update sites provided by the installed extensions and the update information provided by the developers of third party extensions including but not limited to which version of their software is compatible with which version of Joomla.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
If the information displayed is incorrect please check the following:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
* What is the minimum stability for extension updates? Go to System, Update, Extensions and click on Options. The ‘Minimum Extension Stability’ determines which is the minimum stability level of a third party software that Joomla will take into account when evaluating compatibility. For example, if this option is set to Stable but only a beta version of a third party extension is compatible with the Joomla version you want to upgrade to Joomla will tell you that there is no compatible version of the third party extension available.&lt;br /&gt;
* The update information may be out of date. Go to System, Update, Extensions and click on Check For Updates. Then go back to System, Update, Joomla and see if the extension now appears as compatible or if you are told than a compatible update to it is available.&lt;br /&gt;
* The update sites information in Joomla is corrupt. Go to System, Update, Update Sites and click on Rebuild. Then go to System, Update, Joomla and click on Options. Select the Testing update channel. Click on Save &amp;amp; Close. Click on Options again. Select the Default or Joomla Next update channel — depending on your preference — and click on Save &amp;amp; Close.&lt;br /&gt;
* Your host prevents making outbound HTTP/HTTPS requests at all or restricts them to predefined allowed IP addresses. This will prevent Joomla from retrieving update information from third party update sites. First go to System, Update, Update Sites. Below each update site you will see its URL. Make a list of those URLs. Then ask your host to allow your site to make requests to these URLs. Please note that some of these URLs may point to a CDN, meaning that the exact IP address will be different depending on where the world you are trying to access this URL from. Do tell your host; they will know what to do with this information.&lt;br /&gt;
* Your host may have an outdated SSL library which does not understand the modern TLS certificates used by most third party extension developers&#039; update sites. Please ask your host about it.&lt;br /&gt;
* You may have “orphaned” extensions. Most modern Joomla extensions are delivered as ‘package’ type extensions which include two or more related extensions. When installing a package extension Joomla records a package extension in its database. It then records the package ID to each of the installed extensions from that package in the database. The update information is provided for the package, not each individual extension. This association may break if you used Discover to install the extensions, extracted the package and installed the separate extensions directly, Joomla failed to record the package ID for each extension when installing the package (most likely because an error occurred) or your site has been upgraded from an old version of Joomla which predates the use of packages in extensions. In this case even updating the extension will NOT update the package association. There is currently no solution to this except determining manually the compatibility of extensions with each Joomla version.&lt;br /&gt;
* In some cases the number of requests Joomla sends to your server as it determines compatibility for each extension may overwhelm the server and trigger a Denial of Service protection. In this case some or all of the extensions will appear as of indeterminate compatibility status. Unfortuantely, you will have to check the compatibility of each extension manually against the information published by extension&#039;s developer.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Downloading the update===&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Joomla will need to download its update package, a ZIP file which is very similar to the Joomla installation ZIP file but without the web installer (the `installation` directory). This could fail for a few reasons:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
* The ZIP file is rather big. Joomla 4 update packages are around 25MiB. If your server is slow, overwhelmed or has poor connectivity with GitHub — where Joomla update packages are downloaded from — it may take a long time to download the package. If that time is longer than your server&#039;s PHP maximum execution time, its maximum CPU usage limit (as determined by ulimit -t in the server command line), the PHP-FPM timeout or the web server&#039;s timeout the download will fail and you will see an error page. You will have to ask your host for help with that.&lt;br /&gt;
* You may not have enough free space on your site. You need enough space to store the compressed update ZIP file and its extracted files. As a rule of thumb, you need about 50–60 MiB of free space for Joomla Update to work correctly. Do note that the free space reported by your hosting control panel is not always realtime, i.e. it may ‘lag’ several minutes or hours behind the actual disk space usage on your site. Moreover, further limits may be imposed by your host. If unsure, please ask your host.&lt;br /&gt;
* Your host prevents making outbound HTTPS requests at all or restricts them to predefined allowed IP addresses. Please ask them to allow outbound HTTP requests to `https://github.com`. This is a CDN, meaning that the exact IP address will be different depending on where the world you are trying to access this URL from. Do tell your host; they will know what to do with this information.&lt;br /&gt;
* Your host may have an outdated SSL library which does not understand the modern TLS certificates used by GitHub. Please ask your host about it.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Extracting the update===&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
After the update ZIP file has downloaded Joomla needs to extract it on your site. Since Joomla is effectively replacing itself and because this process does take some time to complete it cannot happen within Joomla itself. Instead, a separate file (administrator/components/com_joomlaupdate/extract.php) is used to perform the update. This file is inert except when an update is in progress.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
You may get an error during the extraction for one of the following reasons:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
* You cannot access the extract.php file because of a server protection e.g. a customised .htaccess file on Apache and Litespeed servers. Try accessing https://www.example.com/administrator/components/com_joomlaupdate/extract.php from a web browser, where https://www.example.com/ is to be replaced with the URL to your site. You should see the message {&amp;quot;status&amp;quot;:false,&amp;quot;message&amp;quot;:&amp;quot;Invalid login&amp;quot;}  If you see anything else you are being forbidden from accessing this file.&lt;br /&gt;
* If you can access the file but extracting the update fails immediately there is a different server protection on your site which prevents the request to `extract.php` from being handled by that file. Please contact your host about this.&lt;br /&gt;
* If you are using CloudFlare go to Rules and create a new Page Rule. Set the If URL Matches to */administrator/components/com_joomlaupdate/extract.php and Then The Settings Are to “Disable Security” and on a new line ”Cache Level”, ‘Bypass’. Set the Order to First. Click on Save and Deploy. This ensures that CloudFlare will not try to block the update extraction.&lt;br /&gt;
* The update ZIP file is corrupt or truncated. This could happen if downloading the update file failed with an error. Go back and retry. See also the previous section.&lt;br /&gt;
* If you are using upload and update i.e. you uploaded the update ZIP file yourself please make sure that you are using only the official Joomla Update ZIP files. The extraction script only supports a subset of the ZIP archive format used by the official update ZIP files.&lt;br /&gt;
* Did you run out of disk space? Please check the section above.&lt;br /&gt;
* Is the ownership and permissions of all files correct? Joomla needs write access to all of its files and folders. If unsure, ask your host. There is no specific set of “good” permissions! The permissions needed depend on the ownership of your files and which system user the web server runs under.&lt;br /&gt;
* Did you lose network connectivity or your network has very high latency? It&#039;s possible that the request fails because of that.&lt;br /&gt;
* The extraction takes place by making consecutive requests to the aforementioned extract.php file. Each request is set up to take between 3 and 4 seconds. The process repeats until the entirety of the update file has been extracted. On some servers this cadence of requests to the same file from the same IP address may trigger the server&#039;s security. On other servers it may trigger a different server protection, e.g. a maximum PHP time limit, a maximum CPU usage limit or another server timeout. On even fewer servers running on CloudLinux it could trigger a server memory outage situation if your server was already running low on memory. You need to contact your server about that; there is nothing you can do yourself to work around these server limitations.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Finalising the update===&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
This is a two step process.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Right after the update ZIP file has been extracted a final step will run which removes old files. When upgrading to a new major version of Joomla the list of files to remove is pretty big and the process may timeout. Moreover, the point made in the previous section about ownership and permissions of files is important here too; Joomla needs write permissions to the old files and folders it has to remove. If this step fails you can resume it from the command line. Go into the cli folder and run &#039;&#039;php joomla.php update:joomla:remove-old-files&#039;&#039;  If you cannot do it yourself ask your host to do it for you. You will also need to follow the workaround for the next step.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Finally, Joomla reloads and you are logged back into the administrator interface. At this point Joomla updates its database tables and performs any database administration tasks. If this fails you can resume the process by going to System, Maintenance, Database. Select Joomla CMS from the list and click on Update Structure.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Upgrading{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 4.x{{#translation:}}]]&lt;br /&gt;
[[Category:Update Working Group{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Needs to be marked for translation]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Help4.x:Components_Joomla_Update&amp;diff=919854</id>
		<title>Help4.x:Components Joomla Update</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Help4.x:Components_Joomla_Update&amp;diff=919854"/>
		<updated>2022-06-08T11:23:43Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Added troubleshooting information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Chunk30:Help_screen_Description_Header/&amp;lt;translate&amp;gt;en&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
This screen allows Joomla to be updated quickly by downloading the current update package from the Joomla code repository if there is an update. This setting is the default setting.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Update Images&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
*&#039;&#039;Update Screen when on the latest version:&#039;&#039;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
You&#039;re on the latest version of Joomla, so no action required. If you have problems with Joomla it is possible to overwrite the latest Joomla core files. To do so click the button &#039;&#039;&#039;Reinstall Joomla core files&#039;&#039;&#039; and Joomla will install the latest core files.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Installation method can have the following values:&lt;br /&gt;
# Write files directly&lt;br /&gt;
# Hybrid (use FTP only if needed)&lt;br /&gt;
# Write files using FTP&lt;br /&gt;
The first method is advised.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
*&#039;&#039;The update screen when an update is available:&#039;&#039;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
You&#039;re NOT on the latest version of Joomla, you can install the latest update from this screen. To do so click the button &#039;&#039;&#039;Install the Update&#039;&#039;&#039; and Joomla will install the latest update.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Installation method can have the following values:&lt;br /&gt;
# Write files directly&lt;br /&gt;
# Hybrid (use FTP only if needed)&lt;br /&gt;
# Write files using FTP&lt;br /&gt;
The first method is advised.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
*&#039;&#039;The screen while updating:&#039;&#039;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Joomla Update is a core component which is responsible for determining if there is a newer version of Joomla available for installation of your site, download it (or let you upload it) and install it. It has been available in Joomla since Joomla 2.5.1 and as a third party extension two years prior to that. You can access it at System, Update, Joomla.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
The update process consists of several different steps. While every care has been taken to make this process as trouble–free as possible there&#039;s always a small chance that something may go wrong, typically due to a very restrictive server configuration or network conditions on a very small minority of sites.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
The following troubleshooting instructions are organised by update step to make it easier to find the information you are looking for. Furthermore, it is an exhaustive resource, based on more than a decade of experience troubleshooting all possible (and some borderline impossible) problems with Joomla and extension updates. It lists problems which are extremely unlikely to occur. Don&#039;t let its length scare you; you are very unlikely to ever see any of these problems occur.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Determining if updates exist===&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Joomla will make a request to its update server over HTTPS and download an XML file provided by the Joomla project listing the latest available versions. The update server in use can be determined by going to System, Update, Joomla, clicking on Options and examining which update server is in use. You are recommended to use the &#039;&#039;Default&#039;&#039; update server to receive updates to your current major version of Joomla. Use &#039;&#039;Joomla Next&#039;&#039; when you want to upgrade your site to the next major version of Joomla — this is best done on a copy of your site to avoid any nasty surprises; not all third party extensions and templates will be compatible across major Joomla versions. The major version of Joomla is the first digit in the Joomla version, before the first dot. For example, the major version of Joomla 4.0.1 is 4.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
If Joomla cannot determine that an update is available please check the following:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
* The Joomla Update information is out of date in the database. Go to System, Update, Joomla and click on Check for Updates.&lt;br /&gt;
* The update sites information in Joomla is corrupt. Go to System, Update, Update Sites and click on Rebuild. Then go to System, Update, Joomla and click on Options. Select the Testing update channel. Click on Save &amp;amp; Close. Click on Options again. Select the Default or Joomla Next update channel — depending on your preference — and click on Save &amp;amp; Close.&lt;br /&gt;
* Your host prevents making outbound HTTPS requests at all or restricts them to predefined allowed IP addresses. Please ask them to allow outbound HTTP requests to https://update.joomla.org  This is a CDN, meaning that the exact IP address will be different depending on where the world you are trying to access this URL from. Do tell your host; they will know what to do with this information.&lt;br /&gt;
* Your host may have an outdated SSL library which does not understand the modern TLS certificates used by the Joomla update CDN. Please ask your host about it.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Determining if third party software is compatible with the new version you are about to install===&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Joomla does not have a magical way of evaluating third party code for compatibility. Its report is based solely on the extension information kept in Joomla&#039;s #__extensions table, the update sites provided by the installed extensions and the update information provided by the developers of third party extensions including but not limited to which version of their software is compatible with which version of Joomla.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
If the information displayed is incorrect please check the following:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
* What is the minimum stability for extension updates? Go to System, Update, Extensions and click on Options. The ‘Minimum Extension Stability’ determines which is the minimum stability level of a third party software that Joomla will take into account when evaluating compatibility. For example, if this option is set to Stable but only a beta version of a third party extension is compatible with the Joomla version you want to upgrade to Joomla will tell you that there is no compatible version of the third party extension available.&lt;br /&gt;
* The update information may be out of date. Go to System, Update, Extensions and click on Check For Updates. Then go back to System, Update, Joomla and see if the extension now appears as compatible or if you are told than a compatible update to it is available.&lt;br /&gt;
* The update sites information in Joomla is corrupt. Go to System, Update, Update Sites and click on Rebuild. Then go to System, Update, Joomla and click on Options. Select the Testing update channel. Click on Save &amp;amp; Close. Click on Options again. Select the Default or Joomla Next update channel — depending on your preference — and click on Save &amp;amp; Close.&lt;br /&gt;
* Your host prevents making outbound HTTP/HTTPS requests at all or restricts them to predefined allowed IP addresses. This will prevent Joomla from retrieving update information from third party update sites. First go to System, Update, Update Sites. Below each update site you will see its URL. Make a list of those URLs. Then ask your host to allow your site to make requests to these URLs. Please note that some of these URLs may point to a CDN, meaning that the exact IP address will be different depending on where the world you are trying to access this URL from. Do tell your host; they will know what to do with this information.&lt;br /&gt;
* Your host may have an outdated SSL library which does not understand the modern TLS certificates used by most third party extension developers&#039; update sites. Please ask your host about it.&lt;br /&gt;
* You may have “orphaned” extensions. Most modern Joomla extensions are delivered as ‘package’ type extensions which include two or more related extensions. When installing a package extension Joomla records a package extension in its database. It then records the package ID to each of the installed extensions from that package in the database. The update information is provided for the package, not each individual extension. This association may break if you used Discover to install the extensions, extracted the package and installed the separate extensions directly, Joomla failed to record the package ID for each extension when installing the package (most likely because an error occurred) or your site has been upgraded from an old version of Joomla which predates the use of packages in extensions. In this case even updating the extension will NOT update the package association. There is currently no solution to this except determining manually the compatibility of extensions with each Joomla version.&lt;br /&gt;
* In some cases the number of requests Joomla sends to your server as it determines compatibility for each extension may overwhelm the server and trigger a Denial of Service protection. In this case some or all of the extensions will appear as of indeterminate compatibility status. Unfortuantely, you will have to check the compatibility of each extension manually against the information published by extension&#039;s developer.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Downloading the update===&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Joomla will need to download its update package, a ZIP file which is very similar to the Joomla installation ZIP file but without the web installer (the `installation` directory). This could fail for a few reasons:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
* The ZIP file is rather big. Joomla 4 update packages are around 25MiB. If your server is slow, overwhelmed or has poor connectivity with GitHub — where Joomla update packages are downloaded from — it may take a long time to download the package. If that time is longer than your server&#039;s PHP maximum execution time, its maximum CPU usage limit (as determined by ulimit -t in the server command line), the PHP-FPM timeout or the web server&#039;s timeout the download will fail and you will see an error page. You will have to ask your host for help with that.&lt;br /&gt;
* You may not have enough free space on your site. You need enough space to store the compressed update ZIP file and its extracted files. As a rule of thumb, you need about 50–60 MiB of free space for Joomla Update to work correctly. Do note that the free space reported by your hosting control panel is not always realtime, i.e. it may ‘lag’ several minutes or hours behind the actual disk space usage on your site. Moreover, further limits may be imposed by your host. If unsure, please ask your host.&lt;br /&gt;
* Your host prevents making outbound HTTPS requests at all or restricts them to predefined allowed IP addresses. Please ask them to allow outbound HTTP requests to `https://github.com`. This is a CDN, meaning that the exact IP address will be different depending on where the world you are trying to access this URL from. Do tell your host; they will know what to do with this information.&lt;br /&gt;
* Your host may have an outdated SSL library which does not understand the modern TLS certificates used by GitHub. Please ask your host about it.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Extracting the update===&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
After the update ZIP file has downloaded Joomla needs to extract it on your site. Since Joomla is effectively replacing itself and because this process does take some time to complete it cannot happen within Joomla itself. Instead, a separate file (administrator/components/com_joomlaupdate/extract.php) is used to perform the update. This file is inert except when an update is in progress.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
You may get an error during the extraction for one of the following reasons:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
* You cannot access the extract.php file because of a server protection e.g. a customised .htaccess file on Apache and Litespeed servers. Try accessing https://www.example.com/administrator/components/com_joomlaupdate/extract.php from a web browser, where https://www.example.com/ is to be replaced with the URL to your site. You should see the message {&amp;quot;status&amp;quot;:false,&amp;quot;message&amp;quot;:&amp;quot;Invalid login&amp;quot;}  If you see anything else you are being forbidden from accessing this file.&lt;br /&gt;
* If you can access the file but extracting the update fails immediately there is a different server protection on your site which prevents the request to `extract.php` from being handled by that file. Please contact your host about this.&lt;br /&gt;
* If you are using CloudFlare go to Rules and create a new Page Rule. Set the If URL Matches to */administrator/components/com_joomlaupdate/extract.php and Then The Settings Are to “Disable Security” and on a new line ”Cache Level”, ‘Bypass’. Set the Order to First. Click on Save and Deploy. This ensures that CloudFlare will not try to block the update extraction.&lt;br /&gt;
* The update ZIP file is corrupt or truncated. This could happen if downloading the update file failed with an error. Go back and retry. See also the previous section.&lt;br /&gt;
* If you are using upload and update i.e. you uploaded the update ZIP file yourself please make sure that you are using only the official Joomla Update ZIP files. The extraction script only supports a subset of the ZIP archive format used by the official update ZIP files.&lt;br /&gt;
* Did you run out of disk space? Please check the section above.&lt;br /&gt;
* Is the ownership and permissions of all files correct? Joomla needs write access to all of its files and folders. If unsure, ask your host. There is no specific set of “good” permissions! The permissions needed depend on the ownership of your files and which system user the web server runs under.&lt;br /&gt;
* Did you lose network connectivity or your network has very high latency? It&#039;s possible that the request fails because of that.&lt;br /&gt;
* The extraction takes place by making consecutive requests to the aforementioned extract.php file. Each request is set up to take between 3 and 4 seconds. The process repeats until the entirety of the update file has been extracted. On some servers this cadence of requests to the same file from the same IP address may trigger the server&#039;s security. On other servers it may trigger a different server protection, e.g. a maximum PHP time limit, a maximum CPU usage limit or another server timeout. On even fewer servers running on CloudLinux it could trigger a server memory outage situation if your server was already running low on memory. You need to contact your server about that; there is nothing you can do yourself to work around these server limitations.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Finalising the update===&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
This is a two step process.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Right after the update ZIP file has been extracted a final step will run which removes old files. When upgrading to a new major version of Joomla the list of files to remove is pretty big and the process may timeout. Moreover, the point made in the previous section about ownership and permissions of files is important here too; Joomla needs write permissions to the old files and folders it has to remove. If this step fails you can resume it from the command line. Go into the cli folder and run &#039;&#039;php joomla.php update:joomla:remove-old-files&#039;&#039;  If you cannot do it yourself ask your host to do it for you. You will also need to follow the workaround for the next step.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
Finally, Joomla reloads and you are logged back into the administrator interface. At this point Joomla updates its database tables and performs any database administration tasks. If this fails you can resume the process by going to System, Maintenance, Database. Select Joomla CMS from the list and click on Update Structure.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{cathelp|4.0,4.1,4.2,4.3|Components Help Screens|Update|Security}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Security]]&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=WebAuthn_Passwordless_Login&amp;diff=908390</id>
		<title>WebAuthn Passwordless Login</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=WebAuthn_Passwordless_Login&amp;diff=908390"/>
		<updated>2022-04-29T21:16:28Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Expand the documentation to better describe what WebAuthn is, why it&amp;#039;s important and add the FAQ section from the PR&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;noinclude&amp;gt;{{Joomla version|version=4.x}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== System - WebAuthn Passwordless Login == &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;Web Authentication, or WebAuthn for short, allows a user to securely log into a site without using a password — though you still need to provide your username. It does using strong cryptography and in a manner which is extremely resistant to the most common problems of passwords: someone guessed it (brute force attack), someone intercepted it (man in the middle attack), someone tricked you into divulging it (phishing attack), someone cracked it after getting ahold of a copy of your database data (SQL injection attacks) or someone stole it.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;WebAuthn is not just very secure; it is also very user friendly! You no longer have to remember long passwords or use a password manager. All you need is an &#039;&#039;authenticator&#039;&#039;, sometimes also called a &#039;&#039;passkey&#039;&#039;. An authenticator can have many forms, physical or virtual. It can be a separate hardware key connecting to your device via USB, Bluetooth or NFC. It can be your device itself, unlocking its built-in authenticator with a PIN, fingerprint reader, facial scan or similar biometric check. This feature already works on Android and iOS/iPadOS devices and we&#039;re working on enabling it on Windows as well. It can even be your phone — currently this is possible with Android phones but this feature is also coming to iOS / iPadOS devices.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;WebAuthn only works over HTTPS and only when your site is using a valid, trusted certificate for it. Don&#039;t worry, you don&#039;t have to spend any extra money; free of charge services like Let&#039;s Encrypt are typically integrated into web hosting control panels and work perfectly fine with WebAuthn.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;WebAuthn uses public key cryptography, the same proven technology that keeps your sites safe with HTTPS, your banking information secure and so on. The private key never leaves the authenticator. Your site only stores a public key. Even if you suffer a data breach the attacker will be left with a practically useless public key; it would take them thousands to millions of CPU years to crack it as opposed to a few minutes or hours required to crack the hash of a fixed password that you can remember.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;WebAuthn is the future of authentication. Easy, secure and hassle-free. Everything that fixed passwords are not.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;The following picture shows a hardware device inserted into a laptop computer&#039;s USB port. It cost £15 in February, 2022.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:j4x-passwordless-login-hardware-device.jpg|center|Hardware device]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;WebAuthn uses a system plugin that is enabled by default. A &#039;&#039;&#039;Web Authentication&#039;&#039;&#039; button will be present in default Joomla 4 login screens, as illustrated in the Administrator login screen:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:j4x-passwordless-login-admin-login.png|center|border|Administrator Login]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== User Configuration ==&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The user must first register with a normal Username and Password. After logging in go to the User Profile form. For an Administrator:&lt;br /&gt;
* Select {{rarr|User Menu, Edit Account, W3C Web Authentication (WebAuthn) Login}} to bring up the form, initially with no authenticators registered.&lt;br /&gt;
* Select &#039;&#039;&#039;Add New Authenticator&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
The exact presentation of the next step depends on your browser. Typically, you will see an alert, message or window asking you to select an authenticator type or, if you&#039;re using a hardware authenticator attached to your device, reminding you to press the button on the hardware authenticator. For security and practical reasonts there is a relatively short time interval allowed for activating the authenticator: 60 seconds.&lt;br /&gt;
&lt;br /&gt;
[[File:j4x-passwordless-login-hardware-propmpt.png|center|Hardware Prompt]]&lt;br /&gt;
&lt;br /&gt;
Once you unlock your authenticator — tapping on a button, scanning your fingerprint / face, entering a PIN or a combination of the above depending on your authenticator — the message disappears, the authenticator is registered and the screen appears as follows:&lt;br /&gt;
&lt;br /&gt;
[[File:j4x-passwordless-login-registered-authenticator.png|center|Registered Authenticator]]&lt;br /&gt;
&lt;br /&gt;
It is very important to note that you can only register or remove authenticators on your own user account. For security reasons, even a Super User is disallowed from registering, editing or adding authenticators on other user accounts.&lt;br /&gt;
&lt;br /&gt;
=== Authenticators ===&lt;br /&gt;
&lt;br /&gt;
You can use any FIDO U2F or FIDO2 authenticator. FIDO U2F is an older standard which supports a more limited, less secure selection of cryptographic methods. FIDO2 is the newer standard which supports much more secure cryptographic methods including Elliptic Curve Cryptography, a cryptographic method which is believed to be resistant even to quantum computing (if and when it becomes a practical reality). Moreover, FIDO2 authenticators can be set up to have additional protections such as a PIN or a biometric control (e.g. fingerprint scan) which means that even if you lose physical possession of the authenticator itself whoever finds it cannot log into your sites.&lt;br /&gt;
&lt;br /&gt;
If you are looking to buy a hardware authenticator you can look for &amp;quot;FIDO2&amp;quot; in your favorite marketplace, such as Amazon. There is a wide selection to choose from.&lt;br /&gt;
&lt;br /&gt;
You may also use a software FIDO key such as Krypton as your authenticator.&lt;br /&gt;
&lt;br /&gt;
Many devices have built-in FIDO2-compliant authentication:&lt;br /&gt;
&lt;br /&gt;
* Windows 10 and 11 have Windows Hello with a PIN, fingerprint scanner, facial recognition camera or a combination of hardware key and PIN. Support for Windows Hello is being added to the plugin with a release target of Joomla 4.2.0.&lt;br /&gt;
* macOS has TouchID on all laptops with the T2 chipset or those based on Apple Silicon using the built-in TouchID sensor, as well as all Apple Silicon–based desktops using the new Apple Aluminium keyboard with a fingerprint scanner.&lt;br /&gt;
* iOS / iPadOS has TouchID on all devices with a fingerprint scanner and FaceID on all newer devices with a FaceID infrared dot projection camera.&lt;br /&gt;
* Some Android devices have a fingerprint scanner or a face recognition camera. These can also work as FIDO2 authenticators, on Android 9 or later using Google Chrome at least.&lt;br /&gt;
* Other devices may be available too. For example, Android phones using [https://groups.google.com/a/fidoalliance.org/g/fido-dev/c/go6GoFW27Dw/m/9flCLR5pBQAJ?pli=1 caBLE]&lt;br /&gt;
&lt;br /&gt;
=== WebAuthn compatible browsers === &lt;br /&gt;
&lt;br /&gt;
Chromium and Firefox based browsers have supported WebAuthn since early 2019.&lt;br /&gt;
&lt;br /&gt;
Safari and all iOS/iPadOS browsers (which are, in fact, Safari with a different skin) fully support WebAuthn since iOS/iPadOS 13 released late 2019.&lt;br /&gt;
&lt;br /&gt;
Practically speaking, if your operating system and browser were released after mid-2020 you should have no problem. Only some very uncommon browsers still lack support for WebAuthn.&lt;br /&gt;
&lt;br /&gt;
== Authentication ==&lt;br /&gt;
&lt;br /&gt;
To login you must enter your username in the login form Username field. You do not need to enter your password but if your browser enters it for you just leave it. The password is NOT sent to the server when the form is submitted via the Web Authentication button.&lt;br /&gt;
&lt;br /&gt;
It follows that you can login with either your Username and Password or Username and Web Authentication.&lt;br /&gt;
&lt;br /&gt;
== How To Disable the Plugin ==&lt;br /&gt;
&lt;br /&gt;
If you do not wish to allow WebAuthn just go to the list of plugins and find  System - WebAuthn Passwordless Login in the System group and disable it. There are no parameters to set.&lt;br /&gt;
&lt;br /&gt;
== Server Requirements ==&lt;br /&gt;
&lt;br /&gt;
For WebAuthn to work the following preconditions must be met:&lt;br /&gt;
&lt;br /&gt;
* HTTPS with a valid, signed certificate. Most hosts let you use free of charge certificates issues by Let&#039;s Encrypt. These work perfectly fine with WebAuthn.&lt;br /&gt;
* The OpenSSL extension for PHP must be installed and enabled.&lt;br /&gt;
* The PHP extension GMP or the PHP extension BCmath must be installed and enabled (either will do).&lt;br /&gt;
* The Sodium library should ideally be enabled; it enables the use of Elliptic Curve Cryptography on compatible FIDO2 authenticators which, as we said, is the most secure cryptographic method.&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions and Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== I can&#039;t see the “Web Authentication” login button ===&lt;br /&gt;
&lt;br /&gt;
You are not accessing your site under HTTPS. WebAuthn is only available for HTTPS sites with a valid certificate. This is a security precaution baked into the WebAuthn standard. The plugin actually checks if the site is accessed through HTTPS using Joomla&#039;s Uri class. In rare cases where the server lies about the protocol you might not see the button even though your site (claims to be) HTTPS. Same goes if you have edited your configuration.php file and set up the optional $live_site configuration parameter with an http:// protocol prefix instead of https://.&lt;br /&gt;
&lt;br /&gt;
Also note that third party login modules and components implementing their own login form may not display these buttons just yet. We added new infrastructure to support them, much like what we had to do in Joomla! 3.2 to support Two Factor Authentication.&lt;br /&gt;
&lt;br /&gt;
=== I still need to provide a username. Isn&#039;t WebAuthn supposed to get rid of usernames? ===&lt;br /&gt;
&lt;br /&gt;
Not really, no. The current specification of WebAuthn does not provide identity management. Web browsers require us to send them a list of acceptable WebAuthn public keys during the login phase. This means that we need your username to fetch them.&lt;br /&gt;
&lt;br /&gt;
That said, using WebAuthn finally makes it clear that usernames &#039;&#039;are not to be considered secrets&#039;&#039;. They are considered public information which can be freely transmitted to an adversary, just like the public keys stored in the site&#039;s database. The only secret is stored in the authenticator itself and never leaves the authenticator!&lt;br /&gt;
&lt;br /&gt;
=== I have registered an authenticator but trying to log in tells me that I haven&#039;t. Is this a bug? ===&lt;br /&gt;
&lt;br /&gt;
It is a bug but not with the WebAuthn plugin itself.&lt;br /&gt;
&lt;br /&gt;
One or more plugins on your site throw PHP Notices, Warnings or Errors, thus corrupting the reply sent back by your server. As a result the JavaScript on the page cannot parse the server response and is unsure whether any authenticators are registered by the user.&lt;br /&gt;
&lt;br /&gt;
Go to your site&#039;s backend, System, Global Configuration and set Error Reporting to None. In most cases of misbehaving core and 3PD plugins this is enough. Otherwise please examine the output of the request using your browser&#039;s developer tools to see what is corrupting the request.&lt;br /&gt;
&lt;br /&gt;
=== There is no prompt on Safari to use my authenticator ===&lt;br /&gt;
&lt;br /&gt;
This should no longer be happening with iOS 13, iPadOS 13 and macOS Catalina or any later version.&lt;br /&gt;
&lt;br /&gt;
This is a Safari bug in older versions of Safari. Older versions of Safari only included support for WebAuthn as an experimental feature and not quite finished.&lt;br /&gt;
&lt;br /&gt;
=== I cannot use a biometric sensor (TouchID, fingerprint, Windows Hello) ===&lt;br /&gt;
&lt;br /&gt;
Some older Chromium-based browsers (except Google Chrome proper) didn&#039;t have full support for built-in authenticators. They would crash or hang when you tried using one. These issues were fixed in these browsers around mid-2020.&lt;br /&gt;
&lt;br /&gt;
If you are using Windows please remember that your device MUST have a Trusted Platform Module (TPM) chip and it must be enabled in the BIOS. Just having a Windows Hello-compatible biometric sensor won&#039;t do the trick. This is a security precaution in the WebAuthn standard itself: the authenticator information must be processed using secure, tamper-resistant hardware to prevent key subversion (e.g. malware running on the computer cannot steal the key used for authentication).&lt;br /&gt;
&lt;br /&gt;
Finally, do keep in mind that Windows Hello support is still being worked on and will be released with Joomla 4.2.&lt;br /&gt;
&lt;br /&gt;
=== If I can use a software authenticator why should I bother with a hardware token? ===&lt;br /&gt;
&lt;br /&gt;
The linchpin of WebAuthn is the absolute secrecy of the private key. It is only known to the authenticator and it should be impossible to communicate to the outside world.&lt;br /&gt;
&lt;br /&gt;
In the case of a hardware authenticator, be it a discrete hardware device or a TPM / Secure Enclave built into your device, this is a given by the very nature of that hardware.&lt;br /&gt;
&lt;br /&gt;
A software authenticator generates a secret key and stores it in the filesystem. However, it is still a regular software application which runs inside your regular operating system, be it your phone&#039;s or your computer&#039;s. As a result it is susceptible to several classes of attacks which can be used to surreptitiously steal information (security issues in the software itself, malware using Spectre-class vulnerabilities in modern CPUs etc).&lt;br /&gt;
&lt;br /&gt;
So, a software authenticator is far more convenient and secure than a regular password but a hardware authenticator offers the best security. Choose your authenticator based on your budget and security needs.&lt;br /&gt;
&lt;br /&gt;
Considering that the price of a FIDO key –which is compatible with WebAuthn– is under €10 on Amazon you can use a hardware authenticator in most practical use cases.&lt;br /&gt;
&lt;br /&gt;
=== Why are the credentials encrypted in the database? Isn&#039;t this an overkill? ===&lt;br /&gt;
&lt;br /&gt;
The only thing stored in the database is the public key returned by the authenticator when we are performing the attestation ceremony (that&#039;s the formal name of registering an authenticator per the WebAuthn specification). Being a public key it does not need protecting from reading. Even if an unauthorised user was able to read this information they would not be able to impersonate the authenticator e.g. by cloning it.&lt;br /&gt;
&lt;br /&gt;
However, if a malicious user had write access just to the #__webauthn_credentials database table, without read access to the filesystem and without write access to any other table, they could conceivably &#039;&#039;&#039;add&#039;&#039;&#039; their own authenticator, therefore being able to impersonate the targeted user on the system. This is a very theoretical attack since they would also need to know the user handle for the user they are attacking which is harder to derive without some inside knowledge of the site itself. Besides, having write access to just this table and not the entire database (in which case they could create a new Super User) is extremely unlikely. Still, we are encrypting the credentials to make it impossible for even this entirely theoretical attack to succeed.&lt;br /&gt;
&lt;br /&gt;
We are fully aware that if a user has read access to the server filesystem they have access to the encryption key and the database connection information, all of which is stored in configuration.php. However, in this case you are already hacked: the attacker can read configuration.php therefore they know how to connect to your database. In this case they can do whatever they please to your site, including deleting all existing Super Users and creating their own Super User account. Therefore there&#039;s no reason to try to address this situation; you&#039;d be fully compromised (hacked). The only that could be a saving grace is regular, tested, off-site backups.&lt;br /&gt;
&lt;br /&gt;
=== I have set up Two Factor Authentication but I am logged in without providing my Secret Key. Isn&#039;t this insecure? ===&lt;br /&gt;
&lt;br /&gt;
No, it&#039;s intentional and by design.&lt;br /&gt;
&lt;br /&gt;
When we added Two Factor Authentication (TFA) in Joomla! 3.2 you were only able to log into your site using a username and password. Passwords can be stolen or guessed. Therefore TFA was the only way to provide a modicum of security on high risk and high value targets. That was back in 2013.&lt;br /&gt;
&lt;br /&gt;
WebAuthn is an entirely different authentication solution which has none of the problem of fixed passwords. It uses strong cryptography and secure hardware to make it practically impossible to subvert the authentication cryptographic keys. It&#039;s also unphishable, i.e. you cannot be fooled into using it on an impersonating site since the WebAuthn credential is tied to the exact domain name it was issued for (yes, if you use multiple domains for your site or transfer your site to another domain you&#039;ll need to re-register all your WebAuthn authenticators – you got that right!). As a result, authentication with WebAuthn is incredibly secure and supersedes the reasons that necessitated TFA. This means that if you successfully authenticate using WebAuthn the TFA secret key needs not be –and is therefore not– checked at all.&lt;br /&gt;
&lt;br /&gt;
In an ideal world, you would only be able to log into your site using WebAuthn. This is a feature we are working on and you may not want to enable; after all, if your domain name changes or you lose access to or reset all of your WebAuthn authenticators you&#039;d be locked out of your site. Therefore you should still enable TFA on your user account on the basis that password login can still be used as a fallback to logging into your site and must be protected from known attacks against fixed passwords.&lt;br /&gt;
&lt;br /&gt;
=== Isn&#039;t TFA good enough? Why do we need WebAuthn? ===&lt;br /&gt;
&lt;br /&gt;
TFA alone is good enough in most cases but suffers from two issues.&lt;br /&gt;
&lt;br /&gt;
First, it has a rather awkward user experience. You need to provide your ever-changing secret key with your username and password. Most people use TOTP (the six digit PIN that changes every 30 seconds) which slows down logging in and tends to frustrate users. Using a YubiKey is much faster but also more expensive and more complicated to provision when you have more than a couple of users on the site. A YubiKey also has an expected life of about 2 years of everyday use when generating One Time Passwords (it runs out of the write-once memory it uses to keep track of the signatures it has issued).&lt;br /&gt;
&lt;br /&gt;
Second, if you are using TOTP you still are susceptible to security issues such as keyloggers, phishing and the possibility that the secret key used for generating the TOTP is stolen. Moreover, with one million possibilities and thirty seconds to try them it is conceivable that an attacker can get lucky since Joomla doesn&#039;t lock your account or otherwise employ rate limiting for failed login attempts. While these protections could be implemented, the implementation itself could be abused to create a denial of service situation which locks a legitimate user out of their site while the attacker is busy infiltrating it. It&#039;s a case of the remedy being worse than the disease.&lt;br /&gt;
&lt;br /&gt;
WebAuthn greatly improves the user experience. Major browsers embraced WebAuthn and offer a compelling user experience, guiding the users into using authenticators successfully. Logging in with WebAuthn is more convenient even when compared to using a password manager&#039;s auto-fill feature. With recent versions of mobile operating systems even that experience, once slightly confusing, is rapidly becoming easier than passwords and TFA ever were.&lt;br /&gt;
&lt;br /&gt;
Where WebAuthn is truly killing it is at the security front. By virtue of using secure hardware and strong validation of the site&#039;s domain name it is practically immune to keyloggers, phishing and key subversion. It even has built-in protection against key cloning. Yes, you can still lose your hardware — but FIDO2 authenticators, be they external devices or built-in, can be locked out with a PIN or biometrics. Overall, using WebAuthn with FIDO2 authenticators is more theft- and loss-resistant than your house or car keys.&lt;br /&gt;
&lt;br /&gt;
== Developer Notes ==&lt;br /&gt;
&lt;br /&gt;
=== Extra login buttons ===&lt;br /&gt;
&lt;br /&gt;
The plugin module and com_users now use the onUserLoginButtons event, defined and called in Joomla\CMS\Helper\AuthenticationHelper::getLoginButtons, to retrieve the definitions of any additional buttons which need to be placed after the regular login button.&lt;br /&gt;
&lt;br /&gt;
All developers implementing a login module or, more generally, a login form should also use the Joomla\CMS\Helper\AuthenticationHelper::getLoginButtons public static method to retrieve said definitions and render these buttons to make their software fully compatible with Joomla 4.&lt;br /&gt;
&lt;br /&gt;
Developers wishing to implement custom buttons should look at how the WebAuthn system plugin implements this functionality. Such buttons can be used for implementing third party single-sign-on services or even logging in using third party identity services such as those offered by popular social media (Facebook, Google, Twitter, GitHub etc).&lt;br /&gt;
&lt;br /&gt;
This change does not adversely impact backwards compatibility. Third party login modules and login forms will continue functioning normally even if they do not implement the extra login buttons feature with the notable omission of integrations afforded by said feature such as Web Authentication itself. That is to say they won&#039;t stop functioning (which would be a b/c break) but they won&#039;t be feature-complete. &lt;br /&gt;
&lt;br /&gt;
=== Allowing com_ajax in the backend login page ===&lt;br /&gt;
&lt;br /&gt;
The Administrator login page whitelists com_ajax in AdministratorApplication so it can be used to handle requests by guest users.&lt;br /&gt;
&lt;br /&gt;
This change does not cause any backwards compatibility issues as long as developers use sane practices and do not assume that being called by com_ajax in the backend is proof that the user is logged into the backend. That would be a bad security practice. The sane practice is to use Joomla&#039;s User object to detect if it&#039;s a guest user and if not whether the user is allowed a permission required to effect the action requested through com_ajax. That is to say, if this change has broken your code then your code was already broken and needed to be reworked anyway.&lt;br /&gt;
&lt;br /&gt;
== Further Information ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The initial documentation of this feature is in the pull request at [https://github.com/joomla/joomla-cms/pull/28094 PR #28094].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Joomla! 4.x{{#translation:}}]]&lt;br /&gt;
[[Category:Security{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! Wiki need pages]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J3.x:Make_your_own_Action_Log_Plugin&amp;diff=605048</id>
		<title>J3.x:Make your own Action Log Plugin</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J3.x:Make_your_own_Action_Log_Plugin&amp;diff=605048"/>
		<updated>2019-04-16T07:19:52Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Documented how to create user action plugins&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joomla! 3.9 and later allows extensions to log their actions in the User Action Log. This is done by creating a plugin in the actionlog folder.&lt;br /&gt;
&lt;br /&gt;
Please note that if your plugin is not in the actionlog folder you will get untranslated strings in the User Action Log component and / or module when actions of your extension are being displayed. &lt;br /&gt;
&lt;br /&gt;
As a developer, you should be aware that all published actionlog plugins are loaded by Joomla&#039;s Action Log system plugin on every page load. The implication to that is that the constructor of your actionlog plugin should be kept to a bare minimum and not do any initialization which could have a performance impact. If you need to perform any kind of heavy initialization try to defer it for the last possibly moment, i.e. when you are about to log an action.&lt;br /&gt;
&lt;br /&gt;
The actionlog plugin is meant to &amp;quot;catch&amp;quot; your extension&#039;s actions and log them. The &amp;quot;catching&amp;quot; part depends entirely on your extension. The concept is that each interesting action that needs to be logged must trigger a plugin event which is handled by your actionlog plugin and has the effect of logging said action to the database.&lt;br /&gt;
&lt;br /&gt;
Joomla&#039;s MVC only triggers events on content preparation. If you want to see how you can handle those events for your component check the Joomla plugin in the actionlog folder.&lt;br /&gt;
&lt;br /&gt;
For everything else it&#039;s advisable to use your own, custom plugin event names. Take extra care to not cause any naming conflicts. For example, a plugin event called onAfterInitialize is &#039;&#039;&#039;BAD&#039;&#039;&#039; because it clashes with Joomla&#039;s built-in event by the same name. DO NOT use generic plugin names such as onAfterSave because you are guaranteed to cause a conflict with another extension or Joomla itself. Remember that plugin event names are shared across all plugins in all plugin folders! &lt;br /&gt;
&lt;br /&gt;
The best way to prevent naming clashes is using naming conventions like the following:&lt;br /&gt;
&lt;br /&gt;
* For components, onComComponentControllerViewnameAfterorbeforeTask e.g. onComExampleControllerItemsAfterBrowse for option=com_example&amp;amp;view=items&amp;amp;task=browse&lt;br /&gt;
* For plugins, onPlgFolderPluginnameAction e.g. onPlgSystemFoobarBaz to log the &amp;quot;baz&amp;quot; action taken by a plugin named foobar in the system folder.&lt;br /&gt;
&lt;br /&gt;
Modules, templates and libraries are unlikely candidates for actions you might want to log but you can use a similar naming convention:&lt;br /&gt;
&lt;br /&gt;
* For modules, onModSiteoradminModulenameAction e.g. onModSiteExampleFoo for a front-end (site) module mod_example taking action foo&lt;br /&gt;
* For libraries, onLibLibrarynameAction e.g. onLibExampleFoo for the lib_example library taking action foo&lt;br /&gt;
* For templates, onTplSiteoradminTemplatenameAction e.g. on TplSiteExampleFoo for a front-end template named example taking action foo&lt;br /&gt;
&lt;br /&gt;
If you have a Model used in many of your component&#039;s controllers and you would rather log an action taken there you can use the naming convention onComComponentModelModelnameAfterorbeforeMethodname e.g. onComExampleModelItemsBeforeSave to log something that happens after calling the ExampleModelItems::save() method. Again, this convention is arbitrary and the only reason we recommend it is that you can have a reasonable expectation that it won&#039;t cause naming clashes. The more specific the event name is the less likely it is to have a conflict with core or third party code.&lt;br /&gt;
&lt;br /&gt;
Logging the actions requires going through a bit of code to perform sanity checks (e.g. correct Joomla version) and do the actual logging. Here is a prototype function you can use in your plugin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
	public function logUserAction($title, $logText, $extension)&lt;br /&gt;
	{&lt;br /&gt;
		static $joomlaModelAdded = false;&lt;br /&gt;
&lt;br /&gt;
		// User Actions Log is available only under Joomla 3.9+&lt;br /&gt;
		if (version_compare(JVERSION, &#039;3.9&#039;, &#039;lt&#039;))&lt;br /&gt;
		{&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// Include required Joomla Model&lt;br /&gt;
		if (!$joomlaModelAdded)&lt;br /&gt;
		{&lt;br /&gt;
			\JModelLegacy::addIncludePath(JPATH_ROOT . &#039;/administrator/components/com_actionlogs/models&#039;, &#039;ActionlogsModel&#039;);&lt;br /&gt;
			$joomlaModelAdded = true;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$user = $this-&amp;gt;getUser();&lt;br /&gt;
&lt;br /&gt;
		// No log for guest users&lt;br /&gt;
		if ($user-&amp;gt;guest)&lt;br /&gt;
		{&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$message = array(&lt;br /&gt;
			&#039;title&#039;    	  =&amp;gt; $title,&lt;br /&gt;
			&#039;username&#039; 	  =&amp;gt; $user-&amp;gt;username,&lt;br /&gt;
			&#039;accountlink&#039;     =&amp;gt; &#039;index.php?option=com_users&amp;amp;task=user.edit&amp;amp;id=&#039; . $user-&amp;gt;id&lt;br /&gt;
		);&lt;br /&gt;
&lt;br /&gt;
		/** @var \ActionlogsModelActionlog $model **/&lt;br /&gt;
		try&lt;br /&gt;
		{&lt;br /&gt;
			$model = \JModelLegacy::getInstance(&#039;Actionlog&#039;, &#039;ActionlogsModel&#039;);&lt;br /&gt;
			$model-&amp;gt;addLog(array($message), $logText, $extension, $user-&amp;gt;id);&lt;br /&gt;
		}&lt;br /&gt;
		catch (\Exception $e)&lt;br /&gt;
		{&lt;br /&gt;
			// Ignore any error&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example plugin method performing user action logging:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
	 * Logs the creation of a new backup profile&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param \Akeeba\Backup\Admin\Controller\Profiles	$controller&lt;br /&gt;
	 * @param array										$data&lt;br /&gt;
	 * @param int										$id&lt;br /&gt;
	 */&lt;br /&gt;
	public function onComAkeebaControllerProfilesAfterApplySave($controller, $data, $id)&lt;br /&gt;
	{&lt;br /&gt;
		// If I have an ID in the request and it&#039;s the same of the model, I&#039;m just editing a record&lt;br /&gt;
		if (isset($data[&#039;id&#039;]) &amp;amp;&amp;amp; $data[&#039;id&#039;] == $id)&lt;br /&gt;
		{&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$profile_title = $data[&#039;description&#039;];&lt;br /&gt;
&lt;br /&gt;
		$this-&amp;gt;logUserAction($profile_title, &#039;COM_AKEEBA_LOGS_PROFILE_ADD&#039;, &#039;com_akeeba&#039;);&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the log title (the second argument to the method) is a translation key. It is defined similar to that:&lt;br /&gt;
&lt;br /&gt;
COM_AKEEBA_LOGS_PROFILE_ADD=&amp;quot;User &amp;lt;a href=\&amp;quot;{accountlink}\&amp;quot;&amp;gt;{username}&amp;lt;/a&amp;gt; created the backup profile {title}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The {title} variable is the $title parameter in our method. The other two variables are defined and processed by the User Action Logs module and component when rendering the user actions log.&lt;br /&gt;
&lt;br /&gt;
Caveat: Since Joomla 4 has not yet integrated the Action Logs component and plugins the code above will not work on Joomla! 4. If / when Action Logs are ported to Joomla 4 we&#039;ll have to revisit this documentation page since neither JModelLegacy is available, nor will the Model name be ActionlogsModelActionlog.&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=User:Sandra97/SandBox&amp;diff=217858</id>
		<title>User:Sandra97/SandBox</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=User:Sandra97/SandBox&amp;diff=217858"/>
		<updated>2015-08-20T17:01:20Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Small language improvements&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Two Factor Authentication&lt;br /&gt;
&lt;br /&gt;
Joomla! was the first major CMS to implement two-factor authentication. Add a single-use code received on your cell phone or a Yubikey to your existing passwords to make your site extra hacker-proof.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;video-container&amp;quot; style=&amp;quot;text-align:center&amp;quot;&amp;gt;&lt;br /&gt;
{{#widget:YouTube|id=NbG6eehASW8}}&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Traditionally, when you want to log in to a website, you have to provide your username and your password in order to identify you to the system.&lt;br /&gt;
The biggest problem with this approach is that the username and password can be stolen or can be guessed. &lt;br /&gt;
For example, if your computer is infested with malware or if you try to access your site from an untrusted network, such as a public WiFi hotspot, it is possible that someone intercepts your username and password. This means that they can log in to your site as yourself. Your site can be hacked at that point.&lt;br /&gt;
&lt;br /&gt;
In order to prevent that, Joomla! 3.2.0 and later versions comes with a built-in two factor authentication system that secures your site login with a secondary, single use secret code. &lt;br /&gt;
&lt;br /&gt;
==Enable Two Factor Authentication==&lt;br /&gt;
The very first time you’re installing Joomla! 3.2 or higher, and access your backend, you’ll see a notice about post-installation messages. &lt;br /&gt;
&lt;br /&gt;
[[Image:Joomla-two-factor-authentication-post-installation-en.png]]&lt;br /&gt;
&lt;br /&gt;
Click on the &#039;&#039;Review Messages&#039;&#039; button, you’ll see a screen which indicates that Two Factor Authentication is Available.&lt;br /&gt;
Click on the &#039;&#039;Enable two factor authentication&#039;&#039; button.&lt;br /&gt;
&lt;br /&gt;
[[Image:Joomla-two-factor-authentication-enable-en.png]]&lt;br /&gt;
&lt;br /&gt;
To set up the Two Factor Authentication, go to the User Manager, edit a User and go to the Two Factor Authentication Tab: &lt;br /&gt;
&lt;br /&gt;
[[Image:Joomla-two-factor-authentication-tab-en.png]]&lt;br /&gt;
&lt;br /&gt;
Two authentication methods are available:&lt;br /&gt;
===Google Authenticator=== &lt;br /&gt;
[[wikipedia:Google_Authenticator|Google Authenticator]] is an application for smartphones and desktops created by Google which allows you to generate a six digit security password which changes every 30 seconds. In order to log in to your site, you’ll need to use your username, your password and the six digit security code which changes every thirty seconds. &lt;br /&gt;
&lt;br /&gt;
You can enable Two Factor Authentication for the Frontend, the Backend or for Both. This can be set up in the plug-in &#039;&#039;Two Factor Authentication – Google Authenticator&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This provides extra protection against hackers trying to log in to your account. Even if they were able to get hold of your credentials they have a maximum 30s to hack you site. This is usually not practical for hackers. In this way,  the two factor authentication prevents your site against unauthorized access. &lt;br /&gt;
&lt;br /&gt;
Setting up the two factor authentication with Google Authenticator is actually really easy.&lt;br /&gt;
====Step 1 – Get Google Authenticator====&lt;br /&gt;
Download and Install Google Authenticator on your smartphone or desktop.&lt;br /&gt;
&lt;br /&gt;
[[Image:Joomla-Google-Authenticator-download-en.png]]&lt;br /&gt;
&lt;br /&gt;
====Step 2 - Set up====&lt;br /&gt;
You can see a QR Code to scan with a mobile phone with the application of google authenticator installed. &lt;br /&gt;
&lt;br /&gt;
[[Image:Joomla-Google-Authenticator-setup-en.png]]&lt;br /&gt;
&lt;br /&gt;
====Step 3 - Activate Two Factor Authentication====&lt;br /&gt;
Go to the Activate Two Factor Authenticator field and enter the six digit security code you can see on the screen of your mobile device. Then click on &#039;&#039;Save &amp;amp; Close&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Joomla-Google-Authenticator-activate-en.png]]&lt;br /&gt;
&lt;br /&gt;
Now, your site access is protected by Two Factor Authentication. &lt;br /&gt;
Log out from your backend, you’ll see that instead of asking for the username and password only, Joomla! is asking for a secret key. The Secret Key is the six digit password you can see on your Google Authenticator screen.&lt;br /&gt;
&lt;br /&gt;
[[Image:Joomla-Google-Authenticator-login-en.png]]&lt;br /&gt;
&lt;br /&gt;
If you don’t enter the secret code or a random one, you won’t be able to login. This is what will happen to a hacker who tries to access your backend, since they don’t have the correct secret key.&lt;br /&gt;
&lt;br /&gt;
===Yubikey===&lt;br /&gt;
This feature allows you to use a Yubikey secure hardware token for two factor authentication. In addition to your username and password you will also need to insert your Yubikey into your computer&#039;s USB port, click inside the Secret Key area of the site&#039;s login area and touch Yubikey&#039;s gold disk. If you have an NFC-equipped Android smartphone you can just approach a compatible Yubikey token (Yubikey Neo) to the NFC reader to copy the secret code to the device&#039;s clipboard. The secret code generated by your Yubikey is unique to your device and changes constantly. This provides extra protection against hackers logging in to your account even if they were able to get hold of your password.&lt;br /&gt;
IMAGE&lt;br /&gt;
You can enable Two Factor Authentication for the Frontend, the Backend or for Both. This can be set up in the plug-in &#039;&#039;Two Factor Authentication – Yubikey&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Joomla-two-factor-authentication-Yubikey-en.png]]&lt;br /&gt;
&lt;br /&gt;
===Contributor===&lt;br /&gt;
*Nicholas Dionysopoulos&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Development_Best_Practices&amp;diff=121269</id>
		<title>Development Best Practices</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Development_Best_Practices&amp;diff=121269"/>
		<updated>2014-06-24T13:50:06Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Adding section on Javascript best practices&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{page|needs improvement|It is severely outdated and needs a major revision.}}&lt;br /&gt;
&lt;br /&gt;
== General Development Guidelines ==&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t use the DS or DIRECTORY_SEPARATOR constant when including files. It is no longer needed, as pointed out by [http://us2.php.net/manual/en/ref.filesystem.php#73954 Christian on php.net]&lt;br /&gt;
* Don&#039;t depend on register_globals. This is a HIGH security risk, and the feature has been deprecated in PHP 5.3 and removed in 5.4.&lt;br /&gt;
* Don&#039;t access the $_GET, $_POST, $_REQUEST, $_FILES and $_SERVER superglobals directly. Use JInput (typically: JFactory::getApplication()-&amp;gt;input) instead. JInput filters the input, helping you to easily write more secure software.&lt;br /&gt;
* Don&#039;t hardcode your SQL queries and do not include unescaped raw data into them. Always use JDatabase / JDatabaseQuery. It&#039;s as simple as JFactory::getDbo()-&amp;gt;getQuery(true).&lt;br /&gt;
* Don&#039;t use arbitrary entry points, i.e. .php files which must be accessible outside Joomla!, directly from the web. Typically used to accommodate for payment processors and image resizers, this practice is extremely insecure and strongly discouraged. Use a Joomla! component or a system plugin instead.&lt;br /&gt;
* Don&#039;t reinvent the wheel. If there&#039;s a Joomla! class to do that try using it before you roll your own. Chances are the core class is already good enough and much better tested.&lt;br /&gt;
&lt;br /&gt;
* Do use sensible prefixes for your table names. If your component is called com_foobar it stands to reason that its tables follow the naming pattern #__foobar_something (good) instead of #__fbr_something (bad) or even #__something (really bad).&lt;br /&gt;
* Do test your extensions with pre-release versions of Joomla! and/or the &amp;quot;staging&amp;quot; branch of the Git repository. Making sure that users of your extension can update Joomla! safely is your responsibility.&lt;br /&gt;
* Do provide documentation for your extensions. Even a short video with less than stellar English is better than nothing.&lt;br /&gt;
* Do use JText to translate the output of your extension instead of hardcoding text. The vast majority of Joomla! users are not native English speakers and they will thank you for your consideration.&lt;br /&gt;
* Do comment your code. Not just for the people who have to work with it, but also yourself six months from now.&lt;br /&gt;
* Do test your code under real usage conditions, with real world data sets. You might be surprised at what you find.&lt;br /&gt;
&lt;br /&gt;
== Where should I place JavaScript, CSS files that belong to my Component? ==&lt;br /&gt;
You can see in your root a general media folder to hold all assets.&lt;br /&gt;
&lt;br /&gt;
What this means in real terms is that when in your xml install manifest, if you put files insite a &amp;lt;media&amp;gt; tag instead of a &amp;lt;files&amp;gt; tag then they will be sent to the JPATH_ROOT/media folder.  If you give it &amp;lt;media destination=&amp;quot;com_foo&amp;quot;&amp;gt; then it will put the files in JPATH_ROOT/media/com_foo&lt;br /&gt;
&lt;br /&gt;
In some cases you have a component, we&#039;ll say com_foo, and then you have a few modules that go along with com_foo... for sake of the example we&#039;ll call them mod_foo_1, mod_foo_2 and mod_foo_3.  There is no reason to package media elements for the three modules if they are all the same and they depend upon the component anyway.  The best and most logical way to do things is to put them all in a central place that is namespaced appropriately. &lt;br /&gt;
&lt;br /&gt;
== Where should I place files generated by my Component? ==&lt;br /&gt;
It depends on the nature of these files. There are two decisive factors:&lt;br /&gt;
&lt;br /&gt;
* The permanence of the file: temporary, cache or permanent. Temporary files are files which are supposed to be removed immediately after use, before the page load completes. Cache files will be stored on the server for a while, at most until their expiration date. Both temporary and cache files can be deleted without prior warning and your code must anticipate that. Permanent files, on the other hand, are not meant to be removed automatically.&lt;br /&gt;
* The disposition of the file: web accessible or web inaccessible. The web accessible files are those which MUST be able to be accessed over the web, e.g. when you type their URL in a web browser. The web inaccessible files are those which NEEDN&#039;T be able to be accessed over the web.&lt;br /&gt;
&lt;br /&gt;
This gives us the following possibilities:&lt;br /&gt;
* Temporary, web inaccessible. Use Joomla!&#039;s temp-directory. You can get it by doing JFactory::getConfig()-&amp;gt;get(&#039;tmp_path&#039;). Hardcoding the path as JPATH_ROOT . &#039;/tmp&#039; is a bad practice and you must not do it.&lt;br /&gt;
* Temporary, web accessible. That&#039;s not acceptable! Temporary files are by definition inaccessible from the web. Maybe you really meant &amp;quot;cache&amp;quot; instead of &amp;quot;temporary&amp;quot;?&lt;br /&gt;
* Cache, web inaccessible. Use the defined Joomla! cache directory. Use the JPATH_CACHE constant to find its location. Please note that the cache directory may be different in the front-end and back-end of your site.&lt;br /&gt;
* Cache, web accessible. Use a subdirectory of the media folder. See the section about Javascript and CSS files, it&#039;s the same thing.&lt;br /&gt;
* Permanent, web inaccessible. Use a folder under your extension&#039;s main directory. If you really want the files to be completely inaccessible from the web remember to place a .htaccess file or, better yet, give your users the option to use a directory outside the site&#039;s root.&lt;br /&gt;
* Permanent, web accessible. Use a subdirectory of the media folder. See the section about Javascript and CSS files, it&#039;s the same thing.&lt;br /&gt;
&lt;br /&gt;
This applies to all files handled by your Component, including files your code generates and files the users of your component upload / generate.&lt;br /&gt;
&lt;br /&gt;
Finally, if you want to manage log files you are advised to use the JLog class instead of rolling your own solution.&lt;br /&gt;
&lt;br /&gt;
== Considerations for Javascript ==&lt;br /&gt;
When you are using addScriptDeclaration to add inline Javascript in a Joomla! page you have to be very considerate about your code&#039;s interaction with other Javascript from other extensions running on the same page. Good practices include:&lt;br /&gt;
* Do terminate your Javascript with a semicolon and a newline. If both are missing, your code is the source of Javascript errors as soon as another developer&#039;s code uses addScriptDeclaration after your code.&lt;br /&gt;
* Do make sure your Javascript code is valid and doesn&#039;t throw errors. Errors in your code will render any code after it inoperable.&lt;br /&gt;
* Do use try/catch blocks for risky code. If you are unsure if some code is risky just surround it with a try/catch block anyway.&lt;br /&gt;
* Do load your inline Javascript in the view template, not the view class (view.html.php file). Most likely it depends on the DOM which will be different when a site integrator uses a template override.&lt;br /&gt;
&lt;br /&gt;
Other good practices concerning Javascript code in your extensions includes:&lt;br /&gt;
* Don&#039;t modify core Javascript objects including jQuery, mooTools and everything in the Joomla Javascript object. If you want to modify a core object, subclass. If you are not sure, subclass.&lt;br /&gt;
* Do not meddle with other developers&#039; code. This includes moving script tags to the bottom of the page or forcibly removing script tags (e.g. removing any script tag whose source URL includes the strong &amp;quot;jq&amp;quot; – you know for whom the bell tolls).&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:JavaScript]]&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Development_Best_Practices&amp;diff=121268</id>
		<title>Development Best Practices</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Development_Best_Practices&amp;diff=121268"/>
		<updated>2014-06-24T13:39:07Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Adding to General Development Guidelines&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{page|needs improvement|It is severely outdated and needs a major revision.}}&lt;br /&gt;
&lt;br /&gt;
== General Development Guidelines ==&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t use the DS or DIRECTORY_SEPARATOR constant when including files. It is no longer needed, as pointed out by [http://us2.php.net/manual/en/ref.filesystem.php#73954 Christian on php.net]&lt;br /&gt;
* Don&#039;t depend on register_globals. This is a HIGH security risk, and the feature has been deprecated in PHP 5.3 and removed in 5.4.&lt;br /&gt;
* Don&#039;t access the $_GET, $_POST, $_REQUEST, $_FILES and $_SERVER superglobals directly. Use JInput (typically: JFactory::getApplication()-&amp;gt;input) instead. JInput filters the input, helping you to easily write more secure software.&lt;br /&gt;
* Don&#039;t hardcode your SQL queries and do not include unescaped raw data into them. Always use JDatabase / JDatabaseQuery. It&#039;s as simple as JFactory::getDbo()-&amp;gt;getQuery(true).&lt;br /&gt;
* Don&#039;t use arbitrary entry points, i.e. .php files which must be accessible outside Joomla!, directly from the web. Typically used to accommodate for payment processors and image resizers, this practice is extremely insecure and strongly discouraged. Use a Joomla! component or a system plugin instead.&lt;br /&gt;
* Don&#039;t reinvent the wheel. If there&#039;s a Joomla! class to do that try using it before you roll your own. Chances are the core class is already good enough and much better tested.&lt;br /&gt;
&lt;br /&gt;
* Do use sensible prefixes for your table names. If your component is called com_foobar it stands to reason that its tables follow the naming pattern #__foobar_something (good) instead of #__fbr_something (bad) or even #__something (really bad).&lt;br /&gt;
* Do test your extensions with pre-release versions of Joomla! and/or the &amp;quot;staging&amp;quot; branch of the Git repository. Making sure that users of your extension can update Joomla! safely is your responsibility.&lt;br /&gt;
* Do provide documentation for your extensions. Even a short video with less than stellar English is better than nothing.&lt;br /&gt;
* Do use JText to translate the output of your extension instead of hardcoding text. The vast majority of Joomla! users are not native English speakers and they will thank you for your consideration.&lt;br /&gt;
* Do comment your code. Not just for the people who have to work with it, but also yourself six months from now.&lt;br /&gt;
* Do test your code under real usage conditions, with real world data sets. You might be surprised at what you find.&lt;br /&gt;
&lt;br /&gt;
== Where should I place JavaScript, CSS files that belong to my Component? ==&lt;br /&gt;
You can see in your root a general media folder to hold all assets.&lt;br /&gt;
&lt;br /&gt;
What this means in real terms is that when in your xml install manifest, if you put files insite a &amp;lt;media&amp;gt; tag instead of a &amp;lt;files&amp;gt; tag then they will be sent to the JPATH_ROOT/media folder.  If you give it &amp;lt;media destination=&amp;quot;com_foo&amp;quot;&amp;gt; then it will put the files in JPATH_ROOT/media/com_foo&lt;br /&gt;
&lt;br /&gt;
In some cases you have a component, we&#039;ll say com_foo, and then you have a few modules that go along with com_foo... for sake of the example we&#039;ll call them mod_foo_1, mod_foo_2 and mod_foo_3.  There is no reason to package media elements for the three modules if they are all the same and they depend upon the component anyway.  The best and most logical way to do things is to put them all in a central place that is namespaced appropriately. &lt;br /&gt;
&lt;br /&gt;
== Where should I place files generated by my Component? ==&lt;br /&gt;
It depends on the nature of these files. There are two decisive factors:&lt;br /&gt;
&lt;br /&gt;
* The permanence of the file: temporary, cache or permanent. Temporary files are files which are supposed to be removed immediately after use, before the page load completes. Cache files will be stored on the server for a while, at most until their expiration date. Both temporary and cache files can be deleted without prior warning and your code must anticipate that. Permanent files, on the other hand, are not meant to be removed automatically.&lt;br /&gt;
* The disposition of the file: web accessible or web inaccessible. The web accessible files are those which MUST be able to be accessed over the web, e.g. when you type their URL in a web browser. The web inaccessible files are those which NEEDN&#039;T be able to be accessed over the web.&lt;br /&gt;
&lt;br /&gt;
This gives us the following possibilities:&lt;br /&gt;
* Temporary, web inaccessible. Use Joomla!&#039;s temp-directory. You can get it by doing JFactory::getConfig()-&amp;gt;get(&#039;tmp_path&#039;). Hardcoding the path as JPATH_ROOT . &#039;/tmp&#039; is a bad practice and you must not do it.&lt;br /&gt;
* Temporary, web accessible. That&#039;s not acceptable! Temporary files are by definition inaccessible from the web. Maybe you really meant &amp;quot;cache&amp;quot; instead of &amp;quot;temporary&amp;quot;?&lt;br /&gt;
* Cache, web inaccessible. Use the defined Joomla! cache directory. Use the JPATH_CACHE constant to find its location. Please note that the cache directory may be different in the front-end and back-end of your site.&lt;br /&gt;
* Cache, web accessible. Use a subdirectory of the media folder. See the section about Javascript and CSS files, it&#039;s the same thing.&lt;br /&gt;
* Permanent, web inaccessible. Use a folder under your extension&#039;s main directory. If you really want the files to be completely inaccessible from the web remember to place a .htaccess file or, better yet, give your users the option to use a directory outside the site&#039;s root.&lt;br /&gt;
* Permanent, web accessible. Use a subdirectory of the media folder. See the section about Javascript and CSS files, it&#039;s the same thing.&lt;br /&gt;
&lt;br /&gt;
This applies to all files handled by your Component, including files your code generates and files the users of your component upload / generate.&lt;br /&gt;
&lt;br /&gt;
Finally, if you want to manage log files you are advised to use the JLog class instead of rolling your own solution.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:JavaScript]]&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Development_Best_Practices&amp;diff=121267</id>
		<title>Development Best Practices</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Development_Best_Practices&amp;diff=121267"/>
		<updated>2014-06-24T13:22:33Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Added section on generated files&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{page|needs improvement|It is severely outdated and needs a major revision.}}&lt;br /&gt;
&lt;br /&gt;
== General Development Guidelines ==&lt;br /&gt;
&lt;br /&gt;
* Don&#039;t use the DS or DIRECTORY_SEPARATOR constant when including files. It is no longer needed, as pointed out by [http://us2.php.net/manual/en/ref.filesystem.php#73954 Christian on php.net]&lt;br /&gt;
* Don&#039;t depend on register_globals. This is a HIGH security risk, and the feature has been deprecated in PHP 5.3 and removed in 5.4.&lt;br /&gt;
&lt;br /&gt;
== Where should I place JavaScript, CSS files that belong to my Component? ==&lt;br /&gt;
You can see in your root a general media folder to hold all assets.&lt;br /&gt;
&lt;br /&gt;
What this means in real terms is that when in your xml install manifest, if you put files insite a &amp;lt;media&amp;gt; tag instead of a &amp;lt;files&amp;gt; tag then they will be sent to the JPATH_ROOT/media folder.  If you give it &amp;lt;media destination=&amp;quot;com_foo&amp;quot;&amp;gt; then it will put the files in JPATH_ROOT/media/com_foo&lt;br /&gt;
&lt;br /&gt;
In some cases you have a component, we&#039;ll say com_foo, and then you have a few modules that go along with com_foo... for sake of the example we&#039;ll call them mod_foo_1, mod_foo_2 and mod_foo_3.  There is no reason to package media elements for the three modules if they are all the same and they depend upon the component anyway.  The best and most logical way to do things is to put them all in a central place that is namespaced appropriately. &lt;br /&gt;
&lt;br /&gt;
== Where should I place files generated by my Component? ==&lt;br /&gt;
It depends on the nature of these files. There are two decisive factors:&lt;br /&gt;
&lt;br /&gt;
* The permanence of the file: temporary, cache or permanent. Temporary files are files which are supposed to be removed immediately after use, before the page load completes. Cache files will be stored on the server for a while, at most until their expiration date. Both temporary and cache files can be deleted without prior warning and your code must anticipate that. Permanent files, on the other hand, are not meant to be removed automatically.&lt;br /&gt;
* The disposition of the file: web accessible or web inaccessible. The web accessible files are those which MUST be able to be accessed over the web, e.g. when you type their URL in a web browser. The web inaccessible files are those which NEEDN&#039;T be able to be accessed over the web.&lt;br /&gt;
&lt;br /&gt;
This gives us the following possibilities:&lt;br /&gt;
* Temporary, web inaccessible. Use Joomla!&#039;s temp-directory. You can get it by doing JFactory::getConfig()-&amp;gt;get(&#039;tmp_path&#039;). Hardcoding the path as JPATH_ROOT . &#039;/tmp&#039; is a bad practice and you must not do it.&lt;br /&gt;
* Temporary, web accessible. That&#039;s not acceptable! Temporary files are by definition inaccessible from the web. Maybe you really meant &amp;quot;cache&amp;quot; instead of &amp;quot;temporary&amp;quot;?&lt;br /&gt;
* Cache, web inaccessible. Use the defined Joomla! cache directory. Use the JPATH_CACHE constant to find its location. Please note that the cache directory may be different in the front-end and back-end of your site.&lt;br /&gt;
* Cache, web accessible. Use a subdirectory of the media folder. See the section about Javascript and CSS files, it&#039;s the same thing.&lt;br /&gt;
* Permanent, web inaccessible. Use a folder under your extension&#039;s main directory. If you really want the files to be completely inaccessible from the web remember to place a .htaccess file or, better yet, give your users the option to use a directory outside the site&#039;s root.&lt;br /&gt;
* Permanent, web accessible. Use a subdirectory of the media folder. See the section about Javascript and CSS files, it&#039;s the same thing.&lt;br /&gt;
&lt;br /&gt;
This applies to all files handled by your Component, including files your code generates and files the users of your component upload / generate.&lt;br /&gt;
&lt;br /&gt;
Finally, if you want to manage log files you are advised to use the JLog class instead of rolling your own solution.&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:JavaScript]]&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Rapid_Application_Development_for_CMS_Working_Group&amp;diff=105803</id>
		<title>Rapid Application Development for CMS Working Group</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Rapid_Application_Development_for_CMS_Working_Group&amp;diff=105803"/>
		<updated>2013-11-26T07:17:36Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: /* External resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Rapid Application Development for CMS Working Group is a Production Working Group. It is responsible for maintaining and improving Joomla&#039;s Rapid Application Development layer.&lt;br /&gt;
&lt;br /&gt;
==Coordinators &amp;amp; PLT Contact==&lt;br /&gt;
The coordinator for this working group is Nicholas Dionysopoulos.&lt;br /&gt;
&lt;br /&gt;
The PLT Contact for this working group is [mailto:roberto.segura@community.joomla.org Roberto Segura].&lt;br /&gt;
&lt;br /&gt;
==Announcements==&lt;br /&gt;
&lt;br /&gt;
==External resources==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/akeeba/fof Github Repository]&lt;br /&gt;
* [https://groups.google.com/forum/#!forum/frameworkonframework Mailing list]&lt;br /&gt;
&lt;br /&gt;
==Deliverables==&lt;br /&gt;
&lt;br /&gt;
==Technical Work produced by this group==&lt;br /&gt;
&lt;br /&gt;
==Communications==&lt;br /&gt;
&lt;br /&gt;
==Roadmap==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation Working Group]]&lt;br /&gt;
[[Category:Working Groups]]&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Creating_a_profile_plugin&amp;diff=69443</id>
		<title>Creating a profile plugin</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Creating_a_profile_plugin&amp;diff=69443"/>
		<updated>2012-07-26T20:48:22Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Fixes for Joomla! 2.5+ compatibility; thanks to Christian Hent for the heads up&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Profile plugin is a new extension in Joomla! 1.6. It allows the addition of supplemental fields in the registration and profile forms of the com_user front end and in the user create/edit form in the back end.&lt;br /&gt;
&lt;br /&gt;
A simple example plugin with the name &#039;&#039;&#039;User - Profile&#039;&#039;&#039; is included in the basic Joomla! installation as a proof of concept. Much more complex plugins are possible.&lt;br /&gt;
&lt;br /&gt;
The example plugin takes advantage of on the onContentPrepareForm and onUserAfterSave events. &lt;br /&gt;
&lt;br /&gt;
Multiple profile plugins may be included and will be rendered in sequence.&lt;br /&gt;
&lt;br /&gt;
There are four separate places where profiles forms are used in core extensions, and each of these four can be manipulated separately if that is desired. The two locations in the front end are the user registration form and the user profile edit form. In the back end the locations are the edit screen for users in the user manager and the My Profile view found in the Admin menu.&lt;br /&gt;
&lt;br /&gt;
This page shows an example of a second plugin, named profile5. It adds a single field called something.&lt;br /&gt;
&lt;br /&gt;
This is the file structure&lt;br /&gt;
&lt;br /&gt;
 profile5.php&lt;br /&gt;
 profile5.xml&lt;br /&gt;
 en-GB.plg_user_profile5.ini&lt;br /&gt;
 en-GB.plg_user_profile5.sys.ini&lt;br /&gt;
 /profiles/profile.xml&lt;br /&gt;
&lt;br /&gt;
The supplemental fields are created within the profile.xml file in the profiles folder. Note that this file name is &amp;quot;profile.xml&amp;quot; NOT &amp;quot;profile5.xml&amp;quot;, but inside the file the fields and fieldset names ARE &amp;quot;profile5&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
	&amp;lt;fields name=&amp;quot;profile5&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;fieldset name=&amp;quot;profile5&amp;quot;&lt;br /&gt;
			label=&amp;quot;PLG_USER_PROFILE5_SLIDER_LABEL&amp;quot;&lt;br /&gt;
		&amp;gt;&lt;br /&gt;
			&amp;lt;field&lt;br /&gt;
				name=&amp;quot;something&amp;quot;&lt;br /&gt;
				type=&amp;quot;text&amp;quot;&lt;br /&gt;
				id=&amp;quot;something&amp;quot;&lt;br /&gt;
				description=&amp;quot;PLG_USER_PROFILE5_FIELD_SOMETHING_DESC&amp;quot;&lt;br /&gt;
				filter=&amp;quot;string&amp;quot;&lt;br /&gt;
				label=&amp;quot;PLG_USER_PROFILE5_FIELD_SOMETHING_LABEL&amp;quot;&lt;br /&gt;
				message=&amp;quot;PLG_USER_PROFILE5_FIELD_SOMETHING_MESSAGE&amp;quot;&lt;br /&gt;
				size=&amp;quot;30&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
	&amp;lt;/fields&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
profile5.php &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;
 /**&lt;br /&gt;
  * @version		&lt;br /&gt;
  * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.&lt;br /&gt;
  * @license		GNU General Public License version 2 or later; see LICENSE.txt&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
 defined(&#039;JPATH_BASE&#039;) or die;&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * An example custom profile plugin.&lt;br /&gt;
   *&lt;br /&gt;
   * @package		Joomla.Plugins&lt;br /&gt;
   * @subpackage	user.profile&lt;br /&gt;
   * @version		1.6&lt;br /&gt;
   */&lt;br /&gt;
  class plgUserProfile5 extends JPlugin&lt;br /&gt;
  {&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param	string	The context for the data&lt;br /&gt;
	 * @param	int		The user id&lt;br /&gt;
	 * @param	object&lt;br /&gt;
	 * @return	boolean&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	function onContentPrepareData($context, $data)&lt;br /&gt;
	{&lt;br /&gt;
		// Check we are manipulating a valid form.&lt;br /&gt;
		if (!in_array($context, array(&#039;com_users.profile&#039;,&#039;com_users.registration&#039;,&#039;com_users.user&#039;,&#039;com_admin.profile&#039;))){&lt;br /&gt;
			return true;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$userId = isset($data-&amp;gt;id) ? $data-&amp;gt;id : 0;&lt;br /&gt;
&lt;br /&gt;
		// Load the profile data from the database.&lt;br /&gt;
		$db = &amp;amp;JFactory::getDbo();&lt;br /&gt;
		$db-&amp;gt;setQuery(&lt;br /&gt;
			&#039;SELECT profile_key, profile_value FROM #__user_profiles&#039; .&lt;br /&gt;
			&#039; WHERE user_id = &#039;.(int) $userId .&lt;br /&gt;
			&#039; AND profile_key LIKE \&#039;profile5.%\&#039;&#039; .&lt;br /&gt;
			&#039; ORDER BY ordering&#039;&lt;br /&gt;
		);&lt;br /&gt;
		$results = $db-&amp;gt;loadRowList();&lt;br /&gt;
&lt;br /&gt;
		// Check for a database error.&lt;br /&gt;
		if ($db-&amp;gt;getErrorNum()) {&lt;br /&gt;
			$this-&amp;gt;_subject-&amp;gt;setError($db-&amp;gt;getErrorMsg());&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// Merge the profile data.&lt;br /&gt;
		$data-&amp;gt;profile5 = array();&lt;br /&gt;
		foreach ($results as $v) {&lt;br /&gt;
			$k = str_replace(&#039;profile5.&#039;, &#039;&#039;, $v[0]);&lt;br /&gt;
			$data-&amp;gt;profile5[$k] = json_decode($v[1], true);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * @param	JForm	The form to be altered.&lt;br /&gt;
	 * @param	array	The associated data for the form.&lt;br /&gt;
	 * @return	boolean&lt;br /&gt;
	 * @since	1.6&lt;br /&gt;
	 */&lt;br /&gt;
	function onContentPrepareForm($form, $data)&lt;br /&gt;
	{&lt;br /&gt;
		// Load user_profile plugin language&lt;br /&gt;
		$lang = JFactory::getLanguage();&lt;br /&gt;
		$lang-&amp;gt;load(&#039;plg_user_profile5&#039;, JPATH_ADMINISTRATOR);&lt;br /&gt;
&lt;br /&gt;
		if (!($form instanceof JForm)) {&lt;br /&gt;
			$this-&amp;gt;_subject-&amp;gt;setError(&#039;JERROR_NOT_A_FORM&#039;);&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
		// Check we are manipulating a valid form.&lt;br /&gt;
		if (!in_array($form-&amp;gt;getName(), array(&#039;com_users.profile&#039;, &#039;com_users.registration&#039;,&#039;com_users.user&#039;,&#039;com_admin.profile&#039;))) {&lt;br /&gt;
			return true;&lt;br /&gt;
		}&lt;br /&gt;
		if ($form-&amp;gt;getName()==&#039;com_users.profile&#039;)&lt;br /&gt;
		{&lt;br /&gt;
			// Add the profile fields to the form.&lt;br /&gt;
			JForm::addFormPath(dirname(__FILE__).&#039;/profiles&#039;);&lt;br /&gt;
			$form-&amp;gt;loadFile(&#039;profile&#039;, false);&lt;br /&gt;
	&lt;br /&gt;
			// Toggle whether the something field is required.&lt;br /&gt;
			if ($this-&amp;gt;params-&amp;gt;get(&#039;profile-require_something&#039;, 1) &amp;gt; 0) {&lt;br /&gt;
				$form-&amp;gt;setFieldAttribute(&#039;something&#039;, &#039;required&#039;, $this-&amp;gt;params-&amp;gt;get(&#039;profile-require_something&#039;) == 2, &#039;profile5&#039;);&lt;br /&gt;
			} else {&lt;br /&gt;
				$form-&amp;gt;removeField(&#039;something&#039;, &#039;profile5&#039;);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		//In this example, we treat the frontend registration and the back end user create or edit as the same. &lt;br /&gt;
		elseif ($form-&amp;gt;getName()==&#039;com_users.registration&#039; || $form-&amp;gt;getName()==&#039;com_users.user&#039; )&lt;br /&gt;
		{		&lt;br /&gt;
			// Add the registration fields to the form.&lt;br /&gt;
			JForm::addFormPath(dirname(__FILE__).&#039;/profiles&#039;);&lt;br /&gt;
			$form-&amp;gt;loadFile(&#039;profile&#039;, false);&lt;br /&gt;
			&lt;br /&gt;
			// Toggle whether the something field is required.&lt;br /&gt;
			if ($this-&amp;gt;params-&amp;gt;get(&#039;register-require_something&#039;, 1) &amp;gt; 0) {&lt;br /&gt;
				$form-&amp;gt;setFieldAttribute(&#039;something&#039;, &#039;required&#039;, $this-&amp;gt;params-&amp;gt;get(&#039;register-require_something&#039;) == 2, &#039;profile5&#039;);&lt;br /&gt;
			} else {&lt;br /&gt;
				$form-&amp;gt;removeField(&#039;something&#039;, &#039;profile5&#039;);&lt;br /&gt;
			}&lt;br /&gt;
		}			&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function onUserAfterSave($data, $isNew, $result, $error)&lt;br /&gt;
	{&lt;br /&gt;
		$userId	= JArrayHelper::getValue($data, &#039;id&#039;, 0, &#039;int&#039;);&lt;br /&gt;
&lt;br /&gt;
		if ($userId &amp;amp;&amp;amp; $result &amp;amp;&amp;amp; isset($data[&#039;profile5&#039;]) &amp;amp;&amp;amp; (count($data[&#039;profile5&#039;])))&lt;br /&gt;
		{&lt;br /&gt;
			try&lt;br /&gt;
			{&lt;br /&gt;
				$db = &amp;amp;JFactory::getDbo();&lt;br /&gt;
				$db-&amp;gt;setQuery(&#039;DELETE FROM #__user_profiles WHERE user_id = &#039;.$userId.&#039; AND profile_key LIKE \&#039;profile5.%\&#039;&#039;);&lt;br /&gt;
				if (!$db-&amp;gt;query()) {&lt;br /&gt;
					throw new Exception($db-&amp;gt;getErrorMsg());&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				$tuples = array();&lt;br /&gt;
				$order	= 1;&lt;br /&gt;
				foreach ($data[&#039;profile5&#039;] as $k =&amp;gt; $v) {&lt;br /&gt;
					$tuples[] = &#039;(&#039;.$userId.&#039;, &#039;.$db-&amp;gt;quote(&#039;profile5.&#039;.$k).&#039;, &#039;.$db-&amp;gt;quote(json_encode($v)).&#039;, &#039;.$order++.&#039;)&#039;;&lt;br /&gt;
				}&lt;br /&gt;
&lt;br /&gt;
				$db-&amp;gt;setQuery(&#039;INSERT INTO #__user_profiles VALUES &#039;.implode(&#039;, &#039;, $tuples));&lt;br /&gt;
				if (!$db-&amp;gt;query()) {&lt;br /&gt;
					throw new Exception($db-&amp;gt;getErrorMsg());&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			catch (JException $e) {&lt;br /&gt;
				$this-&amp;gt;_subject-&amp;gt;setError($e-&amp;gt;getMessage());&lt;br /&gt;
				return false;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/**&lt;br /&gt;
	 * Remove all user profile information for the given user ID&lt;br /&gt;
	 *&lt;br /&gt;
	 * Method is called after user data is deleted from the database&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param	array		$user		Holds the user data&lt;br /&gt;
	 * @param	boolean		$success	True if user was succesfully stored in the database&lt;br /&gt;
	 * @param	string		$msg		Message&lt;br /&gt;
	 */&lt;br /&gt;
	function onUserAfterDelete($user, $success, $msg)&lt;br /&gt;
	{&lt;br /&gt;
		if (!$success) {&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		$userId	= JArrayHelper::getValue($user, &#039;id&#039;, 0, &#039;int&#039;);&lt;br /&gt;
&lt;br /&gt;
		if ($userId)&lt;br /&gt;
		{&lt;br /&gt;
			try&lt;br /&gt;
			{&lt;br /&gt;
				$db = JFactory::getDbo();&lt;br /&gt;
				$db-&amp;gt;setQuery(&lt;br /&gt;
					&#039;DELETE FROM #__user_profiles WHERE user_id = &#039;.$userId .&lt;br /&gt;
					&amp;quot; AND profile_key LIKE &#039;profile5.%&#039;&amp;quot;&lt;br /&gt;
				);&lt;br /&gt;
&lt;br /&gt;
				if (!$db-&amp;gt;query()) {&lt;br /&gt;
					throw new Exception($db-&amp;gt;getErrorMsg());&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			catch (JException $e)&lt;br /&gt;
			{&lt;br /&gt;
				$this-&amp;gt;_subject-&amp;gt;setError($e-&amp;gt;getMessage());&lt;br /&gt;
				return false;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 }&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Profile5.xml controls whether the field is required, disabled or optional in the forms. Since profile5.php says to treat backend create/edit the same as registration only two sets of options are required, register and profile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
	&amp;lt;!-- $Id:  --&amp;gt;&lt;br /&gt;
 &amp;lt;extension version=&amp;quot;1.6&amp;quot; type=&amp;quot;plugin&amp;quot; group=&amp;quot;user&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;name&amp;gt;plg_user_profile5&amp;lt;/name&amp;gt;&lt;br /&gt;
	&amp;lt;author&amp;gt;Joomla! Project&amp;lt;/author&amp;gt;&lt;br /&gt;
	&amp;lt;creationDate&amp;gt;January 2008&amp;lt;/creationDate&amp;gt;&lt;br /&gt;
	&amp;lt;copyright&amp;gt;(C) 2005 - 2010 Open Source Matters. All rights reserved.&amp;lt;/copyright&amp;gt;&lt;br /&gt;
	&amp;lt;license&amp;gt;GNU General Public License version 2 or later; see LICENSE.txt&amp;lt;/license&amp;gt;&lt;br /&gt;
	&amp;lt;authorEmail&amp;gt;admin@joomla.org&amp;lt;/authorEmail&amp;gt;&lt;br /&gt;
	&amp;lt;authorUrl&amp;gt;www.joomla.org&amp;lt;/authorUrl&amp;gt;&lt;br /&gt;
	&amp;lt;version&amp;gt;1.6.0&amp;lt;/version&amp;gt;&lt;br /&gt;
	&amp;lt;description&amp;gt;PLG_USER_PROFILE5_XML_DESCRIPTION&amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;files&amp;gt;&lt;br /&gt;
		&amp;lt;filename plugin=&amp;quot;profile5&amp;quot;&amp;gt;profile5.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;filename&amp;gt;index.html&amp;lt;/filename&amp;gt;&lt;br /&gt;
		&amp;lt;folder&amp;gt;profiles&amp;lt;/folder&amp;gt;&lt;br /&gt;
	&amp;lt;/files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;languages&amp;gt;&lt;br /&gt;
		&amp;lt;language tag=&amp;quot;en-GB&amp;quot;&amp;gt;en-GB.plg_user_profile5.ini&amp;lt;/language&amp;gt;&lt;br /&gt;
		&amp;lt;language tag=&amp;quot;en-GB&amp;quot;&amp;gt;en-GB.plg_user_profile5.sys.ini&amp;lt;/language&amp;gt;&lt;br /&gt;
	&amp;lt;/languages&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;config&amp;gt;&lt;br /&gt;
		&amp;lt;fields name=&amp;quot;params&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;fieldset name=&amp;quot;basic&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;field name=&amp;quot;register-require-user&amp;quot; type=&amp;quot;spacer&amp;quot;&lt;br /&gt;
					label=&amp;quot;PLG_USER_PROFILE5_FIELD_NAME_REGISTER_REQUIRE_USER&amp;quot;&lt;br /&gt;
				/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;field name=&amp;quot;register-something&amp;quot; type=&amp;quot;list&amp;quot;&lt;br /&gt;
					description=&amp;quot;PLG_USER_PROFILE5_FIELD_SOMETHING_DESC&amp;quot;&lt;br /&gt;
					label=&amp;quot;PLG_USER_PROFILE5_FIELD_SOMETHING_LABEL&amp;quot;&lt;br /&gt;
				&amp;gt;&lt;br /&gt;
					&amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;JOPTION_REQUIRED&amp;lt;/option&amp;gt;&lt;br /&gt;
					&amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JOPTION_OPTIONAL&amp;lt;/option&amp;gt;&lt;br /&gt;
					&amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JDISABLED&amp;lt;/option&amp;gt;&lt;br /&gt;
				&amp;lt;/field&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;field name=&amp;quot;profile-require-user&amp;quot; type=&amp;quot;spacer&amp;quot;&lt;br /&gt;
					label=&amp;quot;PLG_USER_PROFILE5_FIELD_NAME_PROFILE_REQUIRE_USER&amp;quot;&lt;br /&gt;
				/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
				&amp;lt;field name=&amp;quot;profile-require_something&amp;quot; type=&amp;quot;list&amp;quot;&lt;br /&gt;
					description=&amp;quot;PLG_USER_PROFILE5_FIELD_SOMETHING_DESC&amp;quot;&lt;br /&gt;
					label=&amp;quot;PLG_USER_PROFILE5_FIELD_SOMETHING_LABEL&amp;quot;&lt;br /&gt;
				&amp;gt;&lt;br /&gt;
					&amp;lt;option value=&amp;quot;2&amp;quot;&amp;gt;JOPTION_REQUIRED&amp;lt;/option&amp;gt;&lt;br /&gt;
					&amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JOPTION_OPTIONAL&amp;lt;/option&amp;gt;&lt;br /&gt;
					&amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JDISABLED&amp;lt;/option&amp;gt;&lt;br /&gt;
				&amp;lt;/field&amp;gt;&lt;br /&gt;
&lt;br /&gt;
			&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;/fields&amp;gt;&lt;br /&gt;
	&amp;lt;/config&amp;gt;&lt;br /&gt;
 &amp;lt;/extension&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
en-GB.plg_user_profile5.ini&lt;br /&gt;
&lt;br /&gt;
 ; &lt;br /&gt;
 ; Joomla! Project&lt;br /&gt;
 ; Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.&lt;br /&gt;
 ; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php&lt;br /&gt;
 ; Note : All ini files need to be saved as UTF-8&lt;br /&gt;
 &lt;br /&gt;
 PLG_USER_PROFILE5_XML_DESCRIPTION=&amp;quot;User Profile 5 Plug-in&amp;quot;&lt;br /&gt;
 PLG_USER_PROFILE5=&amp;quot;User - Profile 5&amp;quot;&lt;br /&gt;
 PLG_USER_PROFILE5_SLIDER_LABEL=&amp;quot;User Profile 5&amp;quot;&lt;br /&gt;
 PLG_USER_PROFILE5_FIELD_NAME_REGISTER_REQUIRE_USER=&amp;quot;User profile fields for registration and administrator user profile 5 forms&amp;quot;&lt;br /&gt;
 PLG_USER_PROFILE5_FIELD_NAME_PROFILE_REQUIRE_USER=&amp;quot;User profile fields for profile 5 edit form&amp;quot;&lt;br /&gt;
 PLG_USER_PROFILE5_FIELD_SOMETHING_DESC=&amp;quot;Choose an option for the something filed&amp;quot;&lt;br /&gt;
 PLG_USER_PROFILE5_FIELD_SOMETHING_LABEL=&amp;quot;Something!&amp;quot;&lt;br /&gt;
 PLG_USER_PROFILE5_FIELD_SOMETHING_MESSAGE=&amp;quot;A Message for something!&amp;quot;&lt;br /&gt;
 PLG_USER_PROFILE5_XML_DESCRIPTION=&amp;quot;User Profile 5 Plug-in&amp;quot;&lt;br /&gt;
&lt;br /&gt;
en-GB.plg_user_profile5.sys.ini&lt;br /&gt;
&lt;br /&gt;
 ; $Id: en-GB.plg_user_profile.sys.ini 17052 2010-05-14 14:05:58Z infograf768 $&lt;br /&gt;
 ; Joomla! Project&lt;br /&gt;
 ; Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.&lt;br /&gt;
 ; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php&lt;br /&gt;
 ; Note : All ini files need to be saved as UTF-8&lt;br /&gt;
 &lt;br /&gt;
 PLG_USER_PROFILE5=&amp;quot;User - Profile 5 &amp;quot;&lt;br /&gt;
 PLG_USER_PROFILE5_XML_DESCRIPTION=&amp;quot;User Profile 5 Plug-in&amp;quot;&lt;br /&gt;
&lt;br /&gt;
By installing profile5 you can add new fields in addition to the ones in profile. You can also control which view levels see those fields.&lt;br /&gt;
Alternatively, you can write a more complex common plugin with varying controls for different groups.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]][[Category:Plugin Development]]&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Manifest_files&amp;diff=63514</id>
		<title>Manifest files</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Manifest_files&amp;diff=63514"/>
		<updated>2011-12-07T17:01:17Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Added information about language files + the largely undocumented way to present localised installation messages when installing plugins, modules, etc.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}&lt;br /&gt;
{{RightTOC}}&lt;br /&gt;
==Introduction==&lt;br /&gt;
Within Joomla there are manifest files for all of the extensions. These files include the general installation information as well as parameters for the configuration of the [[extension]] itself. Since Joomla! 1.6 {{JVer|1.6}}, there are very few differences between the manifest file formats for the different [[Extension types (technical definitions)|types of extensions]], allowing each type to access the full power of the Joomla! installer.&lt;br /&gt;
&lt;br /&gt;
==Naming conventions==&lt;br /&gt;
The file must be named &amp;lt;tt&amp;gt;manifest.xml&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;&amp;lt;extension_name&amp;gt;.xml&amp;lt;/tt&amp;gt; and located in the root directory of the installation package.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&lt;br /&gt;
=== Root element ===&lt;br /&gt;
The primary tag of the installation file is: &lt;br /&gt;
&amp;lt;source lang=xml&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/extension&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This starting and closing tags are now valid for all extensions. The new tag &amp;lt;extension&amp;gt; replaces the old &amp;lt;install&amp;gt;&amp;lt;/install&amp;gt; from Joomla {{JVer|1.5}}. The following attributes are allowed within the tag:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 150px&amp;quot; | Attribute || style=&amp;quot;width: 150px&amp;quot; | Values || Applicable&amp;amp;nbsp;to || Description&lt;br /&gt;
|-&lt;br /&gt;
| type || &amp;lt;code&amp;gt;component&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;module&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;plugin&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;template&amp;lt;/code&amp;gt; || All extensions&lt;br /&gt;
| This attribute describes the type of the extension for the installer. Based on this type further requirements to sub-tags apply.&lt;br /&gt;
|-&lt;br /&gt;
| version&lt;br /&gt;
| &amp;lt;code&amp;gt;1.6&amp;lt;/code&amp;gt; || All extensions&lt;br /&gt;
| String that identifies the version of Joomla for which this extension is developed. For Joomla 1.6 a version higher than 1.5 is required.&lt;br /&gt;
|-&lt;br /&gt;
| method&lt;br /&gt;
| &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;upgrade&amp;lt;/code&amp;gt; || All extensions&lt;br /&gt;
| The default value install will be also used if the method attribute is not used. In these cases the installer will gracefully stop if he finds any existing file/folder of the new extension&lt;br /&gt;
|-&lt;br /&gt;
| client&lt;br /&gt;
| &amp;lt;code&amp;gt;site&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;administrator&amp;lt;/code&amp;gt; || Modules&lt;br /&gt;
| The client allows to specify for which application client the new module is available.&lt;br /&gt;
|-&lt;br /&gt;
| group&lt;br /&gt;
| &#039;&#039;string&#039;&#039; || Plugins&lt;br /&gt;
| The group name specifies for which group of plugins the new plugin is available. The existing groups are the folder names within the directory &amp;lt;tt&amp;gt;/plugins&amp;lt;/tt&amp;gt;. The installer will create new folder names for group names that do not exist yet.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Metadata ===&lt;br /&gt;
&lt;br /&gt;
The following elements can be used to insert metadata. None of these elements are required; if they are present, they must be a child of the root element.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; raw component name (e.g. &amp;lt;code&amp;gt;com_banners&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;author&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; author&#039;s name (e.g. &amp;lt;code&amp;gt;Joomla! Project&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;creationDate&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; date of creation or release (e.g. &amp;lt;code&amp;gt;April 2006&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;copyright&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; a copyright statement (e.g. &amp;lt;code&amp;gt;(C) 2005 - 2011 Open Source Matters. All rights reserved.&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;license&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; a license statement (e.g. &amp;lt;code&amp;gt;NU General Public License version 2 or later; see LICENSE.txt&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;authorEmail&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; author&#039;s email address (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;admin@joomla.org&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;authorUrl&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; URL to the author&#039;s website (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;www.joomla.org&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;version&amp;gt;&amp;lt;code&amp;gt; &amp;amp;ndash; the version number of the extension (e.g. &amp;lt;code&amp;gt;1.6.0&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; the description of the component. This is a translatable field. (e.g. &amp;lt;code&amp;gt;COM_BANNERS_XML_DESCRIPTION&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Front-end files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;files folder=&amp;quot;from-folder&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;example.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;folder&amp;gt;examples&amp;lt;/folder&amp;gt;&lt;br /&gt;
    &amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Files to copy to the front-end directory should be placed in the &amp;lt;code&amp;gt;&amp;lt;files&amp;gt;&amp;lt;/code&amp;gt; element. You can use the optional &amp;lt;code&amp;gt;folder&amp;lt;/code&amp;gt; attribute to specify a directory &#039;&#039;&#039;in the ZIP package&#039;&#039;&#039; to copy &#039;&#039;&#039;from&#039;&#039;&#039;. Each file to copy must be represented by a &amp;lt;code&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/code&amp;gt; element. If you want to copy an entire folder at once, you can define it as a &amp;lt;code&amp;gt;&amp;lt;folder&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Administration section ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;administration&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The administration section is defined in the &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;/code&amp;gt; element. Since only [[Component|components]] apply to both the [[Site (Application)|site]] and the [[Administrator (Application)|administrator]], &#039;&#039;&#039;only component manifests can include this element&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Back-end files ====&lt;br /&gt;
&lt;br /&gt;
Files to copy to the back-end directory should be placed in the &amp;lt;code&amp;gt;&amp;lt;files&amp;gt;&amp;lt;/code&amp;gt; element under the &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;/code&amp;gt;. You can use the optional &amp;lt;code&amp;gt;folder&amp;lt;/code&amp;gt; attribute to specify a directory &#039;&#039;&#039;in the ZIP package&#039;&#039;&#039; to copy &#039;&#039;&#039;from&#039;&#039;&#039;. See &#039;&#039;Front-end files&#039;&#039; for further rules.&lt;br /&gt;
&lt;br /&gt;
==== Menu links and submenus ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;menu&amp;gt;COM_EXAMPLE&amp;lt;/menu&amp;gt;&lt;br /&gt;
        &amp;lt;submenu&amp;gt;&lt;br /&gt;
            &amp;lt;menu link=&amp;quot;anoption=avalue&amp;quot;&amp;gt;COM_EXAMPLE_SUBMENU_ANOPTION&amp;lt;/menu&amp;gt;&lt;br /&gt;
            &amp;lt;menu view=&amp;quot;viewname&amp;quot;&amp;gt;COM_EXAMPLE_SUBMENU_VIEWNAME&amp;lt;/menu&amp;gt;&lt;br /&gt;
        &amp;lt;/submenu&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The text for the main menu item for the component is defined in the &amp;lt;code&amp;gt;&amp;lt;menu&amp;gt;&amp;lt;code&amp;gt; item, a child of &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;/code&amp;gt;. A &amp;lt;code&amp;gt;&amp;lt;submenu&amp;gt;&amp;lt;/code&amp;gt; element may also be present (also a child of &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;/code&amp;gt;), which may contain more menu items defined by &amp;lt;code&amp;gt;&amp;lt;menu&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Additionally, each &amp;lt;code&amp;gt;&amp;lt;menu&amp;gt;&amp;lt;/code&amp;gt; item can define the following attributes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px&amp;quot; | Attribute || Description&lt;br /&gt;
|-&lt;br /&gt;
| link || A link to send the user to when the menu item is clicked&lt;br /&gt;
|-&lt;br /&gt;
| img || The (relative) path to an image (16x16 pixels) to appear beside the menu item&lt;br /&gt;
|-&lt;br /&gt;
| alt ||&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;string&#039;&#039; || An URL parameter to add to the link.  For example, &amp;lt;code&amp;gt;&amp;lt;menu view=&amp;quot;cpanel&amp;quot;&amp;gt;COM_EXAMPLE&amp;lt;/menu&amp;gt;&amp;lt;/code&amp;gt; in com_example&#039;s XML manifest would cause the URL of the menu item to be &amp;lt;tt&amp;gt;index.php?option=com_example&amp;amp;view=cpanel&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The value inside the tag is the menu&#039;s label. Unlike Joomla! 1.5, you can not use a natural language string. For example, if you would enter &amp;quot;Example Component&amp;quot; instead of COM_EXAMPLE, it would result in your component name appearing as example-component in the menu and you would be unable to provide a translation. In order to provide a translation you need to create a file named en-GB.com_example.sys.ini in administrator/languages/en-GB (you can use the manifest&#039;s &amp;lt;code&amp;gt;&amp;lt;languages&amp;gt;&amp;lt;/code&amp;gt; tag to copy it during installation) or in administrator/components/com_example/language/en-GB. In the latter case, you must not include the translation file in the &amp;lt;code&amp;gt;&amp;lt;languages&amp;gt;&amp;lt;/code&amp;gt; tag. As long as you have placed the language directory in your &amp;lt;code&amp;gt;&amp;lt;files&amp;gt;&amp;lt;/code&amp;gt; tag, it will be copied along when the component is being installed.&lt;br /&gt;
&lt;br /&gt;
The contents of that file should be:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
COM_EXAMPLE=&amp;quot;Example Component&amp;quot;&lt;br /&gt;
COM_EXAMPLE_SUBMENU_ANOPTION=&amp;quot;Another Option&amp;quot;&lt;br /&gt;
COM_EXAMPLE_SUBMENU_VIEWNAME=&amp;quot;Another View&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the language string must be enclosed in double quotes, as per Joomla!&#039;s translation standards. Important note: Joomla! 1.6 and later sorts the Component menu items based on the actual translation of the key you supply in your XML manifest. This means that the sorting order is correct no matter what you call your translation key and no matter which language the site is being displayed in. Essentially, Joomla! 1.6 fixed the wrong sorting of the Components menu for the majority (non-English speaking!) of Joomla! users experienced under Joomla! 1.5.&lt;br /&gt;
&lt;br /&gt;
{{Needsinfo|In Platform 11.1 no alt attribute processed and if link provide in menu tag other provided attributes were ignore. The other tags are task, view, controller, act, layout, sub. Please confirm this, please.}}&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
{{warning|Components &#039;&#039;&#039;do not support&#039;&#039;&#039; configuration definitions &#039;&#039;&#039;in the manifest&#039;&#039;&#039;. This is a way implemented in Joomla! 1.5. They can define configuration options for multiple levels using [[Component configuration metadata]].}}&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;config&amp;gt;&amp;lt;/code&amp;gt; element, a child of the root, describes the configuration options for the extension. If applicable, the options will be shown by the appropriate Manager (Plugin Manager, Module Manager or Template Manager). &#039;&#039;&#039;Configuration options can also be defined in a separate file named &amp;lt;code&amp;gt;config.xml&amp;lt;/code&amp;gt;. Its root element should be &amp;lt;code&amp;gt;&amp;lt;config&amp;gt;&amp;lt;/code&amp;gt;.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{:XML JForm form definitions}}&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;install&amp;gt;&lt;br /&gt;
        &amp;lt;sql&amp;gt;&lt;br /&gt;
            &amp;lt;file driver=&amp;quot;mysql&amp;quot; charset=&amp;quot;utf8&amp;quot;&amp;gt;example.install.sql&amp;lt;/file&amp;gt;&lt;br /&gt;
        &amp;lt;/sql&amp;gt;&lt;br /&gt;
    &amp;lt;/install&amp;gt;&lt;br /&gt;
    &amp;lt;uninstall&amp;gt;&lt;br /&gt;
        &amp;lt;sql&amp;gt;&lt;br /&gt;
            &amp;lt;file driver=&amp;quot;mysql&amp;quot; charset=&amp;quot;utf8&amp;quot;&amp;gt;example.uninstall.sql&amp;lt;/file&amp;gt;&lt;br /&gt;
        &amp;lt;/sql&amp;gt;&lt;br /&gt;
    &amp;lt;/uninstall&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can execute SQL during installation and/or uninstallation using the &amp;lt;code&amp;gt;&amp;lt;install&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;uninstall&amp;gt;&amp;lt;/code&amp;gt; elements, respectively. An &amp;lt;code&amp;gt;&amp;lt;sql&amp;gt;&amp;lt;/code&amp;gt; element should appear as a child of these elements. &amp;lt;code&amp;gt;&amp;lt;sql&amp;gt;&amp;lt;/code&amp;gt; can contain any number of &amp;lt;code&amp;gt;&amp;lt;file&amp;gt;&amp;lt;/code&amp;gt; elements, each defining a single SQL file to execute. Their database driver types are described by the &amp;lt;code&amp;gt;driver&amp;lt;/code&amp;gt; attribute, their character sets by the &amp;lt;code&amp;gt;charset&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
=== Language files ===&lt;br /&gt;
Including the language INI files in your extension installation package is not sufficient. You have to tell Joomla! where to find them so that it can install them. This is done by means of up to two &amp;lt;languages&amp;gt; tags. In the case of a component, you need a &amp;lt;languages&amp;gt; tag both under the root tag (&amp;lt;manifest&amp;gt; or &amp;lt;install&amp;gt;) of the XML file (for the front-end translation files) and one inside the &lt;br /&gt;
&amp;lt;administration&amp;gt; tag (for the back-end translation files). In both cases, the syntax looks like that:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languages folder=&amp;quot;langfiles&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;language tag=&amp;quot;en-GB&amp;quot;&amp;gt;en-GB.com_example.ini&amp;lt;/language&amp;gt;&lt;br /&gt;
&amp;lt;/languages&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The content of the folder attribute of this tag is the relative path of the directory holding the translation files. The path is relative to the your installation package, not the site&#039;s root. Each &amp;lt;language&amp;gt; tag &#039;&#039;&#039;must&#039;&#039;&#039; specify the ISO-code of the language in the tag attribute.&lt;br /&gt;
&lt;br /&gt;
You should not that, by default, the language files are not loaded during installation time unless you use a special convention.&lt;br /&gt;
&lt;br /&gt;
For components, you must place a directory named language inside your component&#039;s backend directory and make sure it&#039;s being installed, i.e. you have referenced it in your &amp;lt;administration&amp;gt; tag&#039;s &amp;lt;files&amp;gt; tag. For other extension types, create a directory named language inside your installation archive&#039;s root. In all cases, create one subdirectory per language and put your .sys.ini translation file in there. For example, if you have plg_content_example, create the file language/en-GB/en-GB.plg_content_example.sys.ini and put all installation-time messages&#039; translations in there. This file will be loaded automatically by Joomla! right after all files have been copied and before running your script file and/or displaying the post-installation message (e.g. the extension&#039;s description).&lt;br /&gt;
&lt;br /&gt;
=== Script file ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;scriptfile&amp;gt;example.script.php&amp;lt;/scriptfile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;script file&#039;&#039;&#039; (PHP code that is run before, during and/or after installation, uninstallation and upgrading) can be defined using a &amp;lt;code&amp;gt;&amp;lt;scriptfile&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
=== Update servers ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;extension&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Extension Update Site&amp;quot;&amp;gt;http://example.com/extension.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;2&amp;quot; name=&amp;quot;Collection Update Site&amp;quot;&amp;gt;http://example.com/collection.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Update servers can be defined in the &amp;lt;code&amp;gt;&amp;lt;updateservers&amp;gt;&amp;lt;/code&amp;gt; element, a child of the root. This element may contain one or more &amp;lt;code&amp;gt;&amp;lt;server&amp;gt;&amp;lt;/code&amp;gt; element, each describing a location to fetch updates from. Each &amp;lt;code&amp;gt;&amp;lt;server&amp;gt;&amp;lt;/code&amp;gt; item can define the following attributes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px&amp;quot; | Attribute || style=&amp;quot;width: 150px&amp;quot; | Values || Description&lt;br /&gt;
|-&lt;br /&gt;
| type || &amp;lt;code&amp;gt;extension&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;collection&amp;lt;/code&amp;gt; || The update server type&lt;br /&gt;
|-&lt;br /&gt;
| priority || &#039;&#039;integer&#039;&#039; || The priority of the update server&lt;br /&gt;
|-&lt;br /&gt;
| name || &#039;&#039;string&#039;&#039; || The name of the update server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
For a real-life example, see [http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdevelopment%2Ftags%2F1.6.x%2F1.6.5%2Fadministrator%2Fcomponents%2Fcom_banners%2Fbanners.xml&amp;amp;view=markup the manifest of the Banner component in version 1.6.5].&lt;br /&gt;
&lt;br /&gt;
The Joomla testing process uses several extensions to test whether the installer works correctly. The latest versions of the manifests of these extensions are:&lt;br /&gt;
&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/com_alpha/alpha.xml com_alpha manifest]&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/mod_alpha/mod_alpha.xml mod_alpha manifest]&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/plg_system_alpha/alpha.xml plg_system_alpha manifest]&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/tpl_simple/templateDetails.xml tpl_simple manifest]&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/lng_xx-XX/xx-XX.xml lng_xx-XX manifest]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
*[[User:akede|Alex Kempkens]]&lt;br /&gt;
*[[User:dperaza|Daniel Peraza]]&lt;br /&gt;
*[[User:nikosdion|Nicholas K. Dionysopoulos]]&lt;br /&gt;
*[[User:mrs.siam|Prasit Gebsaap]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Extension development]]&lt;br /&gt;
[[Category:Specifications]]&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Making_single_installation_packages_for_Joomla!_1.5_and_2.5_series&amp;diff=61900</id>
		<title>Making single installation packages for Joomla! 1.5 and 2.5 series</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Making_single_installation_packages_for_Joomla!_1.5_and_2.5_series&amp;diff=61900"/>
		<updated>2011-09-10T20:30:12Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Adding more info on menu item creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{review}}&lt;br /&gt;
&lt;br /&gt;
It is possible to create a single installation package which can install a component in Joomla! 1.5, 1.6 and 1.7 with minor changes. Below you will find some of the most common tricks required to create an extension which is compatible with all current versions of the Joomla! CMS.&lt;br /&gt;
&lt;br /&gt;
== Dealing with API changes ==&lt;br /&gt;
You will regularly bump into cases where an API has changed between Joomla! 1.5, 1.6 and 1.7. In order to cater for them, you need to run slightly different code based on the Joomla! version. Right now it&#039;s possible to do that by writing conditional statements like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if(version_compare(JVERSION,&#039;1.7.0&#039;,&#039;ge&#039;)) {&lt;br /&gt;
// Joomla! 1.7 code here&lt;br /&gt;
} elseif(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;)) {&lt;br /&gt;
// Joomla! 1.6 code here&lt;br /&gt;
} else {&lt;br /&gt;
// Joomla! 1.5 code here&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not have Joomla! 1.7-specific code -i.e it is the same as the Joomla! 1.6-specific code- please use the following code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;)) {&lt;br /&gt;
// Joomla! 1.6 code here&lt;br /&gt;
} else {&lt;br /&gt;
// Joomla! 1.5 code here&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While this conditional statement looks like an overkill, it has two major advantages:&lt;br /&gt;
* Compatibility with all Joomla! versions using the same package, therefore using the same codebase, ergo less maintenance overhead&lt;br /&gt;
* Once, let&#039;s say, Joomla! 1.8 is released and you decide to drop support for earlier Joomla! releases, we can just search your code for &amp;quot;if(version_compare(JVERSION,&amp;quot; and remove all of the legacy code.&lt;br /&gt;
&lt;br /&gt;
== One XML configuration file, multiple Joomla! versions ==&lt;br /&gt;
&lt;br /&gt;
Various XML files in Joomla! accept settings, or parameters. For example your extension manifest file, the config.xml file and the view XML files all accept such settings. You may have noticed that whereas in Joomla! 1.5 these were found under the &amp;lt;params&amp;gt; tags, in Joomla! 1.6 and later they are found inside &amp;lt;filedsets&amp;gt;. One hidden secret of Joomla! is that Joomla! 1.5 will ignore Joomla! 1.6 syntax, whereas Joomla! 1.6/1.7 will ignore Joomla! 1.5 syntax. This allows you to have a single XML file which caters for all Joomla! releases. For example, here&#039;s a sample config.xml file, to be placed in the component&#039;s backend directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;config&amp;gt;&lt;br /&gt;
	&amp;lt;!-- Joomla! 1.5 uses params --&amp;gt;&lt;br /&gt;
	&amp;lt;params&amp;gt;&lt;br /&gt;
		&amp;lt;param name=&amp;quot;foobar&amp;quot; type=&amp;quot;text&amp;quot; default=&amp;quot;&amp;quot; size=&amp;quot;30&amp;quot;&lt;br /&gt;
			label=&amp;quot;COM_FOOBAR_OPTION_FOOBAR_LBL&amp;quot;&lt;br /&gt;
			description =&amp;quot;COM_FOOBAR_OPTION_FOOBAR_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/params&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;!-- Joomla! 1.6 uses fieldset --&amp;gt;&lt;br /&gt;
	&amp;lt;fieldset&lt;br /&gt;
		name=&amp;quot;basic&amp;quot;&lt;br /&gt;
		label=&amp;quot;COM_FOOBAR_OPTIONS_SECTION_BASIC_LBL&amp;quot;&lt;br /&gt;
		description=&amp;quot;COM_FOOBAR_OPTIONS_SECTION_BASIC_DESC&amp;quot;&lt;br /&gt;
		&amp;gt;&lt;br /&gt;
		&amp;lt;field name=&amp;quot;foobar&amp;quot; type=&amp;quot;text&amp;quot; default=&amp;quot;&amp;quot; size=&amp;quot;30&amp;quot;&lt;br /&gt;
			label=&amp;quot;COM_FOOBAR_OPTION_FOOBAR_LBL&amp;quot;&lt;br /&gt;
			description =&amp;quot;COM_FOOBAR_OPTION_FOOBAR_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&#039;s how easy it is!&lt;br /&gt;
&lt;br /&gt;
== Dealing with languages ==&lt;br /&gt;
&lt;br /&gt;
=== How to load component-local translation files in Joomla! 1.5 ===&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.6 introduced a new feature where a user can place language files inside the component&#039;s directory, e.g. administrator/com_foobar/language/en-GB/en-GB.com_foobar.ini, in order to provide language overrides. But Joomla! 1.5 doesn&#039;t support this feature. Or does it? Even though it can not do that automatically, you can do so in your extension&#039;s dispatcher file, e.g. administrator/com_foobar/foobar.php. Here&#039;s the magic code to do that in the backend:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_ADMINISTRATOR, null, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_COMPONENT_ADMINISTRATOR, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
and the frontend:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_SITE, null, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_COMPONENT, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tips and tricks for language strings ===&lt;br /&gt;
&lt;br /&gt;
All your translation keys should consist of uppercase characters without spaces (that is A-Z, 0-9 and underscores). All translation values should be included in double quotation marks. This allows the translation files to be parsed by Joomla! 1.5/1.6/1.7 alike. You are also suggested to prefix your translation keys with the extension&#039;s name, albeit this is not required. For example, this is a good translation string:&lt;br /&gt;
COM_FOOBAR_CPANEL_TITLE=&amp;quot;Foobar Control Panel&amp;quot;&lt;br /&gt;
whereas this is a &#039;&#039;&#039;bad&#039;&#039;&#039; translation string:&lt;br /&gt;
CONTROL PANEL=Foobar Control Panel&lt;br /&gt;
The former works with all current versions of Joomla!, the latter doesn&#039;t.&lt;br /&gt;
&lt;br /&gt;
If you have double quotation marks in your translation values, please replace them with single quotation marks. While Joomla! 1.5 allowed escaping the double quotation marks with \&amp;quot;, Joomla! 1.6 under newer versions of PHP don&#039;t and require you to escape them as &amp;quot;__QQ__&amp;quot; which throws off Joomla! 1.5&#039;s parser. The workaround is to take advantage of a little known fact about HTML, that attributes can be wrapped in single quotation marks. For instance, change this:&lt;br /&gt;
COM_FOOBAR_SOME_KEY=&amp;lt;a href=&amp;quot;http://www.example.com&amp;quot;&amp;gt;Just a test&amp;lt;/a&amp;gt;&lt;br /&gt;
to this:&lt;br /&gt;
COM_FOOBAR_SOME_KEY=&amp;quot;&amp;lt;a href=&#039;http://www.example.com&#039;&amp;gt;Just a test&amp;lt;/a&amp;gt;&amp;quot;&lt;br /&gt;
It is valid HTML, it works on Joomla! 1.5/1.6/1.7 but it will invalidates XHTML. You can&#039;t always win, sorry.&lt;br /&gt;
&lt;br /&gt;
=== Making untranslated strings look more beautiful ===&lt;br /&gt;
&lt;br /&gt;
The problem with using tight translation keys as we described is that untranslated strings now look something like COM_FOOBAR_VIEWNAME_SOMEKEY. If you have volunteer translators you can bet your head that most translations will not be in sync with your component and you will have untranslated strings. In Joomla! 1.5, using &amp;quot;natural language&amp;quot; keys, you got to show your users the default (English) text if a translation key didn&#039;t exist in their language. This is impossible in Joomla! 1.6... or maybe not?&lt;br /&gt;
&lt;br /&gt;
We can use the same little trick in our component&#039;s dispatcher as with our component-local translation loading string above. Here&#039;s how to load the English translation file in the backend of your component, then overwrite only the keys which exist with the user&#039;s selected language, essentially allowing untranslated keys to show in English:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_ADMINISTRATOR, &#039;en-GB&#039;, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_ADMINISTRATOR, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same thing in the front-end:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_SITE, &#039;en-GB&#039;, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_SITE, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JElement vs JFormField ==&lt;br /&gt;
&lt;br /&gt;
Oh, the struggle! You need a custom widget in the configuration section of your component. In Joomla! 1.5 you could just create a new JElement. In Joomla! 1.6 you could just create a new JFormField. But both? In a single file? You can employ a simple trick. In the following example I am going to create a rather lame element, called SQL2, which displays a multi-selection box out of the results of a SQL statement. This is made as part of a fictitious module called mod_foobar&lt;br /&gt;
&lt;br /&gt;
First, let your configuration know where to load the custom widget files from, by putting this in your module&#039;s XML manifest file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;params addpath=&amp;quot;/modules/mod_foobar/elements&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;param name=&amp;quot;ids&amp;quot; type=&amp;quot;sql2&amp;quot; default=&amp;quot;&amp;quot;&lt;br /&gt;
			label=&amp;quot;MOD_FOOBAR_LEVELS_TITLE&amp;quot;&lt;br /&gt;
			description=&amp;quot;MOD_FOOBAR_LEVELS_DESC&amp;quot;&lt;br /&gt;
			query=&amp;quot;SELECT `foobar_level_id`, `title` FROM `#__foobar_levels`&amp;quot;&lt;br /&gt;
			key_field=&amp;quot;foobar_level_id&amp;quot;&lt;br /&gt;
			value_field=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/params&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;config addfieldpath=&amp;quot;/modules/mod_foobar/elements&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;fields name=&amp;quot;params&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;fieldset name=&amp;quot;basic&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;field name=&amp;quot;ids&amp;quot; type=&amp;quot;sql2&amp;quot; default=&amp;quot;&amp;quot;&lt;br /&gt;
					label=&amp;quot;MOD_FOOBAR_LEVELS_TITLE&amp;quot;&lt;br /&gt;
					description=&amp;quot;MOD_FOOBAR_LEVELS_DESC&amp;quot;&lt;br /&gt;
					query=&amp;quot;SELECT `foobar_level_id`, `title` FROM `#__foobar_levels`&amp;quot;&lt;br /&gt;
					key_field=&amp;quot;foobar_level_id&amp;quot;&lt;br /&gt;
					value_field=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
		&amp;lt;/fields&amp;gt;&lt;br /&gt;
	&amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you see, we instruct both Joomla! 1.5 and 1.6/1.7 to look into the same directory, for the same-named file (sql2.php). Here are the contents of the modules/mod_foobar/elements/sql2.php file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * This trick allows us to extend the correct class, based on whether it&#039;s Joomla! 1.5 or 1.6&lt;br /&gt;
 */&lt;br /&gt;
if(!class_exists(&#039;JFakeElementBase&#039;)) {&lt;br /&gt;
        if(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;)) {&lt;br /&gt;
                class JFakeElementBase extends JFormField {&lt;br /&gt;
                        // This line is required to keep Joomla! 1.6/1.7 from complaining&lt;br /&gt;
                        public function getInput() {}&lt;br /&gt;
                }               &lt;br /&gt;
        } else {&lt;br /&gt;
                class JFakeElementBase extends JElement {}&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Our main element class, creating a multi-select list out of an SQL statement&lt;br /&gt;
 */&lt;br /&gt;
class JFakeElementSQL2 extends JFakeElementBase&lt;br /&gt;
{&lt;br /&gt;
	var	$_name = &#039;SQL2&#039;;&lt;br /&gt;
&lt;br /&gt;
	// Joomla! 1.5&lt;br /&gt;
	function fetchElement($name, $value, &amp;amp;$node, $control_name)&lt;br /&gt;
	{&lt;br /&gt;
		$db			= &amp;amp; JFactory::getDBO();&lt;br /&gt;
		$db-&amp;gt;setQuery($node-&amp;gt;attributes(&#039;query&#039;));&lt;br /&gt;
		$key = ($node-&amp;gt;attributes(&#039;key_field&#039;) ? $node-&amp;gt;attributes(&#039;key_field&#039;) : &#039;value&#039;);&lt;br /&gt;
		$val = ($node-&amp;gt;attributes(&#039;value_field&#039;) ? $node-&amp;gt;attributes(&#039;value_field&#039;) : $name);&lt;br /&gt;
		return JHTML::_(&#039;select.genericlist&#039;,  $db-&amp;gt;loadObjectList(), &#039;&#039;.$control_name.&#039;[&#039;.$name.&#039;][]&#039;, &#039;class=&amp;quot;inputbox&amp;quot; multiple=&amp;quot;multiple&amp;quot; size=&amp;quot;5&amp;quot;&#039;, $key, $val, $value, $control_name.$name);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// Joomla! 1.6&lt;br /&gt;
	function getInput()&lt;br /&gt;
	{&lt;br /&gt;
		$db			= &amp;amp; JFactory::getDBO();&lt;br /&gt;
		$db-&amp;gt;setQuery($this-&amp;gt;element[&#039;query&#039;]);&lt;br /&gt;
		$key = ($this-&amp;gt;element[&#039;key_field&#039;] ? $this-&amp;gt;element[&#039;key_field&#039;] : &#039;value&#039;);&lt;br /&gt;
		$val = ($this-&amp;gt;element[&#039;value_field&#039;] ? $this-&amp;gt;element[&#039;value_field&#039;] : $this-&amp;gt;name);&lt;br /&gt;
		return JHTML::_(&#039;select.genericlist&#039;,  $db-&amp;gt;loadObjectList(), $this-&amp;gt;name, &#039;class=&amp;quot;inputbox&amp;quot; multiple=&amp;quot;multiple&amp;quot; size=&amp;quot;5&amp;quot;&#039;, $key, $val, $this-&amp;gt;value, $this-&amp;gt;id);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Part two of our trick; we define the proper element name, depending on whether it&#039;s Joomla! 1.5 or 1.6&lt;br /&gt;
 */&lt;br /&gt;
if(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;)) {&lt;br /&gt;
        class JFormFieldSQL2 extends JFakeElementSQL2 {}&lt;br /&gt;
} else {&lt;br /&gt;
        class JElementSQL2 extends JFakeElementSQL2 {}                &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considering that most custom widgets have a lot more code than this, you can create two different initialisation sections for Joomla! 1.5 and 1.6/1.7 (fetchElement and getInput), populate class variables, then call a big, common method to render the bulk of the widget (just like we did with JHTML&#039;s genericlist in the example above). This will eliminate the need to rewrite the same code over again just to cater for a new Joomla! version.&lt;br /&gt;
&lt;br /&gt;
== Content plugins work slightly different ==&lt;br /&gt;
&lt;br /&gt;
The content plugins in Joomla! 1.5 were using the onPrepareContent method, whereas the content plugins in Joomla! 1.6/1.7 use the onContentPrepare method. The arguments have also changed. You can, however, create a single content plugin which runs on both Joomla! versions without rewriting code. Here&#039;s how:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die();&lt;br /&gt;
&lt;br /&gt;
jimport(&#039;joomla.plugin.plugin&#039;);&lt;br /&gt;
&lt;br /&gt;
class plgContentFoobar extends JPlugin&lt;br /&gt;
{&lt;br /&gt;
	public function onPrepareContent( &amp;amp;$article, &amp;amp;$params, $limitstart = 0 )&lt;br /&gt;
	{&lt;br /&gt;
		$article-&amp;gt;text = $this-&amp;gt;doSomethingWith($article-&amp;gt;text);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	public function onContentPrepare($context, &amp;amp;$row, &amp;amp;$params, $page = 0)&lt;br /&gt;
	{&lt;br /&gt;
		// Danger, Will Robinson! $row in Joomla! 1.6/1.7 may be a string, not an article object!&lt;br /&gt;
		if(is_object($row)) {&lt;br /&gt;
			return $this-&amp;gt;onPrepareContent($row, $params, $page);&lt;br /&gt;
		} else {&lt;br /&gt;
			$row = $this-&amp;gt;doSomethingWith($row);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	private function doSomethingWith($text)&lt;br /&gt;
	{&lt;br /&gt;
		// Apparently, you have to do something here ;)&lt;br /&gt;
		return $text;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating doesn&#039;t work as you&#039;d expect ==&lt;br /&gt;
&lt;br /&gt;
There is a small but very disturbing bug in Joomla! 1.6. Updating a component whose manifest XML states version=&amp;quot;1.5.0&amp;quot; doesn&#039;t allow you to run the SQL statements. Namely, the SQL files you specify under the &amp;quot;&amp;lt;install&amp;gt;&amp;lt;sql&amp;gt;&amp;quot; tags won&#039;t run. You can neither use the new &amp;quot;&amp;lt;update&amp;gt;&amp;quot; tag. You are stuck with no way to run SQL commands on component update!&lt;br /&gt;
&lt;br /&gt;
The ugly workaround is to create a file named script.foobar.php with the following contents:&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;
define(&#039;_JEXEC&#039;) or die();&lt;br /&gt;
&lt;br /&gt;
class Com_FoobarInstallerScript {&lt;br /&gt;
	&lt;br /&gt;
	function update($parent) {&lt;br /&gt;
		$db = JFactory::getDBO();&lt;br /&gt;
		// Obviously you may have to change the path and name if your installation SQL file ;)&lt;br /&gt;
		if(method_exists($parent, &#039;extension_root&#039;)) {&lt;br /&gt;
			$sqlfile = $parent-&amp;gt;getPath(&#039;extension_root&#039;).DS.&#039;install.sql&#039;;&lt;br /&gt;
		} else {&lt;br /&gt;
			$sqlfile = $parent-&amp;gt;getParent()-&amp;gt;getPath(&#039;extension_root&#039;).DS.&#039;install.sql&#039;;&lt;br /&gt;
		}&lt;br /&gt;
		// Don&#039;t modify below this line&lt;br /&gt;
		$buffer = file_get_contents($sqlfile);&lt;br /&gt;
		if ($buffer !== false) {&lt;br /&gt;
			jimport(&#039;joomla.installer.helper&#039;);&lt;br /&gt;
			$queries = JInstallerHelper::splitSql($buffer);&lt;br /&gt;
			if (count($queries) != 0) {&lt;br /&gt;
				foreach ($queries as $query)&lt;br /&gt;
				{&lt;br /&gt;
					$query = trim($query);&lt;br /&gt;
					if ($query != &#039;&#039; &amp;amp;&amp;amp; $query{0} != &#039;#&#039;) {&lt;br /&gt;
						$db-&amp;gt;setQuery($query);&lt;br /&gt;
						if (!$db-&amp;gt;query()) {&lt;br /&gt;
							JError::raiseWarning(1, JText::sprintf(&#039;JLIB_INSTALLER_ERROR_SQL_ERROR&#039;, $db-&amp;gt;stderr(true)));&lt;br /&gt;
							return false;&lt;br /&gt;
						}&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;
Reference that file in the end of your manifest XML file, just above the closing install tag, with:&lt;br /&gt;
&amp;lt;source type=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;scriptfile&amp;gt;script.foobar.php&amp;lt;/scriptfile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will force Joomla! 1.6 to run your extension&#039;s installation SQL file during the component update, just like Joomla! 1.5 used to do. Enjoy!&lt;br /&gt;
&lt;br /&gt;
== Menu item creation tricks ==&lt;br /&gt;
&lt;br /&gt;
===For Joomla! 1.5===&lt;br /&gt;
&lt;br /&gt;
You have to add a line similar to the following in your component&#039;s manifest XML file, inside the &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;code&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;menu view=&amp;quot;yourview&amp;quot; img=&amp;quot;../media/com_example/logo-16.png&amp;quot;&amp;gt;COM_EXAMPLE&amp;lt;/menu&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;menu view=&amp;quot;yourview&amp;quot; img=&amp;quot;../media/com_example/logo-16.png&amp;quot;&amp;gt;Example Component&amp;lt;/menu&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In both cases, you need to create a file named en-GB.com_example.menu.ini in administrator/languages/en-GB (you can use the manifest&#039;s &amp;lt;code&amp;gt;&amp;lt;languages&amp;gt;&amp;lt;/code&amp;gt; tag to copy it during installation). In the first case (using a translation key), its contents should be:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
COM_EXAMPLE=Example Component&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
In the second case (using natural language strings) its contents should be&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
Example Component=Example Component&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
NB: Joomla! 1.5 sorts the Component menu items based on the key you supply in your XML manifest. If you use the COM_EXAMPLE approach, your component will be sorted with all the components beginning with &amp;quot;C&amp;quot;, e.g. just before Contacts on a fresh Joomla! 1.5 installation, no matter what the translation is! This leads to funny results, especially with non-English languages where the translated component names do not follow the same sorting order as their English names. If you are bilingual or multilingual, I think you know what I mean…&lt;br /&gt;
&lt;br /&gt;
===For Joomla! 1.6 and later versions===&lt;br /&gt;
&lt;br /&gt;
You have to add a line similar to the following in your component&#039;s manifest XML file, inside the &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;/code&amp;gt; tag.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;menu view=&amp;quot;yourview&amp;quot; img=&amp;quot;../media/com_example/logo-16.png&amp;quot;&amp;gt;COM_EXAMPLE&amp;lt;/menu&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can not use a natural language string. Doing so will result in your component name appearing as example-component in the menu and you will be unable to provide a translation.&lt;br /&gt;
&lt;br /&gt;
You need to create a file named en-GB.com_example.sys.ini in administrator/languages/en-GB (you can use the manifest&#039;s &amp;lt;code&amp;gt;&amp;lt;languages&amp;gt;&amp;lt;/code&amp;gt; tag to copy it during installation) or in administrator/components/com_example/language/en-GB. In the latter case, you must not include the translation file in the &amp;lt;code&amp;gt;&amp;lt;languages&amp;gt;&amp;lt;/code&amp;gt; tag. As long as you have placed the language directory in your &amp;lt;code&amp;gt;&amp;lt;files&amp;gt;&amp;lt;/code&amp;gt; tag, it will be copied along when the component is being installed.&lt;br /&gt;
&lt;br /&gt;
The contents of that file should be:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
COM_EXAMPLE=&amp;quot;Example Component&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the language string must be enclosed in double quotes, as per Joomla!&#039;s translation standards.&lt;br /&gt;
&lt;br /&gt;
NB: Joomla! 1.6 and later sorts the Component menu items based on the actual translation of the key you supply in your XML manifest. This means that the sorting order is correct no matter what you call your translation key and no matter which language the site is being displayed in. Essentially, Joomla! 1.6 fixed the wrong sorting of the Components menu for the majority (non-English speaking!) of Joomla! users.&lt;br /&gt;
&lt;br /&gt;
===How to have a cross-version (Joomla! 1.5, 1.6 and later) component===&lt;br /&gt;
&lt;br /&gt;
If your component is supposed to be installed under both Joomla! 1.5 and Joomla! 1.6/1.7/2.5, you can do a little trick. You have to add a line similar to the following in your component&#039;s manifest XML file, inside the &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;/code&amp;gt; tag.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;menu view=&amp;quot;yourview&amp;quot; img=&amp;quot;../media/com_example/logo-16.png&amp;quot;&amp;gt;COM_EXAMPLE&amp;lt;/menu&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, you need to create two files, one for Joomla! 1.5 and one for Joomla! 1.6. For Joomla! 1.5  you need to create a file named en-GB.com_example.menu.ini in administrator/languages/en-GB (you can use the manifest&#039;s &amp;lt;code&amp;gt;&amp;lt;languages&amp;gt;&amp;lt;/code&amp;gt; tag to copy it during installation). Its contents should be:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
COM_EXAMPLE=Example Component&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
For Joomla! 1.6 you need to create a file named en-GB.com_example.sys.ini in administrator/languages/en-GB (you can use the manifest&#039;s &amp;lt;code&amp;gt;&amp;lt;languages&amp;gt;&amp;lt;/code&amp;gt; tag to copy it during installation) or in administrator/components/com_example/language/en-GB. In the latter case, you must not include the translation file in the &amp;lt;code&amp;gt;&amp;lt;languages&amp;gt;&amp;lt;/code&amp;gt; tag. As long as you have placed the language directory in your &amp;lt;code&amp;gt;&amp;lt;files&amp;gt;&amp;lt;/code&amp;gt; tag, it will be copied along when the component is being installed.&lt;br /&gt;
&lt;br /&gt;
The contents of that file should be:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
COM_EXAMPLE=&amp;quot;Example Component&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The only drawback is that your component will appear as weirdly sorted in the Components menu of Joomla! 1.5. Given the very near expiration date of Joomla! 1.5 (April 2012) this is not a major drawback and experience shows that users don&#039;t really care that much. &lt;br /&gt;
&lt;br /&gt;
===What if you do that and nothing happens?===&lt;br /&gt;
&lt;br /&gt;
Joomla! is supposed to create the components menu entries afresh every time you re-install the component. If this doesn&#039;t happen in your case, try uninstalling and re-installing your component. If you&#039;re not sure if Joomla! has the correct Components menu item translation key, you can always check the menu items database table. This will prevent you from unnecessary frustration when your translation files don&#039;t work simply because Joomla! has the wrong translation key in the table.&lt;br /&gt;
&lt;br /&gt;
== More tricks? ==&lt;br /&gt;
&lt;br /&gt;
I am sure that by writing this page I have left out a number of tricks which I am already using in my software. If you get stuck somewhere, feel free to take a look at how I&#039;ve implemented things in Admin Tools Core, Akeeba Backup Core and Akeeba Release System, my Joomla! 1.5/1.6/1.7 compatible extensions. If you find a better way to implement something, or found a trick not listed here, feel free to edit this wiki page. Sharing the knowledge is caring!&lt;br /&gt;
&lt;br /&gt;
Peace, love and friendship,&lt;br /&gt;
&lt;br /&gt;
Nicholas K. Dionysopoulos, AkeebaBackup.com Lead Developer&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Manifest_files&amp;diff=61898</id>
		<title>Manifest files</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Manifest_files&amp;diff=61898"/>
		<updated>2011-09-10T20:23:14Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Improved the menu item creation with further information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}&lt;br /&gt;
{{inuse}}&lt;br /&gt;
{{RightTOC}}&lt;br /&gt;
==Introduction==&lt;br /&gt;
Within Joomla there are manifest files for all of the extensions. These files include the general installation information as well as parameters for the configuration of the [[extension]] itself. Since Joomla! 1.6 {{JVer|1.6}}, there are very few differences between the manifest file formats for the different [[Extension types (technical definitions)|types of extensions]], allowing each type to access the full power of the Joomla! installer.&lt;br /&gt;
&lt;br /&gt;
==Naming conventions==&lt;br /&gt;
The file must be named &amp;lt;tt&amp;gt;manifest.xml&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;&amp;lt;extension_name&amp;gt;.xml&amp;lt;/tt&amp;gt; and located in the root directory of the installation package.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&lt;br /&gt;
=== Root element ===&lt;br /&gt;
The primary tag of the installation file is: &lt;br /&gt;
&amp;lt;source lang=xml&amp;gt;&amp;lt;extension&amp;gt;&amp;lt;/extension&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This starting and closing tags are now valid for all extensions. The new tag &amp;lt;extension&amp;gt; replaces the old &amp;lt;install&amp;gt;&amp;lt;/install&amp;gt; from Joomla {{JVer|1.5}}. The following attributes are allowed within the tag:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width: 150px&amp;quot; | Attribute || style=&amp;quot;width: 150px&amp;quot; | Values || Applicable&amp;amp;nbsp;to || Description&lt;br /&gt;
|-&lt;br /&gt;
| type || &amp;lt;code&amp;gt;component&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;module&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;plugin&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;template&amp;lt;/code&amp;gt; || All extensions&lt;br /&gt;
| This attribute describes the type of the extension for the installer. Based on this type further requirements to sub-tags apply.&lt;br /&gt;
|-&lt;br /&gt;
| version&lt;br /&gt;
| &amp;lt;code&amp;gt;1.6&amp;lt;/code&amp;gt; || All extensions&lt;br /&gt;
| String that identifies the version of Joomla for which this extension is developed. For Joomla 1.6 a version higher than 1.5 is required.&lt;br /&gt;
|-&lt;br /&gt;
| method&lt;br /&gt;
| &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;upgrade&amp;lt;/code&amp;gt; || All extensions&lt;br /&gt;
| The default value install will be also used if the method attribute is not used. In these cases the installer will gracefully stop if he finds any existing file/folder of the new extension&lt;br /&gt;
|-&lt;br /&gt;
| client&lt;br /&gt;
| &amp;lt;code&amp;gt;site&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;administrator&amp;lt;/code&amp;gt; || Modules&lt;br /&gt;
| The client allows to specify for which application client the new module is available.&lt;br /&gt;
|-&lt;br /&gt;
| group&lt;br /&gt;
| &#039;&#039;string&#039;&#039; || Plugins&lt;br /&gt;
| The group name specifies for which group of plugins the new plugin is available. The existing groups are the folder names within the directory &amp;lt;tt&amp;gt;/plugins&amp;lt;/tt&amp;gt;. The installer will create new folder names for group names that do not exist yet.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Metadata ===&lt;br /&gt;
&lt;br /&gt;
The following elements can be used to insert metadata. None of these elements are required; if they are present, they must be a child of the root element.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; raw component name (e.g. &amp;lt;code&amp;gt;com_banners&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;author&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; author&#039;s name (e.g. &amp;lt;code&amp;gt;Joomla! Project&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;creationDate&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; date of creation or release (e.g. &amp;lt;code&amp;gt;April 2006&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;copyright&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; a copyright statement (e.g. &amp;lt;code&amp;gt;(C) 2005 - 2011 Open Source Matters. All rights reserved.&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;license&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; a license statement (e.g. &amp;lt;code&amp;gt;NU General Public License version 2 or later; see LICENSE.txt&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;authorEmail&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; author&#039;s email address (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;admin@joomla.org&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;authorUrl&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; URL to the author&#039;s website (e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;www.joomla.org&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;version&amp;gt;&amp;lt;code&amp;gt; &amp;amp;ndash; the version number of the extension (e.g. &amp;lt;code&amp;gt;1.6.0&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;description&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;ndash; the description of the component. This is a translatable field. (e.g. &amp;lt;code&amp;gt;COM_BANNERS_XML_DESCRIPTION&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Front-end files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;files folder=&amp;quot;from-folder&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;filename&amp;gt;example.php&amp;lt;/filename&amp;gt;&lt;br /&gt;
        &amp;lt;folder&amp;gt;examples&amp;lt;/folder&amp;gt;&lt;br /&gt;
    &amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Files to copy to the front-end directory should be placed in the &amp;lt;code&amp;gt;&amp;lt;files&amp;gt;&amp;lt;/code&amp;gt; element. You can use the optional &amp;lt;code&amp;gt;folder&amp;lt;/code&amp;gt; attribute to specify a directory &#039;&#039;&#039;in the ZIP package&#039;&#039;&#039; to copy &#039;&#039;&#039;from&#039;&#039;&#039;. Each file to copy must be represented by a &amp;lt;code&amp;gt;&amp;lt;filename&amp;gt;&amp;lt;/code&amp;gt; element. If you want to copy an entire folder at once, you can define it as a &amp;lt;code&amp;gt;&amp;lt;folder&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Administration section ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;administration&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The administration section is defined in the &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;/code&amp;gt; element. Since only [[Component|components]] apply to both the [[Site (Application)|site]] and the [[Administrator (Application)|administrator]], &#039;&#039;&#039;only component manifests can include this element&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Back-end files ====&lt;br /&gt;
&lt;br /&gt;
Files to copy to the back-end directory should be placed in the &amp;lt;code&amp;gt;&amp;lt;files&amp;gt;&amp;lt;/code&amp;gt; element under the &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;/code&amp;gt;. You can use the optional &amp;lt;code&amp;gt;folder&amp;lt;/code&amp;gt; attribute to specify a directory &#039;&#039;&#039;in the ZIP package&#039;&#039;&#039; to copy &#039;&#039;&#039;from&#039;&#039;&#039;. See &#039;&#039;Front-end files&#039;&#039; for further rules.&lt;br /&gt;
&lt;br /&gt;
==== Menu links and submenus ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;menu&amp;gt;COM_EXAMPLE&amp;lt;/menu&amp;gt;&lt;br /&gt;
        &amp;lt;submenu&amp;gt;&lt;br /&gt;
            &amp;lt;menu link=&amp;quot;anoption=avalue&amp;quot;&amp;gt;COM_EXAMPLE_ANOPTION&amp;lt;/menu&amp;gt;&lt;br /&gt;
        &amp;lt;/submenu&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The text for the main menu item for the component is defined in the &amp;lt;code&amp;gt;&amp;lt;menu&amp;gt;&amp;lt;code&amp;gt; item, a child of &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;/code&amp;gt;. A &amp;lt;code&amp;gt;&amp;lt;submenu&amp;gt;&amp;lt;/code&amp;gt; element may also be present (also a child of &amp;lt;code&amp;gt;&amp;lt;administration&amp;gt;&amp;lt;/code&amp;gt;), which may contain more menu items defined by &amp;lt;code&amp;gt;&amp;lt;menu&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Additionally, each &amp;lt;code&amp;gt;&amp;lt;menu&amp;gt;&amp;lt;/code&amp;gt; item can define the following attributes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px&amp;quot; | Attribute || Description&lt;br /&gt;
|-&lt;br /&gt;
| link || A link to send the user to when the menu item is clicked&lt;br /&gt;
|-&lt;br /&gt;
| view || (optional) The name of the view to load. E.g. &amp;lt;code&amp;gt;&amp;lt;menu view=&amp;quot;cpanel&amp;quot;&amp;gt;COM_EXAMPLE&amp;lt;/menu&amp;gt;&amp;lt;/code&amp;gt; in com_example&#039;s XML manifest would cause the URL of the menu item to be index.php?option=com_example&amp;amp;view=cpanel&lt;br /&gt;
|-&lt;br /&gt;
| img || The (relative) path to an image (16x16 pixels) to appear beside the menu item&lt;br /&gt;
|-&lt;br /&gt;
| alt ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The value inside the tag is the menu&#039;s label. Unlike Joomla! 1.5, you can not use a natural language string. For example, if you would enter &amp;quot;Example Component&amp;quot; instead of COM_EXAMPLE, it would result in your component name appearing as example-component in the menu and you would be unable to provide a translation. In order to provide a translation you need to create a file named en-GB.com_example.sys.ini in administrator/languages/en-GB (you can use the manifest&#039;s &amp;lt;code&amp;gt;&amp;lt;languages&amp;gt;&amp;lt;/code&amp;gt; tag to copy it during installation) or in administrator/components/com_example/language/en-GB. In the latter case, you must not include the translation file in the &amp;lt;code&amp;gt;&amp;lt;languages&amp;gt;&amp;lt;/code&amp;gt; tag. As long as you have placed the language directory in your &amp;lt;code&amp;gt;&amp;lt;files&amp;gt;&amp;lt;/code&amp;gt; tag, it will be copied along when the component is being installed.&lt;br /&gt;
&lt;br /&gt;
The contents of that file should be:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
COM_EXAMPLE=&amp;quot;Example Component&amp;quot;&lt;br /&gt;
COM_EXAMPLE_ANOPTION=&amp;quot;Another Option&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that the language string must be enclosed in double quotes, as per Joomla!&#039;s translation standards. Important note: Joomla! 1.6 and later sorts the Component menu items based on the actual translation of the key you supply in your XML manifest. This means that the sorting order is correct no matter what you call your translation key and no matter which language the site is being displayed in. Essentially, Joomla! 1.6 fixed the wrong sorting of the Components menu for the majority (non-English speaking!) of Joomla! users experienced under Joomla! 1.5.&lt;br /&gt;
&lt;br /&gt;
{{Needsinfo|what does alt do?}}&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
The &amp;lt;code&amp;gt;&amp;lt;config&amp;gt;&amp;lt;/code&amp;gt; element, a child of the root, describes the configuration options for the extension. If applicable, the options will be shown by the appropriate Manager (Plugin Manager, Module Manager or Template Manager). &#039;&#039;&#039;Configuration options can also be defined in a separate file named &amp;lt;code&amp;gt;config.xml&amp;lt;/code&amp;gt;. Its root element should be &amp;lt;code&amp;gt;&amp;lt;config&amp;gt;&amp;lt;/code&amp;gt;.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{:XML JForm form definitions}}&lt;br /&gt;
&lt;br /&gt;
=== SQL ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;install&amp;gt;&lt;br /&gt;
        &amp;lt;sql&amp;gt;&lt;br /&gt;
            &amp;lt;file driver=&amp;quot;mysql&amp;quot; charset=&amp;quot;utf8&amp;quot;&amp;gt;example.install.sql&amp;lt;/file&amp;gt;&lt;br /&gt;
        &amp;lt;/sql&amp;gt;&lt;br /&gt;
    &amp;lt;/install&amp;gt;&lt;br /&gt;
    &amp;lt;uninstall&amp;gt;&lt;br /&gt;
        &amp;lt;sql&amp;gt;&lt;br /&gt;
            &amp;lt;file driver=&amp;quot;mysql&amp;quot; charset=&amp;quot;utf8&amp;quot;&amp;gt;example.uninstall.sql&amp;lt;/file&amp;gt;&lt;br /&gt;
        &amp;lt;/sql&amp;gt;&lt;br /&gt;
    &amp;lt;/uninstall&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can execute SQL during installation and/or uninstallation using the &amp;lt;code&amp;gt;&amp;lt;install&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;uninstall&amp;gt;&amp;lt;/code&amp;gt; elements, respectively. An &amp;lt;code&amp;gt;&amp;lt;sql&amp;gt;&amp;lt;/code&amp;gt; element should appear as a child of these elements. &amp;lt;code&amp;gt;&amp;lt;sql&amp;gt;&amp;lt;/code&amp;gt; can contain any number of &amp;lt;code&amp;gt;&amp;lt;file&amp;gt;&amp;lt;/code&amp;gt; elements, each defining a single SQL file to execute. Their database driver types are described by the &amp;lt;code&amp;gt;driver&amp;lt;/code&amp;gt; attribute, their character sets by the &amp;lt;code&amp;gt;charset&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
=== Script file ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;scriptfile&amp;gt;example.script.php&amp;lt;/scriptfile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;script file&#039;&#039;&#039; (PHP code that is run before, during and/or after installation, uninstallation and upgrading) can be defined using a &amp;lt;code&amp;gt;&amp;lt;scriptfile&amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
=== Update servers ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;updateservers&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;extension&amp;quot; priority=&amp;quot;1&amp;quot; name=&amp;quot;Extension Update Site&amp;quot;&amp;gt;http://example.com/extension.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
        &amp;lt;server type=&amp;quot;collection&amp;quot; priority=&amp;quot;2&amp;quot; name=&amp;quot;Collection Update Site&amp;quot;&amp;gt;http://example.com/collection.xml&amp;lt;/server&amp;gt;&lt;br /&gt;
    &amp;lt;/updateservers&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Update servers can be defined in the &amp;lt;code&amp;gt;&amp;lt;updateservers&amp;gt;&amp;lt;/code&amp;gt; element, a child of the root. This element may contain one or more &amp;lt;code&amp;gt;&amp;lt;server&amp;gt;&amp;lt;/code&amp;gt; element, each describing a location to fetch updates from. Each &amp;lt;code&amp;gt;&amp;lt;server&amp;gt;&amp;lt;/code&amp;gt; item can define the following attributes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 150px&amp;quot; | Attribute || style=&amp;quot;width: 150px&amp;quot; | Values || Description&lt;br /&gt;
|-&lt;br /&gt;
| type || &amp;lt;code&amp;gt;extension&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;collection&amp;lt;/code&amp;gt; || The update server type&lt;br /&gt;
|-&lt;br /&gt;
| priority || &#039;&#039;integer&#039;&#039; || The priority of the update server&lt;br /&gt;
|-&lt;br /&gt;
| name || &#039;&#039;string&#039;&#039; || The name of the update server&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
For a real-life example, see [http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&amp;amp;path=%2Fdevelopment%2Ftags%2F1.6.x%2F1.6.5%2Fadministrator%2Fcomponents%2Fcom_banners%2Fbanners.xml&amp;amp;view=markup the manifest of the Banner component in version 1.6.5].&lt;br /&gt;
&lt;br /&gt;
The Joomla testing process uses several extensions to test whether the installer works correctly. The latest versions of the manifests of these extensions are:&lt;br /&gt;
&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/com_alpha/alpha.xml com_alpha manifest]&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/mod_alpha/mod_alpha.xml mod_alpha manifest]&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/plg_system_alpha/alpha.xml plg_system_alpha manifest]&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/tpl_simple/templateDetails.xml tpl_simple manifest]&lt;br /&gt;
* [http://svn.joomla.org/project/cms/development/trunk/tests/_data/installer_packages/lng_xx-XX/xx-XX.xml lng_xx-XX manifest]&lt;br /&gt;
&lt;br /&gt;
== Contributors ==&lt;br /&gt;
*[[User:akede|Alex Kempkens]]&lt;br /&gt;
*[[User:dperaza|Daniel Peraza]]&lt;br /&gt;
*[[User:nikosdion|Nicholas K. Dionysopoulos]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Extension development]]&lt;br /&gt;
[[Category:Specifications]]&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Local_Joomla_Communities&amp;diff=61094</id>
		<title>Local Joomla Communities</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Local_Joomla_Communities&amp;diff=61094"/>
		<updated>2011-07-30T11:04:33Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: /* Greek */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joomla is an international project with many users worldwide. The main language of the Joomla.org family websites is English. In the past years many groups of Joomla users created their own local Joomla community with Joomla information in their native language.&lt;br /&gt;
&lt;br /&gt;
Help me to build a list of all local/country/area Joomla communities per language by adding new local communities or completing information so we create a nice overview. &lt;br /&gt;
&lt;br /&gt;
Please use format: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Website Name [http://www.websitename.com] (Target country/area)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thanks, [http://twitter.com/sanderpotjer Sander Potjer]&lt;br /&gt;
&lt;br /&gt;
=Danish=&lt;br /&gt;
joomla.dk [http://www.joomla.dk] (Danmark)&lt;br /&gt;
&lt;br /&gt;
=Dutch=&lt;br /&gt;
&lt;br /&gt;
DutchJoomla.org [http://www.dutchjoomla.org] (The Netherlands/Belgium)&lt;br /&gt;
&lt;br /&gt;
JoomlaCommunity.eu [http://www.joomlacommunity.eu] (The Netherlands/Belgium)&lt;br /&gt;
&lt;br /&gt;
=English=&lt;br /&gt;
Australian Joomla User Groups [http://www.joomla.org.au] (Australia)&lt;br /&gt;
=Estonian=&lt;br /&gt;
Joomla! Eesti kasutajaskond [http://www.eraser.ee] (Estonia)&lt;br /&gt;
=French=&lt;br /&gt;
joomla.fr [http://www.joomla.fr] (France)&lt;br /&gt;
&lt;br /&gt;
=German=&lt;br /&gt;
joomla.at [http://www.joomla.at] (Austria)&lt;br /&gt;
&lt;br /&gt;
joomla.de [http://www.joomla.de] (Germany)&lt;br /&gt;
&lt;br /&gt;
joomla.ch [http://www.joomla.ch] (Switzerland)&lt;br /&gt;
&lt;br /&gt;
=Greek=&lt;br /&gt;
MyJoomla.gr [http://www.myjoomla.gr] (Greece, Athens)&lt;br /&gt;
&lt;br /&gt;
Joomla! Fans.gr [http://www.joomlafans.gr/] (Greece, Thessaloniki)&lt;br /&gt;
&lt;br /&gt;
=Hebrew=&lt;br /&gt;
joomla.org.il [http://www.joomla.org.il] (Israel)&lt;br /&gt;
&lt;br /&gt;
=Hungarian=&lt;br /&gt;
joomla.org.hu [http://www.joomla.org.hu] (Hungary)&lt;br /&gt;
&lt;br /&gt;
=Italian=&lt;br /&gt;
&lt;br /&gt;
joomla.it [http://www.joomla.it] (Italy)&lt;br /&gt;
&lt;br /&gt;
=Japanese=&lt;br /&gt;
&lt;br /&gt;
joomla.jp [http://www.joomla.jp] (Japan)&lt;br /&gt;
&lt;br /&gt;
=Portuguese=&lt;br /&gt;
joomlapt.com [http://www.joomlapt.com] (Portugal)&lt;br /&gt;
&lt;br /&gt;
=Spanish=&lt;br /&gt;
&lt;br /&gt;
joomlaspanish.org [http://www.joomlaspanish.org] (?)&lt;br /&gt;
&lt;br /&gt;
=Turkish=&lt;br /&gt;
Joomla! Türkiye [http://www.joomlatr.org] (Turkey)&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Local_Joomla_Communities&amp;diff=61093</id>
		<title>Local Joomla Communities</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Local_Joomla_Communities&amp;diff=61093"/>
		<updated>2011-07-30T11:04:11Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: /* Greek */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joomla is an international project with many users worldwide. The main language of the Joomla.org family websites is English. In the past years many groups of Joomla users created their own local Joomla community with Joomla information in their native language.&lt;br /&gt;
&lt;br /&gt;
Help me to build a list of all local/country/area Joomla communities per language by adding new local communities or completing information so we create a nice overview. &lt;br /&gt;
&lt;br /&gt;
Please use format: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Website Name [http://www.websitename.com] (Target country/area)&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thanks, [http://twitter.com/sanderpotjer Sander Potjer]&lt;br /&gt;
&lt;br /&gt;
=Danish=&lt;br /&gt;
joomla.dk [http://www.joomla.dk] (Danmark)&lt;br /&gt;
&lt;br /&gt;
=Dutch=&lt;br /&gt;
&lt;br /&gt;
DutchJoomla.org [http://www.dutchjoomla.org] (The Netherlands/Belgium)&lt;br /&gt;
&lt;br /&gt;
JoomlaCommunity.eu [http://www.joomlacommunity.eu] (The Netherlands/Belgium)&lt;br /&gt;
&lt;br /&gt;
=English=&lt;br /&gt;
Australian Joomla User Groups [http://www.joomla.org.au] (Australia)&lt;br /&gt;
=Estonian=&lt;br /&gt;
Joomla! Eesti kasutajaskond [http://www.eraser.ee] (Estonia)&lt;br /&gt;
=French=&lt;br /&gt;
joomla.fr [http://www.joomla.fr] (France)&lt;br /&gt;
&lt;br /&gt;
=German=&lt;br /&gt;
joomla.at [http://www.joomla.at] (Austria)&lt;br /&gt;
&lt;br /&gt;
joomla.de [http://www.joomla.de] (Germany)&lt;br /&gt;
&lt;br /&gt;
joomla.ch [http://www.joomla.ch] (Switzerland)&lt;br /&gt;
&lt;br /&gt;
=Greek=&lt;br /&gt;
MyJoomla.gr [http://www.myjoomla.gr] (Greece, Athens)&lt;br /&gt;
Joomla! Fans.gr [http://www.joomlafans.gr/] (Greece, Thessaloniki)&lt;br /&gt;
&lt;br /&gt;
=Hebrew=&lt;br /&gt;
joomla.org.il [http://www.joomla.org.il] (Israel)&lt;br /&gt;
&lt;br /&gt;
=Hungarian=&lt;br /&gt;
joomla.org.hu [http://www.joomla.org.hu] (Hungary)&lt;br /&gt;
&lt;br /&gt;
=Italian=&lt;br /&gt;
&lt;br /&gt;
joomla.it [http://www.joomla.it] (Italy)&lt;br /&gt;
&lt;br /&gt;
=Japanese=&lt;br /&gt;
&lt;br /&gt;
joomla.jp [http://www.joomla.jp] (Japan)&lt;br /&gt;
&lt;br /&gt;
=Portuguese=&lt;br /&gt;
joomlapt.com [http://www.joomlapt.com] (Portugal)&lt;br /&gt;
&lt;br /&gt;
=Spanish=&lt;br /&gt;
&lt;br /&gt;
joomlaspanish.org [http://www.joomlaspanish.org] (?)&lt;br /&gt;
&lt;br /&gt;
=Turkish=&lt;br /&gt;
Joomla! Türkiye [http://www.joomlatr.org] (Turkey)&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Extension_Installer/Installer_Hooks&amp;diff=60878</id>
		<title>Extension Installer/Installer Hooks</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Extension_Installer/Installer_Hooks&amp;diff=60878"/>
		<updated>2011-07-19T09:50:42Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Updated with information shared by Sam Moffat on the developer&amp;#039;s mailing list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some extension installers offer installer hooks for the installing application, such as the component installer. This system replaces the older &#039;com_install&#039; and &#039;com_uninstall&#039; methods that used to exist instead using an object to contain this information.&lt;br /&gt;
&lt;br /&gt;
The class name of the item should be the element name followed by &amp;quot;InstallerScript&amp;quot;. So for &amp;quot;com_alpha&amp;quot; the class name would be &amp;quot;com_alphaInstallerScript&amp;quot;. The hooks, in order of execution, are:&lt;br /&gt;
* preflight&lt;br /&gt;
* install&lt;br /&gt;
* uninstall&lt;br /&gt;
* update&lt;br /&gt;
* discover_install&lt;br /&gt;
* postflight&lt;br /&gt;
&lt;br /&gt;
Install and uninstall are analogous to to the old &amp;quot;com_install&amp;quot; and &amp;quot;com_uninstall&amp;quot; functions. Update is a new function handled for update situations and &amp;quot;discover_install&amp;quot; is a special version of install that is used when the extension is &#039;discovered&#039;. Finally preflight and postflight accepts a param display what sort of operation we&#039;re doing (one of the above options: install, uninstall, update, discover_install) and is triggered before different operations take place.&lt;br /&gt;
&lt;br /&gt;
You can find practical examples on using the installation script files and hooks inside the tests/_data/installer_packages directory of Joomla!&#039;s SVN repository. It&#039;s advisable to study com_alpha and try to install it on a Joomla! 1.6/1.7 install to literally see the execution order of these hooks. Other components, like com_beta, showcase other use cases of the installer scripts. For instance, com_beta shows you how to abort the extension installation.&lt;br /&gt;
&lt;br /&gt;
== The preflight hook ==&lt;br /&gt;
&lt;br /&gt;
Effectively preflight runs as soon as possible after we&#039;ve got the manifest file, worked out if we need to switch into an update mode from the install (e.g. if the extension is installed then the system transparently swaps into the update mode out of install so that the installation hooks work properly) and has worked out where the script file is and loaded it. At this point you could conceivably prevent the installation by calling the abort mechanism from the parent or prepare anything ahead of the file copy and database changes occurring. It is one of the new hooks in 1.6 to let you get your own code in as close to the installer process kicking off as the developers felt safe. You&#039;re also handed a copy of the installer object (from memory) and a param to say if the preflight is for install or update so that if there is a difference you can handle that.&lt;br /&gt;
&lt;br /&gt;
== The install/update/discover_install/uninstall hooks ==&lt;br /&gt;
&lt;br /&gt;
The install/update hooks run effectively where com_install ran which was after the files have been copied (except the manifest) and the database has been updated (except for the #__extensions or equivalent entry).&lt;br /&gt;
&lt;br /&gt;
The install hook runs only when a component is being installed, i.e. it wasn&#039;t already installed. The update hook runs when the component is being updated, i.e. when it was already installed. The discover_install run when a component has all of its files copied manually and the user is using the Discover feature of extensions manager to install it, i.e. let Joomla! update its database so that it &amp;quot;knows&amp;quot; about this components. Naturally, the uninstall hook runs when the extension is being uninstalled.&lt;br /&gt;
&lt;br /&gt;
== The postflight hook ==&lt;br /&gt;
&lt;br /&gt;
Postflight, at least for components, runs after the #__extensions entry has been made/updated (install/update) and that the manifest file has been copied. At this point there should be no reason for the extension to fail. For those extensions utilising a redirect that broke with the shift from 1.5 to 1.6, where 1.5 com_installer doesn&#039;t do a redirect after install and now 1.6 com_installer does, you can instruct the installer in postflight to redirect to a custom extension installation screen from a component (see com_alpha&#039;s scriptfile for an example of this).&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Making_single_installation_packages_for_Joomla!_1.5_and_2.5_series&amp;diff=60826</id>
		<title>Making single installation packages for Joomla! 1.5 and 2.5 series</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Making_single_installation_packages_for_Joomla!_1.5_and_2.5_series&amp;diff=60826"/>
		<updated>2011-07-17T09:26:05Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Finished writing this huge page!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{review}}&lt;br /&gt;
&lt;br /&gt;
It is possible to create a single installation package which can install a component in Joomla! 1.5, 1.6 and 1.7 with minor changes. Below you will find some of the most common tricks required to create an extension which is compatible with all current versions of the Joomla! CMS.&lt;br /&gt;
&lt;br /&gt;
== Dealing with API changes ==&lt;br /&gt;
You will regularly bump into cases where an API has changed between Joomla! 1.5, 1.6 and 1.7. In order to cater for them, you need to run slightly different code based on the Joomla! version. Right now it&#039;s possible to do that by writing conditional statements like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if(version_compare(JVERSION,&#039;1.7.0&#039;,&#039;ge&#039;) {&lt;br /&gt;
// Joomla! 1.7 code here&lt;br /&gt;
} elseif(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;) {&lt;br /&gt;
// Joomla! 1.6 code here&lt;br /&gt;
} else {&lt;br /&gt;
// Joomla! 1.5 code here&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not have Joomla! 1.7-specific code -i.e it is the same as the Joomla! 1.6-specific code- please use the following code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;) {&lt;br /&gt;
// Joomla! 1.6 code here&lt;br /&gt;
} else {&lt;br /&gt;
// Joomla! 1.5 code here&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While this conditional statement looks like an overkill, it has two major advantages:&lt;br /&gt;
* Compatibility with all Joomla! versions using the same package, therefore using the same codebase, ergo less maintenance overhead&lt;br /&gt;
* Once, let&#039;s say, Joomla! 1.8 is released and you decide to drop support for earlier Joomla! releases, we can just search your code for &amp;quot;if(version_compare(JVERSION,&amp;quot; and remove all of the legacy code.&lt;br /&gt;
&lt;br /&gt;
== One XML configuration file, multiple Joomla! versions ==&lt;br /&gt;
&lt;br /&gt;
Various XML files in Joomla! accept settings, or parameters. For example your extension manifest file, the config.xml file and the view XML files all accept such settings. You may have noticed that whereas in Joomla! 1.5 these were found under the &amp;lt;params&amp;gt; tags, in Joomla! 1.6 and later they are found inside &amp;lt;filedsets&amp;gt;. One hidden secret of Joomla! is that Joomla! 1.5 will ignore Joomla! 1.6 syntax, whereas Joomla! 1.6/1.7 will ignore Joomla! 1.5 syntax. This allows you to have a single XML file which caters for all Joomla! releases. For example, here&#039;s a sample config.xml file, to be placed in the component&#039;s backend directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;config&amp;gt;&lt;br /&gt;
	&amp;lt;params&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Joomla! 1.5 uses params --&amp;gt;&lt;br /&gt;
		&amp;lt;param name=&amp;quot;foobar&amp;quot; type=&amp;quot;text&amp;quot; default=&amp;quot;&amp;quot; size=&amp;quot;30&amp;quot;&lt;br /&gt;
			label=&amp;quot;COM_FOOBAR_OPTION_FOOBAR_LBL&amp;quot;&lt;br /&gt;
			description =&amp;quot;COM_FOOBAR_OPTION_FOOBAR_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/params&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;fieldset&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Joomla! 1.6 uses fieldset --&amp;gt;&lt;br /&gt;
		name=&amp;quot;basic&amp;quot;&lt;br /&gt;
		label=&amp;quot;COM_FOOBAR_OPTIONS_SECTION_BASIC_LBL&amp;quot;&lt;br /&gt;
		description=&amp;quot;COM_FOOBAR_OPTIONS_SECTION_BASIC_DESC&amp;quot;&lt;br /&gt;
		&amp;gt;&lt;br /&gt;
		&amp;lt;field name=&amp;quot;foobar&amp;quot; type=&amp;quot;text&amp;quot; default=&amp;quot;&amp;quot; size=&amp;quot;30&amp;quot;&lt;br /&gt;
			label=&amp;quot;COM_FOOBAR_OPTION_FOOBAR_LBL&amp;quot;&lt;br /&gt;
			description =&amp;quot;COM_FOOBAR_OPTION_FOOBAR_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&#039;s how easy it is!&lt;br /&gt;
&lt;br /&gt;
== Dealing with languages ==&lt;br /&gt;
&lt;br /&gt;
=== How to load component-local translation files in Joomla! 1.5 ===&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.6 introduced a new feature where a user can place language files inside the component&#039;s directory, e.g. administrator/com_foobar/language/en-GB/en-GB.com_foobar.ini, in order to provide language overrides. But Joomla! 1.5 doesn&#039;t support this feature. Or does it? Even though it can not do that automatically, you can do so in your extension&#039;s dispatcher file, e.g. administrator/com_foobar/foobar.php. Here&#039;s the magic code to do that in the backend:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_ADMINISTRATOR, null, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_COMPONENT_ADMINISTRATOR, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
and the frontend:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_SITE, null, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_COMPONENT, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tips and tricks for language strings ===&lt;br /&gt;
&lt;br /&gt;
All your translation keys should consist of uppercase characters without spaces (that is A-Z, 0-9 and underscores). All translation values should be included in double quotation marks. This allows the translation files to be parsed by Joomla! 1.5/1.6/1.7 alike. You are also suggested to prefix your translation keys with the extension&#039;s name, albeit this is not required. For example, this is a good translation string:&lt;br /&gt;
COM_FOOBAR_CPANEL_TITLE=&amp;quot;Foobar Control Panel&amp;quot;&lt;br /&gt;
whereas this is a &#039;&#039;&#039;bad&#039;&#039;&#039; translation string:&lt;br /&gt;
CONTROL PANEL=Foobar Control Panel&lt;br /&gt;
The former works with all current versions of Joomla!, the latter doesn&#039;t.&lt;br /&gt;
&lt;br /&gt;
If you have double quotation marks in your translation values, please replace them with single quotation marks. While Joomla! 1.5 allowed escaping the double quotation marks with \&amp;quot;, Joomla! 1.6 under newer versions of PHP don&#039;t and require you to escape them as &amp;quot;__QQ__&amp;quot; which throws off Joomla! 1.5&#039;s parser. The workaround is to take advantage of a little known fact about HTML, that attributes can be wrapped in single quotation marks. For instance, change this:&lt;br /&gt;
COM_FOOBAR_SOME_KEY=&amp;lt;a href=&amp;quot;http://www.example.com&amp;quot;&amp;gt;Just a test&amp;lt;/a&amp;gt;&lt;br /&gt;
to this:&lt;br /&gt;
COM_FOOBAR_SOME_KEY=&amp;quot;&amp;lt;a href=&#039;http://www.example.com&#039;&amp;gt;Just a test&amp;lt;/a&amp;gt;&amp;quot;&lt;br /&gt;
It is valid HTML, it works on Joomla! 1.5/1.6/1.7 but it will invalidates XHTML. You can&#039;t always win, sorry.&lt;br /&gt;
&lt;br /&gt;
=== Making untranslated strings look more beautiful ===&lt;br /&gt;
&lt;br /&gt;
The problem with using tight translation keys as we described is that untranslated strings now look something like COM_FOOBAR_VIEWNAME_SOMEKEY. If you have volunteer translators you can bet your head that most translations will not be in sync with your component and you will have untranslated strings. In Joomla! 1.5, using &amp;quot;natural language&amp;quot; keys, you got to show your users the default (English) text if a translation key didn&#039;t exist in their language. This is impossible in Joomla! 1.6... or maybe not?&lt;br /&gt;
&lt;br /&gt;
We can use the same little trick in our component&#039;s dispatcher as with our component-local translation loading string above. Here&#039;s how to load the English translation file in the backend of your component, then overwrite only the keys which exist with the user&#039;s selected language, essentially allowing untranslated keys to show in English:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_ADMINISTRATOR, &#039;en-GB&#039;, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_ADMINISTRATOR, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same thing in the front-end:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_SITE, &#039;en-GB&#039;, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_SITE, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JElement vs JFormField ==&lt;br /&gt;
&lt;br /&gt;
Oh, the struggle! You need a custom widget in the configuration section of your component. In Joomla! 1.5 you could just create a new JElement. In Joomla! 1.6 you could just create a new JFormField. But both? In a single file? You can employ a simple trick. In the following example I am going to create a rather lame element, called SQL2, which displays a multi-selection box out of the results of a SQL statement. This is made as part of a fictitious module called mod_foobar&lt;br /&gt;
&lt;br /&gt;
First, let your configuration know where to load the custom widget files from, by putting this in your module&#039;s XML manifest file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;params addpath=&amp;quot;/modules/mod_foobar/elements&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;param name=&amp;quot;ids&amp;quot; type=&amp;quot;sql2&amp;quot; default=&amp;quot;&amp;quot;&lt;br /&gt;
			label=&amp;quot;MOD_FOOBAR_LEVELS_TITLE&amp;quot;&lt;br /&gt;
			description=&amp;quot;MOD_FOOBAR_LEVELS_DESC&amp;quot;&lt;br /&gt;
			query=&amp;quot;SELECT `foobar_level_id`, `title` FROM `#__foobar_levels`&amp;quot;&lt;br /&gt;
			key_field=&amp;quot;foobar_level_id&amp;quot;&lt;br /&gt;
			value_field=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/params&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;config addfieldpath=&amp;quot;/modules/mod_foobar/elements&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;fields name=&amp;quot;params&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;fieldset name=&amp;quot;basic&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;field name=&amp;quot;ids&amp;quot; type=&amp;quot;sql2&amp;quot; default=&amp;quot;&amp;quot;&lt;br /&gt;
					label=&amp;quot;MOD_FOOBAR_LEVELS_TITLE&amp;quot;&lt;br /&gt;
					description=&amp;quot;MOD_FOOBAR_LEVELS_DESC&amp;quot;&lt;br /&gt;
					query=&amp;quot;SELECT `foobar_level_id`, `title` FROM `#__foobar_levels`&amp;quot;&lt;br /&gt;
					key_field=&amp;quot;foobar_level_id&amp;quot;&lt;br /&gt;
					value_field=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
		&amp;lt;/fields&amp;gt;&lt;br /&gt;
	&amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you see, we instruct both Joomla! 1.5 and 1.6/1.7 to look into the same directory, for the same-named file (sql2.php). Here are the contents of the modules/mod_foobar/elements/sql2.php file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * This trick allows us to extend the correct class, based on whether it&#039;s Joomla! 1.5 or 1.6&lt;br /&gt;
 */&lt;br /&gt;
if(!class_exists(&#039;JFakeElementBase&#039;)) {&lt;br /&gt;
        if(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;)) {&lt;br /&gt;
                class JFakeElementBase extends JFormField {&lt;br /&gt;
                        // This line is required to keep Joomla! 1.6/1.7 from complaining&lt;br /&gt;
                        public function getInput() {}&lt;br /&gt;
                }               &lt;br /&gt;
        } else {&lt;br /&gt;
                class JFakeElementBase extends JElement {}&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Our main element class, creating a multi-select list out of an SQL statement&lt;br /&gt;
 */&lt;br /&gt;
class JFakeElementSQL2 extends JFakeElementBase&lt;br /&gt;
{&lt;br /&gt;
	var	$_name = &#039;SQL2&#039;;&lt;br /&gt;
&lt;br /&gt;
	// Joomla! 1.5&lt;br /&gt;
	function fetchElement($name, $value, &amp;amp;$node, $control_name)&lt;br /&gt;
	{&lt;br /&gt;
		$db			= &amp;amp; JFactory::getDBO();&lt;br /&gt;
		$db-&amp;gt;setQuery($node-&amp;gt;attributes(&#039;query&#039;));&lt;br /&gt;
		$key = ($node-&amp;gt;attributes(&#039;key_field&#039;) ? $node-&amp;gt;attributes(&#039;key_field&#039;) : &#039;value&#039;);&lt;br /&gt;
		$val = ($node-&amp;gt;attributes(&#039;value_field&#039;) ? $node-&amp;gt;attributes(&#039;value_field&#039;) : $name);&lt;br /&gt;
		return JHTML::_(&#039;select.genericlist&#039;,  $db-&amp;gt;loadObjectList(), &#039;&#039;.$control_name.&#039;[&#039;.$name.&#039;][]&#039;, &#039;class=&amp;quot;inputbox&amp;quot; multiple=&amp;quot;multiple&amp;quot; size=&amp;quot;5&amp;quot;&#039;, $key, $val, $value, $control_name.$name);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// Joomla! 1.6&lt;br /&gt;
	function getInput()&lt;br /&gt;
	{&lt;br /&gt;
		$db			= &amp;amp; JFactory::getDBO();&lt;br /&gt;
		$db-&amp;gt;setQuery($this-&amp;gt;element[&#039;query&#039;]);&lt;br /&gt;
		$key = ($this-&amp;gt;element[&#039;key_field&#039;] ? $this-&amp;gt;element[&#039;key_field&#039;] : &#039;value&#039;);&lt;br /&gt;
		$val = ($this-&amp;gt;element[&#039;value_field&#039;] ? $this-&amp;gt;element[&#039;value_field&#039;] : $this-&amp;gt;name);&lt;br /&gt;
		return JHTML::_(&#039;select.genericlist&#039;,  $db-&amp;gt;loadObjectList(), $this-&amp;gt;name, &#039;class=&amp;quot;inputbox&amp;quot; multiple=&amp;quot;multiple&amp;quot; size=&amp;quot;5&amp;quot;&#039;, $key, $val, $this-&amp;gt;value, $this-&amp;gt;id);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Part two of our trick; we define the proper element name, depending on whether it&#039;s Joomla! 1.5 or 1.6&lt;br /&gt;
 */&lt;br /&gt;
if(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;)) {&lt;br /&gt;
        class JFormFieldSQL2 extends JFakeElementSQL2 {}&lt;br /&gt;
} else {&lt;br /&gt;
        class JElementSQL2 extends JFakeElementSQL2 {}                &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considering that most custom widgets have a lot more code than this, you can create two different initialisation sections for Joomla! 1.5 and 1.6/1.7 (fetchElement and getInput), populate class variables, then call a big, common method to render the bulk of the widget (just like we did with JHTML&#039;s genericlist in the example above). This will eliminate the need to rewrite the same code over again just to cater for a new Joomla! version.&lt;br /&gt;
&lt;br /&gt;
== Content plugins work slightly different ==&lt;br /&gt;
&lt;br /&gt;
The content plugins in Joomla! 1.5 were using the onPrepareContent method, whereas the content plugins in Joomla! 1.6/1.7 use the onContentPrepare method. The arguments have also changed. You can, however, create a single content plugin which runs on both Joomla! versions without rewriting code. Here&#039;s how:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die();&lt;br /&gt;
&lt;br /&gt;
jimport(&#039;joomla.plugin.plugin&#039;);&lt;br /&gt;
&lt;br /&gt;
class plgContentFoobar extends JPlugin&lt;br /&gt;
{&lt;br /&gt;
	public function onPrepareContent( &amp;amp;$article, &amp;amp;$params, $limitstart = 0 )&lt;br /&gt;
	{&lt;br /&gt;
		$article-&amp;gt;text = $this-&amp;gt;doSomethingWith($article-&amp;gt;text);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	public function onContentPrepare($context, &amp;amp;$row, &amp;amp;$params, $page = 0)&lt;br /&gt;
	{&lt;br /&gt;
		// Danger, Will Robinson! $row in Joomla! 1.6/1.7 may be a string, not an article object!&lt;br /&gt;
		if(is_object($row)) {&lt;br /&gt;
			return $this-&amp;gt;onPrepareContent($row, $params, $page);&lt;br /&gt;
		} else {&lt;br /&gt;
			$row = $this-&amp;gt;doSomethingWith($row);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	private function doSomethingWith($text)&lt;br /&gt;
	{&lt;br /&gt;
		// Apparently, you have to do something here ;)&lt;br /&gt;
		return $text;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Updating doesn&#039;t work as you&#039;d expect ==&lt;br /&gt;
&lt;br /&gt;
There is a small but very disturbing bug in Joomla! 1.6. Updating a component whose manifest XML states version=&amp;quot;1.5.0&amp;quot; doesn&#039;t allow you to run the SQL statements. Namely, the SQL files you specify under the &amp;quot;&amp;lt;install&amp;gt;&amp;lt;sql&amp;gt;&amp;quot; tags won&#039;t run. You can neither use the new &amp;quot;&amp;lt;update&amp;gt;&amp;quot; tag. You are stuck with no way to run SQL commands on component update!&lt;br /&gt;
&lt;br /&gt;
The ugly workaround is to create a file named script.foobar.php with the following contents:&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;
define(&#039;_JEXEC&#039;) or die();&lt;br /&gt;
&lt;br /&gt;
class Com_FoobarInstallerScript {&lt;br /&gt;
	&lt;br /&gt;
	function update($parent) {&lt;br /&gt;
		$db = JFactory::getDBO();&lt;br /&gt;
		// Obviously you may have to change the path and name if your installation SQL file ;)&lt;br /&gt;
		if(method_exists($parent, &#039;extension_root&#039;)) {&lt;br /&gt;
			$sqlfile = $parent-&amp;gt;getPath(&#039;extension_root&#039;).DS.&#039;install.sql&#039;;&lt;br /&gt;
		} else {&lt;br /&gt;
			$sqlfile = $parent-&amp;gt;getParent()-&amp;gt;getPath(&#039;extension_root&#039;).DS.&#039;install.sql&#039;;&lt;br /&gt;
		}&lt;br /&gt;
		// Don&#039;t modify below this line&lt;br /&gt;
		$buffer = file_get_contents($sqlfile);&lt;br /&gt;
		if ($buffer !== false) {&lt;br /&gt;
			jimport(&#039;joomla.installer.helper&#039;);&lt;br /&gt;
			$queries = JInstallerHelper::splitSql($buffer);&lt;br /&gt;
			if (count($queries) != 0) {&lt;br /&gt;
				foreach ($queries as $query)&lt;br /&gt;
				{&lt;br /&gt;
					$query = trim($query);&lt;br /&gt;
					if ($query != &#039;&#039; &amp;amp;&amp;amp; $query{0} != &#039;#&#039;) {&lt;br /&gt;
						$db-&amp;gt;setQuery($query);&lt;br /&gt;
						if (!$db-&amp;gt;query()) {&lt;br /&gt;
							JError::raiseWarning(1, JText::sprintf(&#039;JLIB_INSTALLER_ERROR_SQL_ERROR&#039;, $db-&amp;gt;stderr(true)));&lt;br /&gt;
							return false;&lt;br /&gt;
						}&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;
Reference that file in the end of your manifest XML file, just above the closing install tag, with:&lt;br /&gt;
&amp;lt;source type=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;scriptfile&amp;gt;script.foobar.php&amp;lt;/scriptfile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will force Joomla! 1.6 to run your extension&#039;s installation SQL file during the component update, just like Joomla! 1.5 used to do. Enjoy!&lt;br /&gt;
&lt;br /&gt;
== More tricks? ==&lt;br /&gt;
&lt;br /&gt;
I am sure that by writing this page I have left out a number of tricks which I am already using in my software. If you get stuck somewhere, feel free to take a look at how I&#039;ve implemented things in Admin Tools Core, Akeeba Backup Core and Akeeba Release System, my Joomla! 1.5/1.6/1.7 compatible extensions. If you find a better way to implement something, or found a trick not listed here, feel free to edit this wiki page. Sharing the knowledge is caring!&lt;br /&gt;
&lt;br /&gt;
Peace, love and friendship,&lt;br /&gt;
&lt;br /&gt;
Nicholas K. Dionysopoulos, AkeebaBackup.com Lead Developer&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Making_single_installation_packages_for_Joomla!_1.5_and_2.5_series&amp;diff=60825</id>
		<title>Making single installation packages for Joomla! 1.5 and 2.5 series</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Making_single_installation_packages_for_Joomla!_1.5_and_2.5_series&amp;diff=60825"/>
		<updated>2011-07-17T09:14:19Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Added content plugin information; still work in progress&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconstruction}}&lt;br /&gt;
&lt;br /&gt;
It is possible to create a single installation package which can install a component in Joomla! 1.5, 1.6 and 1.7 with minor changes. Below you will find some of the most common tricks required to create an extension which is compatible with all current versions of the Joomla! CMS.&lt;br /&gt;
&lt;br /&gt;
== Dealing with API changes ==&lt;br /&gt;
You will regularly bump into cases where an API has changed between Joomla! 1.5, 1.6 and 1.7. In order to cater for them, you need to run slightly different code based on the Joomla! version. Right now it&#039;s possible to do that by writing conditional statements like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if(version_compare(JVERSION,&#039;1.7.0&#039;,&#039;ge&#039;) {&lt;br /&gt;
// Joomla! 1.7 code here&lt;br /&gt;
} elseif(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;) {&lt;br /&gt;
// Joomla! 1.6 code here&lt;br /&gt;
} else {&lt;br /&gt;
// Joomla! 1.5 code here&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not have Joomla! 1.7-specific code -i.e it is the same as the Joomla! 1.6-specific code- please use the following code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;) {&lt;br /&gt;
// Joomla! 1.6 code here&lt;br /&gt;
} else {&lt;br /&gt;
// Joomla! 1.5 code here&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While this conditional statement looks like an overkill, it has two major advantages:&lt;br /&gt;
* Compatibility with all Joomla! versions using the same package, therefore using the same codebase, ergo less maintenance overhead&lt;br /&gt;
* Once, let&#039;s say, Joomla! 1.8 is released and you decide to drop support for earlier Joomla! releases, we can just search your code for &amp;quot;if(version_compare(JVERSION,&amp;quot; and remove all of the legacy code.&lt;br /&gt;
&lt;br /&gt;
== One XML configuration file, multiple Joomla! versions ==&lt;br /&gt;
&lt;br /&gt;
Various XML files in Joomla! accept settings, or parameters. For example your extension manifest file, the config.xml file and the view XML files all accept such settings. You may have noticed that whereas in Joomla! 1.5 these were found under the &amp;lt;params&amp;gt; tags, in Joomla! 1.6 and later they are found inside &amp;lt;filedsets&amp;gt;. One hidden secret of Joomla! is that Joomla! 1.5 will ignore Joomla! 1.6 syntax, whereas Joomla! 1.6/1.7 will ignore Joomla! 1.5 syntax. This allows you to have a single XML file which caters for all Joomla! releases. For example, here&#039;s a sample config.xml file, to be placed in the component&#039;s backend directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;config&amp;gt;&lt;br /&gt;
	&amp;lt;params&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Joomla! 1.5 uses params --&amp;gt;&lt;br /&gt;
		&amp;lt;param name=&amp;quot;foobar&amp;quot; type=&amp;quot;text&amp;quot; default=&amp;quot;&amp;quot; size=&amp;quot;30&amp;quot;&lt;br /&gt;
			label=&amp;quot;COM_FOOBAR_OPTION_FOOBAR_LBL&amp;quot;&lt;br /&gt;
			description =&amp;quot;COM_FOOBAR_OPTION_FOOBAR_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/params&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;fieldset&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Joomla! 1.6 uses fieldset --&amp;gt;&lt;br /&gt;
		name=&amp;quot;basic&amp;quot;&lt;br /&gt;
		label=&amp;quot;COM_FOOBAR_OPTIONS_SECTION_BASIC_LBL&amp;quot;&lt;br /&gt;
		description=&amp;quot;COM_FOOBAR_OPTIONS_SECTION_BASIC_DESC&amp;quot;&lt;br /&gt;
		&amp;gt;&lt;br /&gt;
		&amp;lt;field name=&amp;quot;foobar&amp;quot; type=&amp;quot;text&amp;quot; default=&amp;quot;&amp;quot; size=&amp;quot;30&amp;quot;&lt;br /&gt;
			label=&amp;quot;COM_FOOBAR_OPTION_FOOBAR_LBL&amp;quot;&lt;br /&gt;
			description =&amp;quot;COM_FOOBAR_OPTION_FOOBAR_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&#039;s how easy it is!&lt;br /&gt;
&lt;br /&gt;
== Dealing with languages ==&lt;br /&gt;
&lt;br /&gt;
=== How to load component-local translation files in Joomla! 1.5 ===&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.6 introduced a new feature where a user can place language files inside the component&#039;s directory, e.g. administrator/com_foobar/language/en-GB/en-GB.com_foobar.ini, in order to provide language overrides. But Joomla! 1.5 doesn&#039;t support this feature. Or does it? Even though it can not do that automatically, you can do so in your extension&#039;s dispatcher file, e.g. administrator/com_foobar/foobar.php. Here&#039;s the magic code to do that in the backend:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_ADMINISTRATOR, null, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_COMPONENT_ADMINISTRATOR, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
and the frontend:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_SITE, null, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_COMPONENT, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tips and tricks for language strings ===&lt;br /&gt;
&lt;br /&gt;
All your translation keys should consist of uppercase characters without spaces (that is A-Z, 0-9 and underscores). All translation values should be included in double quotation marks. This allows the translation files to be parsed by Joomla! 1.5/1.6/1.7 alike. You are also suggested to prefix your translation keys with the extension&#039;s name, albeit this is not required. For example, this is a good translation string:&lt;br /&gt;
COM_FOOBAR_CPANEL_TITLE=&amp;quot;Foobar Control Panel&amp;quot;&lt;br /&gt;
whereas this is a &#039;&#039;&#039;bad&#039;&#039;&#039; translation string:&lt;br /&gt;
CONTROL PANEL=Foobar Control Panel&lt;br /&gt;
The former works with all current versions of Joomla!, the latter doesn&#039;t.&lt;br /&gt;
&lt;br /&gt;
If you have double quotation marks in your translation values, please replace them with single quotation marks. While Joomla! 1.5 allowed escaping the double quotation marks with \&amp;quot;, Joomla! 1.6 under newer versions of PHP don&#039;t and require you to escape them as &amp;quot;__QQ__&amp;quot; which throws off Joomla! 1.5&#039;s parser. The workaround is to take advantage of a little known fact about HTML, that attributes can be wrapped in single quotation marks. For instance, change this:&lt;br /&gt;
COM_FOOBAR_SOME_KEY=&amp;lt;a href=&amp;quot;http://www.example.com&amp;quot;&amp;gt;Just a test&amp;lt;/a&amp;gt;&lt;br /&gt;
to this:&lt;br /&gt;
COM_FOOBAR_SOME_KEY=&amp;quot;&amp;lt;a href=&#039;http://www.example.com&#039;&amp;gt;Just a test&amp;lt;/a&amp;gt;&amp;quot;&lt;br /&gt;
It is valid HTML, it works on Joomla! 1.5/1.6/1.7 but it will invalidates XHTML. You can&#039;t always win, sorry.&lt;br /&gt;
&lt;br /&gt;
=== Making untranslated strings look more beautiful ===&lt;br /&gt;
&lt;br /&gt;
The problem with using tight translation keys as we described is that untranslated strings now look something like COM_FOOBAR_VIEWNAME_SOMEKEY. If you have volunteer translators you can bet your head that most translations will not be in sync with your component and you will have untranslated strings. In Joomla! 1.5, using &amp;quot;natural language&amp;quot; keys, you got to show your users the default (English) text if a translation key didn&#039;t exist in their language. This is impossible in Joomla! 1.6... or maybe not?&lt;br /&gt;
&lt;br /&gt;
We can use the same little trick in our component&#039;s dispatcher as with our component-local translation loading string above. Here&#039;s how to load the English translation file in the backend of your component, then overwrite only the keys which exist with the user&#039;s selected language, essentially allowing untranslated keys to show in English:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_ADMINISTRATOR, &#039;en-GB&#039;, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_ADMINISTRATOR, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same thing in the front-end:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_SITE, &#039;en-GB&#039;, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_SITE, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JElement vs JFormField ==&lt;br /&gt;
&lt;br /&gt;
Oh, the struggle! You need a custom widget in the configuration section of your component. In Joomla! 1.5 you could just create a new JElement. In Joomla! 1.6 you could just create a new JFormField. But both? In a single file? You can employ a simple trick. In the following example I am going to create a rather lame element, called SQL2, which displays a multi-selection box out of the results of a SQL statement. This is made as part of a fictitious module called mod_foobar&lt;br /&gt;
&lt;br /&gt;
First, let your configuration know where to load the custom widget files from, by putting this in your module&#039;s XML manifest file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;params addpath=&amp;quot;/modules/mod_foobar/elements&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;param name=&amp;quot;ids&amp;quot; type=&amp;quot;sql2&amp;quot; default=&amp;quot;&amp;quot;&lt;br /&gt;
			label=&amp;quot;MOD_FOOBAR_LEVELS_TITLE&amp;quot;&lt;br /&gt;
			description=&amp;quot;MOD_FOOBAR_LEVELS_DESC&amp;quot;&lt;br /&gt;
			query=&amp;quot;SELECT `foobar_level_id`, `title` FROM `#__foobar_levels`&amp;quot;&lt;br /&gt;
			key_field=&amp;quot;foobar_level_id&amp;quot;&lt;br /&gt;
			value_field=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/params&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;config addfieldpath=&amp;quot;/modules/mod_foobar/elements&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;fields name=&amp;quot;params&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;fieldset name=&amp;quot;basic&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;field name=&amp;quot;ids&amp;quot; type=&amp;quot;sql2&amp;quot; default=&amp;quot;&amp;quot;&lt;br /&gt;
					label=&amp;quot;MOD_FOOBAR_LEVELS_TITLE&amp;quot;&lt;br /&gt;
					description=&amp;quot;MOD_FOOBAR_LEVELS_DESC&amp;quot;&lt;br /&gt;
					query=&amp;quot;SELECT `foobar_level_id`, `title` FROM `#__foobar_levels`&amp;quot;&lt;br /&gt;
					key_field=&amp;quot;foobar_level_id&amp;quot;&lt;br /&gt;
					value_field=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
		&amp;lt;/fields&amp;gt;&lt;br /&gt;
	&amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you see, we instruct both Joomla! 1.5 and 1.6/1.7 to look into the same directory, for the same-named file (sql2.php). Here are the contents of the modules/mod_foobar/elements/sql2.php file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * This trick allows us to extend the correct class, based on whether it&#039;s Joomla! 1.5 or 1.6&lt;br /&gt;
 */&lt;br /&gt;
if(!class_exists(&#039;JFakeElementBase&#039;)) {&lt;br /&gt;
        if(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;)) {&lt;br /&gt;
                class JFakeElementBase extends JFormField {&lt;br /&gt;
                        // This line is required to keep Joomla! 1.6/1.7 from complaining&lt;br /&gt;
                        public function getInput() {}&lt;br /&gt;
                }               &lt;br /&gt;
        } else {&lt;br /&gt;
                class JFakeElementBase extends JElement {}&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Our main element class, creating a multi-select list out of an SQL statement&lt;br /&gt;
 */&lt;br /&gt;
class JFakeElementSQL2 extends JFakeElementBase&lt;br /&gt;
{&lt;br /&gt;
	var	$_name = &#039;SQL2&#039;;&lt;br /&gt;
&lt;br /&gt;
	// Joomla! 1.5&lt;br /&gt;
	function fetchElement($name, $value, &amp;amp;$node, $control_name)&lt;br /&gt;
	{&lt;br /&gt;
		$db			= &amp;amp; JFactory::getDBO();&lt;br /&gt;
		$db-&amp;gt;setQuery($node-&amp;gt;attributes(&#039;query&#039;));&lt;br /&gt;
		$key = ($node-&amp;gt;attributes(&#039;key_field&#039;) ? $node-&amp;gt;attributes(&#039;key_field&#039;) : &#039;value&#039;);&lt;br /&gt;
		$val = ($node-&amp;gt;attributes(&#039;value_field&#039;) ? $node-&amp;gt;attributes(&#039;value_field&#039;) : $name);&lt;br /&gt;
		return JHTML::_(&#039;select.genericlist&#039;,  $db-&amp;gt;loadObjectList(), &#039;&#039;.$control_name.&#039;[&#039;.$name.&#039;][]&#039;, &#039;class=&amp;quot;inputbox&amp;quot; multiple=&amp;quot;multiple&amp;quot; size=&amp;quot;5&amp;quot;&#039;, $key, $val, $value, $control_name.$name);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// Joomla! 1.6&lt;br /&gt;
	function getInput()&lt;br /&gt;
	{&lt;br /&gt;
		$db			= &amp;amp; JFactory::getDBO();&lt;br /&gt;
		$db-&amp;gt;setQuery($this-&amp;gt;element[&#039;query&#039;]);&lt;br /&gt;
		$key = ($this-&amp;gt;element[&#039;key_field&#039;] ? $this-&amp;gt;element[&#039;key_field&#039;] : &#039;value&#039;);&lt;br /&gt;
		$val = ($this-&amp;gt;element[&#039;value_field&#039;] ? $this-&amp;gt;element[&#039;value_field&#039;] : $this-&amp;gt;name);&lt;br /&gt;
		return JHTML::_(&#039;select.genericlist&#039;,  $db-&amp;gt;loadObjectList(), $this-&amp;gt;name, &#039;class=&amp;quot;inputbox&amp;quot; multiple=&amp;quot;multiple&amp;quot; size=&amp;quot;5&amp;quot;&#039;, $key, $val, $this-&amp;gt;value, $this-&amp;gt;id);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Part two of our trick; we define the proper element name, depending on whether it&#039;s Joomla! 1.5 or 1.6&lt;br /&gt;
 */&lt;br /&gt;
if(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;)) {&lt;br /&gt;
        class JFormFieldSQL2 extends JFakeElementSQL2 {}&lt;br /&gt;
} else {&lt;br /&gt;
        class JElementSQL2 extends JFakeElementSQL2 {}                &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considering that most custom widgets have a lot more code than this, you can create two different initialisation sections for Joomla! 1.5 and 1.6/1.7 (fetchElement and getInput), populate class variables, then call a big, common method to render the bulk of the widget (just like we did with JHTML&#039;s genericlist in the example above). This will eliminate the need to rewrite the same code over again just to cater for a new Joomla! version.&lt;br /&gt;
&lt;br /&gt;
== Content plugins work slightly different ==&lt;br /&gt;
&lt;br /&gt;
The content plugins in Joomla! 1.5 were using the onPrepareContent method, whereas the content plugins in Joomla! 1.6/1.7 use the onContentPrepare method. The arguments have also changed. You can, however, create a single content plugin which runs on both Joomla! versions without rewriting code. Here&#039;s how:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die();&lt;br /&gt;
&lt;br /&gt;
jimport(&#039;joomla.plugin.plugin&#039;);&lt;br /&gt;
&lt;br /&gt;
class plgContentFoobar extends JPlugin&lt;br /&gt;
{&lt;br /&gt;
	public function onPrepareContent( &amp;amp;$article, &amp;amp;$params, $limitstart = 0 )&lt;br /&gt;
	{&lt;br /&gt;
		$article-&amp;gt;text = $this-&amp;gt;doSomethingWith($article-&amp;gt;text);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	public function onContentPrepare($context, &amp;amp;$row, &amp;amp;$params, $page = 0)&lt;br /&gt;
	{&lt;br /&gt;
		// Danger, Will Robinson! $row in Joomla! 1.6/1.7 may be a string, not an article object!&lt;br /&gt;
		if(is_object($row)) {&lt;br /&gt;
			return $this-&amp;gt;onPrepareContent($row, $params, $page);&lt;br /&gt;
		} else {&lt;br /&gt;
			$row = $this-&amp;gt;doSomethingWith($row);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	private function doSomethingWith($text)&lt;br /&gt;
	{&lt;br /&gt;
		// Apparently, you have to do something here ;)&lt;br /&gt;
		return $text;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Making_single_installation_packages_for_Joomla!_1.5_and_2.5_series&amp;diff=60824</id>
		<title>Making single installation packages for Joomla! 1.5 and 2.5 series</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Making_single_installation_packages_for_Joomla!_1.5_and_2.5_series&amp;diff=60824"/>
		<updated>2011-07-17T09:07:13Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Added more information; still work in progress&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconstruction}}&lt;br /&gt;
&lt;br /&gt;
It is possible to create a single installation package which can install a component in Joomla! 1.5, 1.6 and 1.7 with minor changes. Below you will find some of the most common tricks required to create an extension which is compatible with all current versions of the Joomla! CMS.&lt;br /&gt;
&lt;br /&gt;
== Dealing with API changes ==&lt;br /&gt;
You will regularly bump into cases where an API has changed between Joomla! 1.5, 1.6 and 1.7. In order to cater for them, you need to run slightly different code based on the Joomla! version. Right now it&#039;s possible to do that by writing conditional statements like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if(version_compare(JVERSION,&#039;1.7.0&#039;,&#039;ge&#039;) {&lt;br /&gt;
// Joomla! 1.7 code here&lt;br /&gt;
} elseif(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;) {&lt;br /&gt;
// Joomla! 1.6 code here&lt;br /&gt;
} else {&lt;br /&gt;
// Joomla! 1.5 code here&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not have Joomla! 1.7-specific code -i.e it is the same as the Joomla! 1.6-specific code- please use the following code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;) {&lt;br /&gt;
// Joomla! 1.6 code here&lt;br /&gt;
} else {&lt;br /&gt;
// Joomla! 1.5 code here&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While this conditional statement looks like an overkill, it has two major advantages:&lt;br /&gt;
* Compatibility with all Joomla! versions using the same package, therefore using the same codebase, ergo less maintenance overhead&lt;br /&gt;
* Once, let&#039;s say, Joomla! 1.8 is released and you decide to drop support for earlier Joomla! releases, we can just search your code for &amp;quot;if(version_compare(JVERSION,&amp;quot; and remove all of the legacy code.&lt;br /&gt;
&lt;br /&gt;
== One XML configuration file, multiple Joomla! versions ==&lt;br /&gt;
&lt;br /&gt;
Various XML files in Joomla! accept settings, or parameters. For example your extension manifest file, the config.xml file and the view XML files all accept such settings. You may have noticed that whereas in Joomla! 1.5 these were found under the &amp;lt;params&amp;gt; tags, in Joomla! 1.6 and later they are found inside &amp;lt;filedsets&amp;gt;. One hidden secret of Joomla! is that Joomla! 1.5 will ignore Joomla! 1.6 syntax, whereas Joomla! 1.6/1.7 will ignore Joomla! 1.5 syntax. This allows you to have a single XML file which caters for all Joomla! releases. For example, here&#039;s a sample config.xml file, to be placed in the component&#039;s backend directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;config&amp;gt;&lt;br /&gt;
	&amp;lt;params&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Joomla! 1.5 uses params --&amp;gt;&lt;br /&gt;
		&amp;lt;param name=&amp;quot;foobar&amp;quot; type=&amp;quot;text&amp;quot; default=&amp;quot;&amp;quot; size=&amp;quot;30&amp;quot;&lt;br /&gt;
			label=&amp;quot;COM_FOOBAR_OPTION_FOOBAR_LBL&amp;quot;&lt;br /&gt;
			description =&amp;quot;COM_FOOBAR_OPTION_FOOBAR_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/params&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;fieldset&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Joomla! 1.6 uses fieldset --&amp;gt;&lt;br /&gt;
		name=&amp;quot;basic&amp;quot;&lt;br /&gt;
		label=&amp;quot;COM_FOOBAR_OPTIONS_SECTION_BASIC_LBL&amp;quot;&lt;br /&gt;
		description=&amp;quot;COM_FOOBAR_OPTIONS_SECTION_BASIC_DESC&amp;quot;&lt;br /&gt;
		&amp;gt;&lt;br /&gt;
		&amp;lt;field name=&amp;quot;foobar&amp;quot; type=&amp;quot;text&amp;quot; default=&amp;quot;&amp;quot; size=&amp;quot;30&amp;quot;&lt;br /&gt;
			label=&amp;quot;COM_FOOBAR_OPTION_FOOBAR_LBL&amp;quot;&lt;br /&gt;
			description =&amp;quot;COM_FOOBAR_OPTION_FOOBAR_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&#039;s how easy it is!&lt;br /&gt;
&lt;br /&gt;
== Dealing with languages ==&lt;br /&gt;
&lt;br /&gt;
=== How to load component-local translation files in Joomla! 1.5 ===&lt;br /&gt;
&lt;br /&gt;
Joomla! 1.6 introduced a new feature where a user can place language files inside the component&#039;s directory, e.g. administrator/com_foobar/language/en-GB/en-GB.com_foobar.ini, in order to provide language overrides. But Joomla! 1.5 doesn&#039;t support this feature. Or does it? Even though it can not do that automatically, you can do so in your extension&#039;s dispatcher file, e.g. administrator/com_foobar/foobar.php. Here&#039;s the magic code to do that in the backend:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_ADMINISTRATOR, null, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_COMPONENT_ADMINISTRATOR, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
and the frontend:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_SITE, null, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_COMPONENT, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tips and tricks for language strings ===&lt;br /&gt;
&lt;br /&gt;
All your translation keys should consist of uppercase characters without spaces (that is A-Z, 0-9 and underscores). All translation values should be included in double quotation marks. This allows the translation files to be parsed by Joomla! 1.5/1.6/1.7 alike. You are also suggested to prefix your translation keys with the extension&#039;s name, albeit this is not required. For example, this is a good translation string:&lt;br /&gt;
COM_FOOBAR_CPANEL_TITLE=&amp;quot;Foobar Control Panel&amp;quot;&lt;br /&gt;
whereas this is a &#039;&#039;&#039;bad&#039;&#039;&#039; translation string:&lt;br /&gt;
CONTROL PANEL=Foobar Control Panel&lt;br /&gt;
The former works with all current versions of Joomla!, the latter doesn&#039;t.&lt;br /&gt;
&lt;br /&gt;
If you have double quotation marks in your translation values, please replace them with single quotation marks. While Joomla! 1.5 allowed escaping the double quotation marks with \&amp;quot;, Joomla! 1.6 under newer versions of PHP don&#039;t and require you to escape them as &amp;quot;__QQ__&amp;quot; which throws off Joomla! 1.5&#039;s parser. The workaround is to take advantage of a little known fact about HTML, that attributes can be wrapped in single quotation marks. For instance, change this:&lt;br /&gt;
COM_FOOBAR_SOME_KEY=&amp;lt;a href=&amp;quot;http://www.example.com&amp;quot;&amp;gt;Just a test&amp;lt;/a&amp;gt;&lt;br /&gt;
to this:&lt;br /&gt;
COM_FOOBAR_SOME_KEY=&amp;quot;&amp;lt;a href=&#039;http://www.example.com&#039;&amp;gt;Just a test&amp;lt;/a&amp;gt;&amp;quot;&lt;br /&gt;
It is valid HTML, it works on Joomla! 1.5/1.6/1.7 but it will invalidates XHTML. You can&#039;t always win, sorry.&lt;br /&gt;
&lt;br /&gt;
=== Making untranslated strings look more beautiful ===&lt;br /&gt;
&lt;br /&gt;
The problem with using tight translation keys as we described is that untranslated strings now look something like COM_FOOBAR_VIEWNAME_SOMEKEY. If you have volunteer translators you can bet your head that most translations will not be in sync with your component and you will have untranslated strings. In Joomla! 1.5, using &amp;quot;natural language&amp;quot; keys, you got to show your users the default (English) text if a translation key didn&#039;t exist in their language. This is impossible in Joomla! 1.6... or maybe not?&lt;br /&gt;
&lt;br /&gt;
We can use the same little trick in our component&#039;s dispatcher as with our component-local translation loading string above. Here&#039;s how to load the English translation file in the backend of your component, then overwrite only the keys which exist with the user&#039;s selected language, essentially allowing untranslated keys to show in English:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_ADMINISTRATOR, &#039;en-GB&#039;, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_ADMINISTRATOR, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same thing in the front-end:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$jlang =&amp;amp; JFactory::getLanguage();&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_SITE, &#039;en-GB&#039;, true);&lt;br /&gt;
$jlang-&amp;gt;load(&#039;com_foobar&#039;, JPATH_SITE, null, true);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JElement vs JFormField ==&lt;br /&gt;
&lt;br /&gt;
Oh, the struggle! You need a custom widget in the configuration section of your component. In Joomla! 1.5 you could just create a new JElement. In Joomla! 1.6 you could just create a new JFormField. But both? In a single file? You can employ a simple trick. In the following example I am going to create a rather lame element, called SQL2, which displays a multi-selection box out of the results of a SQL statement. This is made as part of a fictitious module called mod_foobar&lt;br /&gt;
&lt;br /&gt;
First, let your configuration know where to load the custom widget files from, by putting this in your module&#039;s XML manifest file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;params addpath=&amp;quot;/modules/mod_foobar/elements&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;param name=&amp;quot;ids&amp;quot; type=&amp;quot;sql2&amp;quot; default=&amp;quot;&amp;quot;&lt;br /&gt;
			label=&amp;quot;MOD_FOOBAR_LEVELS_TITLE&amp;quot;&lt;br /&gt;
			description=&amp;quot;MOD_FOOBAR_LEVELS_DESC&amp;quot;&lt;br /&gt;
			query=&amp;quot;SELECT `foobar_level_id`, `title` FROM `#__foobar_levels`&amp;quot;&lt;br /&gt;
			key_field=&amp;quot;foobar_level_id&amp;quot;&lt;br /&gt;
			value_field=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/params&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;config addfieldpath=&amp;quot;/modules/mod_foobar/elements&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;fields name=&amp;quot;params&amp;quot;&amp;gt;&lt;br /&gt;
			&amp;lt;fieldset name=&amp;quot;basic&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;field name=&amp;quot;ids&amp;quot; type=&amp;quot;sql2&amp;quot; default=&amp;quot;&amp;quot;&lt;br /&gt;
					label=&amp;quot;MOD_FOOBAR_LEVELS_TITLE&amp;quot;&lt;br /&gt;
					description=&amp;quot;MOD_FOOBAR_LEVELS_DESC&amp;quot;&lt;br /&gt;
					query=&amp;quot;SELECT `foobar_level_id`, `title` FROM `#__foobar_levels`&amp;quot;&lt;br /&gt;
					key_field=&amp;quot;foobar_level_id&amp;quot;&lt;br /&gt;
					value_field=&amp;quot;title&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
		&amp;lt;/fields&amp;gt;&lt;br /&gt;
	&amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you see, we instruct both Joomla! 1.5 and 1.6/1.7 to look into the same directory, for the same-named file (sql2.php). Here are the contents of the modules/mod_foobar/elements/sql2.php file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
defined(&#039;_JEXEC&#039;) or die(&#039;Restricted Access&#039;);&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * This trick allows us to extend the correct class, based on whether it&#039;s Joomla! 1.5 or 1.6&lt;br /&gt;
 */&lt;br /&gt;
if(!class_exists(&#039;JFakeElementBase&#039;)) {&lt;br /&gt;
        if(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;)) {&lt;br /&gt;
                class JFakeElementBase extends JFormField {&lt;br /&gt;
                        // This line is required to keep Joomla! 1.6/1.7 from complaining&lt;br /&gt;
                        public function getInput() {}&lt;br /&gt;
                }               &lt;br /&gt;
        } else {&lt;br /&gt;
                class JFakeElementBase extends JElement {}&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Our main element class, creating a multi-select list out of an SQL statement&lt;br /&gt;
 */&lt;br /&gt;
class JFakeElementSQL2 extends JFakeElementBase&lt;br /&gt;
{&lt;br /&gt;
	var	$_name = &#039;SQL2&#039;;&lt;br /&gt;
&lt;br /&gt;
	// Joomla! 1.5&lt;br /&gt;
	function fetchElement($name, $value, &amp;amp;$node, $control_name)&lt;br /&gt;
	{&lt;br /&gt;
		$db			= &amp;amp; JFactory::getDBO();&lt;br /&gt;
		$db-&amp;gt;setQuery($node-&amp;gt;attributes(&#039;query&#039;));&lt;br /&gt;
		$key = ($node-&amp;gt;attributes(&#039;key_field&#039;) ? $node-&amp;gt;attributes(&#039;key_field&#039;) : &#039;value&#039;);&lt;br /&gt;
		$val = ($node-&amp;gt;attributes(&#039;value_field&#039;) ? $node-&amp;gt;attributes(&#039;value_field&#039;) : $name);&lt;br /&gt;
		return JHTML::_(&#039;select.genericlist&#039;,  $db-&amp;gt;loadObjectList(), &#039;&#039;.$control_name.&#039;[&#039;.$name.&#039;][]&#039;, &#039;class=&amp;quot;inputbox&amp;quot; multiple=&amp;quot;multiple&amp;quot; size=&amp;quot;5&amp;quot;&#039;, $key, $val, $value, $control_name.$name);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	// Joomla! 1.6&lt;br /&gt;
	function getInput()&lt;br /&gt;
	{&lt;br /&gt;
		$db			= &amp;amp; JFactory::getDBO();&lt;br /&gt;
		$db-&amp;gt;setQuery($this-&amp;gt;element[&#039;query&#039;]);&lt;br /&gt;
		$key = ($this-&amp;gt;element[&#039;key_field&#039;] ? $this-&amp;gt;element[&#039;key_field&#039;] : &#039;value&#039;);&lt;br /&gt;
		$val = ($this-&amp;gt;element[&#039;value_field&#039;] ? $this-&amp;gt;element[&#039;value_field&#039;] : $this-&amp;gt;name);&lt;br /&gt;
		return JHTML::_(&#039;select.genericlist&#039;,  $db-&amp;gt;loadObjectList(), $this-&amp;gt;name, &#039;class=&amp;quot;inputbox&amp;quot; multiple=&amp;quot;multiple&amp;quot; size=&amp;quot;5&amp;quot;&#039;, $key, $val, $this-&amp;gt;value, $this-&amp;gt;id);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Part two of our trick; we define the proper element name, depending on whether it&#039;s Joomla! 1.5 or 1.6&lt;br /&gt;
 */&lt;br /&gt;
if(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;)) {&lt;br /&gt;
        class JFormFieldSQL2 extends JFakeElementSQL2 {}&lt;br /&gt;
} else {&lt;br /&gt;
        class JElementSQL2 extends JFakeElementSQL2 {}                &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considering that most custom widgets have a lot more code than this, you can create two different initialisation sections for Joomla! 1.5 and 1.6/1.7 (fetchElement and getInput), populate class variables, then call a big, common method to render the bulk of the widget (just like we did with JHTML&#039;s genericlist in the example above). This will eliminate the need to rewrite the same code over again just to cater for a new Joomla! version.&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Making_single_installation_packages_for_Joomla!_1.5_and_2.5_series&amp;diff=60823</id>
		<title>Making single installation packages for Joomla! 1.5 and 2.5 series</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Making_single_installation_packages_for_Joomla!_1.5_and_2.5_series&amp;diff=60823"/>
		<updated>2011-07-17T08:29:21Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Started working on the page; currently in progress!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{underconstruction}}&lt;br /&gt;
&lt;br /&gt;
It is possible to create a single installation package which can install a component in Joomla! 1.5, 1.6 and 1.7 with minor changes. Below you will find some of the most common tricks required to create an extension which is compatible with all current versions of the Joomla! CMS.&lt;br /&gt;
&lt;br /&gt;
== Dealing with API changes ==&lt;br /&gt;
You will regularly bump into cases where an API has changed between Joomla! 1.5, 1.6 and 1.7. In order to cater for them, you need to run slightly different code based on the Joomla! version. Right now it&#039;s possible to do that by writing conditional statements like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if(version_compare(JVERSION,&#039;1.7.0&#039;,&#039;ge&#039;) {&lt;br /&gt;
// Joomla! 1.7 code here&lt;br /&gt;
} elseif(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;) {&lt;br /&gt;
// Joomla! 1.6 code here&lt;br /&gt;
} else {&lt;br /&gt;
// Joomla! 1.5 code here&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you do not have Joomla! 1.7-specific code -i.e it is the same as the Joomla! 1.6-specific code- please use the following code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if(version_compare(JVERSION,&#039;1.6.0&#039;,&#039;ge&#039;) {&lt;br /&gt;
// Joomla! 1.6 code here&lt;br /&gt;
} else {&lt;br /&gt;
// Joomla! 1.5 code here&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While this conditional statement looks like an overkill, it has two major advantages:&lt;br /&gt;
* Compatibility with all Joomla! versions using the same package, therefore using the same codebase, ergo less maintenance overhead&lt;br /&gt;
* Once, let&#039;s say, Joomla! 1.8 is released and you decide to drop support for earlier Joomla! releases, we can just search your code for &amp;quot;if(version_compare(JVERSION,&amp;quot; and remove all of the legacy code.&lt;br /&gt;
&lt;br /&gt;
== One XML configuration file, multiple Joomla! versions ==&lt;br /&gt;
&lt;br /&gt;
Various XML files in Joomla! accept settings, or parameters. For example your extension manifest file, the config.xml file and the view XML files all accept such settings. You may have noticed that whereas in Joomla! 1.5 these were found under the &amp;lt;params&amp;gt; tags, in Joomla! 1.6 and later they are found inside &amp;lt;filedsets&amp;gt;. One hidden secret of Joomla! is that Joomla! 1.5 will ignore Joomla! 1.6 syntax, whereas Joomla! 1.6/1.7 will ignore Joomla! 1.5 syntax. This allows you to have a single XML file which caters for all Joomla! releases. For example, here&#039;s a sample config.xml file, to be placed in the component&#039;s backend directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;config&amp;gt;&lt;br /&gt;
	&amp;lt;params&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Joomla! 1.5 uses params --&amp;gt;&lt;br /&gt;
		&amp;lt;param name=&amp;quot;foobar&amp;quot; type=&amp;quot;text&amp;quot; default=&amp;quot;&amp;quot; size=&amp;quot;30&amp;quot;&lt;br /&gt;
			label=&amp;quot;COM_FOOBAR_OPTION_FOOBAR_LBL&amp;quot;&lt;br /&gt;
			description =&amp;quot;COM_FOOBAR_OPTION_FOOBAR_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/params&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;fieldset&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Joomla! 1.6 uses fieldset --&amp;gt;&lt;br /&gt;
		name=&amp;quot;basic&amp;quot;&lt;br /&gt;
		label=&amp;quot;COM_FOOBAR_OPTIONS_SECTION_BASIC_LBL&amp;quot;&lt;br /&gt;
		description=&amp;quot;COM_FOOBAR_OPTIONS_SECTION_BASIC_DESC&amp;quot;&lt;br /&gt;
		&amp;gt;&lt;br /&gt;
		&amp;lt;field name=&amp;quot;foobar&amp;quot; type=&amp;quot;text&amp;quot; default=&amp;quot;&amp;quot; size=&amp;quot;30&amp;quot;&lt;br /&gt;
			label=&amp;quot;COM_FOOBAR_OPTION_FOOBAR_LBL&amp;quot;&lt;br /&gt;
			description =&amp;quot;COM_FOOBAR_OPTION_FOOBAR_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/config&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&#039;s how easy it is! Bonus tip: take a look at how the translation keys are named in this example. It&#039;s advisable -albeit not required- to follow a hierarchical approach to your translation keys. It might sound like OCD, but it helps your translators by providing context and you to debug language related issues.&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Portal:Developers&amp;diff=60822</id>
		<title>Portal:Developers</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Portal:Developers&amp;diff=60822"/>
		<updated>2011-07-17T08:13:45Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
{{Developer profile}}&lt;br /&gt;
&lt;br /&gt;
A complete contents list of all pages of interest to developers can be found in the [[:Category:Development|development category]].&lt;br /&gt;
&lt;br /&gt;
== Reference Material ==&lt;br /&gt;
&lt;br /&gt;
* [[Framework|Joomla Framework]].&lt;br /&gt;
* [http://api.joomla.org API documentation] automatically generated using phpDocumentor.&lt;br /&gt;
&lt;br /&gt;
== Articles and Tutorials ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
* [[Setting up your workstation for Joomla! development]].  A step-by-step guide to installing the Eclipse IDE on your local workstation for Joomla! development.&lt;br /&gt;
* [[Setting up your workstation for extension development]] A guide to Joomla Extension development&lt;br /&gt;
* [http://community.joomla.org/blogs/community/828-webinar-using-eclipse-for-joomla-development.html Using Eclipse for Joomla! Development] Video webinar demonstrating overview of Eclipse features for Joomla! development&lt;br /&gt;
* [[Running Automated Tests for Version 1.6]] {{JVer|1.6}}&lt;br /&gt;
* [[How to debug your code]] ([[Do not use die to debug]]!)&lt;br /&gt;
* [[Joomla Beginning Developer Course]]&lt;br /&gt;
* [[Secure coding guidelines]]&lt;br /&gt;
&lt;br /&gt;
=== Migration ===&lt;br /&gt;
* [[Adapting a Joomla 1.0 extension to Joomla 1.5]]&lt;br /&gt;
* [[Adapting a Joomla 1.5 extension to Joomla 1.6]]&lt;br /&gt;
* [[Version 1.6 Developer Notes]]&lt;br /&gt;
* [[Making single installation packages for Joomla! 1.5, 1.6 and 1.7]]&lt;br /&gt;
&lt;br /&gt;
=== Components ===&lt;br /&gt;
{{RecReading|Component|dev|topic}}&lt;br /&gt;
=== Modules ===&lt;br /&gt;
{{RecReading|Module|dev|topic}}&lt;br /&gt;
=== Plugins ===&lt;br /&gt;
{{RecReading|Plugin|dev|topic}}&lt;br /&gt;
=== Templates ===&lt;br /&gt;
{{RecReading|Template|dev|topic}}&lt;br /&gt;
===Parameters===&lt;br /&gt;
* [[Standard parameter types]]&lt;br /&gt;
* [[Custom parameter types]]&lt;br /&gt;
* [[Component parameters]]&lt;br /&gt;
* [[Creating custom template parameter types]]&lt;br /&gt;
See also: [[:Category:Parameters]]&lt;br /&gt;
&lt;br /&gt;
=== Core extensions summary ===&lt;br /&gt;
* [[Banner component]] {{JVer|1.6}}&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
* [[How to add CSRF anti-spoofing to forms]]&lt;br /&gt;
* [http://developer.joomla.org/tutorials/181-preventing-sql-injections.html Preventing SQL Injections]&lt;br /&gt;
* [[Securing Joomla extensions]]&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
* [[How to use the database classes in your script]]&lt;br /&gt;
* [[How to use the JTable class]]&lt;br /&gt;
* [[How to connect to an external database]]&lt;br /&gt;
&lt;br /&gt;
=== Localisation ===&lt;br /&gt;
* [http://community.joomla.org/magazine/article/508-developer-localization-advancements-in-joomla-15.html Localization Advancements in Joomla! 1.5]&lt;br /&gt;
* [[Adding multi-language support]]&lt;br /&gt;
* [[Language Guidelines for 3rd Party Extensions]]&lt;br /&gt;
* [[Adding Joomfish functionality to custom components]]&lt;br /&gt;
* [[Specification of language files]] {{JVer|1.6}}&lt;br /&gt;
* [[Language Metadata]] {{JVer|1.6}}&lt;br /&gt;
&lt;br /&gt;
=== Access Control ===&lt;br /&gt;
* [[Access Control System In Joomla 1.6]] {{JVer|1.6}}&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
* [[How to use the filesystem package]]&lt;br /&gt;
* [[API Execution Order]]&lt;br /&gt;
* [[Accessing the current user object]]&lt;br /&gt;
* [[Adding JavaScript and CSS to the page]]&lt;br /&gt;
* [[Constants]] used in the Joomla [[Framework]].&lt;br /&gt;
* [[Client-side form validation]]&lt;br /&gt;
* [[How to create a custom button]]&lt;br /&gt;
* [[How to create a stand-alone application using the Joomla! Framework]]&lt;br /&gt;
* [[How to use user state variables]]&lt;br /&gt;
* [[Adding template overridable images in your extension]]&lt;br /&gt;
* [[Retrieving data from GET and POST requests]]&lt;br /&gt;
* [[Cache]] and [[Using caching to speed up your code]]&lt;br /&gt;
* [[Using the installer API to support package installation]]&lt;br /&gt;
* [[How to add tooltips to your Joomla! website]]&lt;br /&gt;
* [[Display error messages and notices]].&lt;br /&gt;
* [[Errors]]&lt;br /&gt;
* [[Creating a custom form field type]] {{JVer|1.6}}&lt;br /&gt;
&lt;br /&gt;
== Contributing to Joomla Development ==&lt;br /&gt;
The development of Joomla itself is carried out by the [[Development Working Group]] and third party developers.&lt;br /&gt;
&lt;br /&gt;
* [[Participating in the community]]: a brief description of how people can get involved.&lt;br /&gt;
* [[Developer Email lists]]: a list of email lists for developers, including third party developers.&lt;br /&gt;
* [[Coding style and standards]] (To be reviewed).&lt;br /&gt;
* [[Setting up your workstation for Joomla! development]].  A step-by-step guide to installing the Eclipse IDE on your local workstation for Joomla! development.&lt;br /&gt;
* [http://docs.joomla.org/Setting_up_your_workstation_for_Joomla!_development_--_Part_2#Check_Out_Joomla.21_Source_Code How to check out SVN Code]&lt;br /&gt;
* [[Patch submission guidelines]].&lt;br /&gt;
* [[Filing bugs and issues]].&lt;br /&gt;
* [[How to release a distribution tarball]].&lt;br /&gt;
* [[How to create a continuous integration]].&lt;br /&gt;
&lt;br /&gt;
== Contributing to Joomla Developer Documentation ==&lt;br /&gt;
The development of Joomla developer documentation is carried out primarily by the [[Documentation Working Group]].  There are currently two sub-projects of interest to developers:&lt;br /&gt;
* [[Joomla! 1.5 Template Tutorials Project]]&lt;br /&gt;
* [[API Reference Project]]&lt;br /&gt;
&lt;br /&gt;
When creating a new page, ensure you place the following marker at the bottom of the page so it is included in the category list:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;[[Category:Development]]&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you locate other articles you think are relevant to developers, please add this marker to those pages.&lt;br /&gt;
&lt;br /&gt;
=== Suggested topics ===&lt;br /&gt;
This is a short list of articles that might be written to support developers.  Please feel free to add further topic ideas.&lt;br /&gt;
&lt;br /&gt;
* [[Adding configuration objects to modules and plugins]].&lt;br /&gt;
* [[Storing data in the session between page loads]].&lt;br /&gt;
* [[Suppressing output of extra HTML]].&lt;br /&gt;
* [[How to use the filter package]].&lt;br /&gt;
*: Describe how and when to use the Filter package and explain what needs to be filtered for various situations (for queries, for URLs, etc)&lt;br /&gt;
* [[How to use the registry package]]&lt;br /&gt;
* [[How to use JSimpleXML]].&lt;br /&gt;
*: How to load and store XML files and how to work with them&lt;br /&gt;
* [[How to create component feeds]] (RSS/ATOM)&lt;br /&gt;
* [[How to create PDF views]]&lt;br /&gt;
* [[How to generate paths for client side and server side]]&lt;br /&gt;
* [[How to access information from the request]]&lt;br /&gt;
*: This focuses on using the JBrowser class to retrieve information about the features available in the user&#039;s browser.&lt;br /&gt;
* [[How to create an editor plugin]]&lt;br /&gt;
* [[What can be done with a user plugin]]&lt;br /&gt;
* [[How to work with parameters]]&lt;br /&gt;
* [[How to cloak email addresses]]&lt;br /&gt;
* [[Using the caching system in your component]]. This might be enough (for now?) -&amp;gt; [[Cache]]&lt;br /&gt;
* [[Extending Joomla&#039;s MVC Architecture]]&lt;br /&gt;
&lt;br /&gt;
==Joomla Security Guide==&lt;br /&gt;
Developers should also be aware of security issues.&lt;br /&gt;
{{Security Guide}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:JED]]&lt;br /&gt;
[[Category:Joomla! user profiles]]&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Government_Websites_Using_Joomla&amp;diff=39658</id>
		<title>Government Websites Using Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Government_Websites_Using_Joomla&amp;diff=39658"/>
		<updated>2011-04-14T13:38:04Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Adding more European Union sites&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Multinational Organizations =&lt;br /&gt;
&lt;br /&gt;
== European Union ==&lt;br /&gt;
&lt;br /&gt;
Delegation to the United States [http://eurunion.org]&lt;br /&gt;
European Forest Fire Information System [http://effis.jrc.ec.europa.eu]&lt;br /&gt;
Europead Forest Data Centre [http://efdac.jrc.ec.europa.eu/]&lt;br /&gt;
European Maritime Safety Agency [http://www.emsa.europa.eu/]&lt;br /&gt;
Forest Data and Information Systems [http://forest.jrc.ec.europa.eu/]&lt;br /&gt;
&lt;br /&gt;
== United Nations ==&lt;br /&gt;
&lt;br /&gt;
Regional Information Centre Europe [http://unric.org]&lt;br /&gt;
&lt;br /&gt;
UN in Turkmenistan [http://www.untuk.org]&lt;br /&gt;
&lt;br /&gt;
UN Information Centre Cairo [http://www.unic-eg.org/]&lt;br /&gt;
&lt;br /&gt;
UN Infomation Centre in Paname [http://www.cinup.org/susitio/]&lt;br /&gt;
&lt;br /&gt;
United Nations Information Centre for the Caribbean Area [http://portofspain.unic.org/]&lt;br /&gt;
&lt;br /&gt;
UN in Swaziland [http://www.sz.one.un.org/]&lt;br /&gt;
&lt;br /&gt;
The United Nations Office on Sport for Development and Peace [http://www.peace-sport.org/]&lt;br /&gt;
&lt;br /&gt;
== World Health Organization ==&lt;br /&gt;
&lt;br /&gt;
Regional Office for Africa [http://www.afro.who.int/]&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
&lt;br /&gt;
The East African Community [http://www.eac.int/]&lt;br /&gt;
&lt;br /&gt;
ECOWAS Small Arms Control Programme [http://www.ecosap.ecowas.int/]&lt;br /&gt;
&lt;br /&gt;
Secretariat of the Pacific Community [http://www.spc.int]&lt;br /&gt;
&lt;br /&gt;
Center for Environment and Development for the Arab Region and Europe [http://www3.cedare.int/]&lt;br /&gt;
&lt;br /&gt;
Common Market for Eastern and Southern Africa Programmes(COMESA) [http://programmes.comesa.int/]&lt;br /&gt;
&lt;br /&gt;
International Security Assistance Force (NATO) [http://www.isaf.nato.int/]&lt;br /&gt;
&lt;br /&gt;
B7 Baltic Islands Network [http://www.b7.org/]&lt;br /&gt;
&lt;br /&gt;
South East Asian Ministers of Education [http://www.seameo.org/]&lt;br /&gt;
&lt;br /&gt;
= Afghanistan =&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://pashto.moe.gov.af]&lt;br /&gt;
&lt;br /&gt;
Independent Directorate of Local Governance [http://www.idlg.gov.af]&lt;br /&gt;
&lt;br /&gt;
Criminal Justice Task Force [http://www.cjtf.gov.af]&lt;br /&gt;
&lt;br /&gt;
Control and Audit Office [http://www.cao.gov.af]&lt;br /&gt;
&lt;br /&gt;
Government Media and Information Center (English) [http://www.gmic.gov.af/english]&lt;br /&gt;
&lt;br /&gt;
Government Media and Information Center (Dari) [http://www.gmic.gov.af/dari]&lt;br /&gt;
&lt;br /&gt;
Government Media and Information Center (Pashto) [http://www.gmic.gov.af/pashto]&lt;br /&gt;
&lt;br /&gt;
Afghanistan Civil Service Institute [http://www.acsi.gov.af]&lt;br /&gt;
&lt;br /&gt;
Independent Administrative Reform and Civil Service Commission [http://www.iarcsc.gov.af]&lt;br /&gt;
&lt;br /&gt;
Civil Service Management Department [http://www.csmd.gov.af]&lt;br /&gt;
&lt;br /&gt;
= Albania =&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.mfa.gov.al]&lt;br /&gt;
&lt;br /&gt;
Institute of Social Security [http://www.issh.gov.al/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Environment, Forestry and Water Administration [http://www.moe.gov.al/en/]&lt;br /&gt;
&lt;br /&gt;
AlbInvest [http://www.albinvest.gov.al/]&lt;br /&gt;
&lt;br /&gt;
National Food Authority [http://www.mbumk.gov.al/]&lt;br /&gt;
&lt;br /&gt;
Regional Directorate of Health - South [http://drshberat.gov.al/]&lt;br /&gt;
&lt;br /&gt;
Municipality of Fier [http://www.qarkufier.gov.al/]&lt;br /&gt;
&lt;br /&gt;
= Algeria =&lt;br /&gt;
&lt;br /&gt;
Portal of the Prime Minister [http://www.cg.gov.dz/]&lt;br /&gt;
&lt;br /&gt;
National Archives [http://www.archives-dgan.gov.dz/]&lt;br /&gt;
&lt;br /&gt;
Ministry of National Planning [http://www.mate.gov.dz/]&lt;br /&gt;
&lt;br /&gt;
Directorate of Trade  [http://www.dcommercebba.gov.dz/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Transport[http://www.ministere-transports.gov.dz/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Communication [http://www.ministerecommunication.gov.dz/]&lt;br /&gt;
&lt;br /&gt;
= Andorra =&lt;br /&gt;
&lt;br /&gt;
Trademark Office [http://www.ompa.ad/]&lt;br /&gt;
&lt;br /&gt;
Department of  Immigration [http://www.immigracio.ad/]&lt;br /&gt;
&lt;br /&gt;
Department of Youth [http://www.puntjove.ad/]&lt;br /&gt;
&lt;br /&gt;
Department of Education [http://www.educacio.ad/]&lt;br /&gt;
&lt;br /&gt;
Department of Labour [http://www.treball.ad/]&lt;br /&gt;
&lt;br /&gt;
Department of Tourism [http://www.turisme.ad/]&lt;br /&gt;
&lt;br /&gt;
Department of Energy [http://www.energia.ad/]&lt;br /&gt;
&lt;br /&gt;
Department of Research [http://www.recerca.ad/]&lt;br /&gt;
&lt;br /&gt;
Department of Higher Education [http://www.ensenyamentsuperior.ad/]&lt;br /&gt;
&lt;br /&gt;
Andorran Customs [http://www.duana.ad/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Finance [http://www.finances.ad/]&lt;br /&gt;
&lt;br /&gt;
Francofonia [http://www.francofonia.ad/]&lt;br /&gt;
&lt;br /&gt;
Secretariat of State for Culture[http://www.cultura.ad/]&lt;br /&gt;
&lt;br /&gt;
Voluntariat [http://www.voluntariat.ad/]&lt;br /&gt;
&lt;br /&gt;
Language Policy Service[http://www.catala.ad/]&lt;br /&gt;
&lt;br /&gt;
Web Portal for Youth [http://www.joventut.ad/]&lt;br /&gt;
&lt;br /&gt;
Unit for the Prevention and Fight against Corruption[http://www.uprevencio.ad/]&lt;br /&gt;
&lt;br /&gt;
Government Procedures [http://www.tramits.ad/]&lt;br /&gt;
&lt;br /&gt;
Civil Registry [http://www.registrecivil.ad/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Education and Culture [http://www.formacioprofessorat.ad/]&lt;br /&gt;
&lt;br /&gt;
School Exchange Project [http://www.intercat.ad/]&lt;br /&gt;
&lt;br /&gt;
Technological Development Area Education [http://www.claudigital.ad/]&lt;br /&gt;
&lt;br /&gt;
Cultural Heritage [http://www.patrimonicultural.ad/]&lt;br /&gt;
&lt;br /&gt;
Fire Brigade [http://www.bombers.ad/]&lt;br /&gt;
&lt;br /&gt;
Centre for Educational and Vocational Guidance [http://www.coep.ad/]&lt;br /&gt;
&lt;br /&gt;
Entrepeneurs [http://www.emprenedors.ad/]&lt;br /&gt;
&lt;br /&gt;
Institute of Andorran Studies [http://www.iea.ad/]&lt;br /&gt;
&lt;br /&gt;
= Angola =&lt;br /&gt;
&lt;br /&gt;
Instituto Nacional de Luta Contra a Sida [http://sida.gov.ao]&lt;br /&gt;
&lt;br /&gt;
= Antigua and Barbuda =&lt;br /&gt;
&lt;br /&gt;
National Office of Disaster Services [http://www.nods.gov.ag/]&lt;br /&gt;
&lt;br /&gt;
= Argentina =&lt;br /&gt;
&lt;br /&gt;
President of Argentina [http://www.casarosada.gov.ar]&lt;br /&gt;
&lt;br /&gt;
Direccion Nacional de Informacion y Evaluacion de la Calidad Educativa [http://diniece.me.gov.ar]&lt;br /&gt;
&lt;br /&gt;
Programa de Servicios Agrícolas Provinciales [http://www.proargex.gov.ar]&lt;br /&gt;
&lt;br /&gt;
Tourism of the Municipality of Capilla del Monte [http://turismo.capilladelmonte.gov.ar/&lt;br /&gt;
&lt;br /&gt;
Government of the Province of La Rioja [http://www.larioja.gov.ar/]&lt;br /&gt;
&lt;br /&gt;
Education Department of Government of the Province of La Rioja [http://www.larioja.gov.ar/idukay/]&lt;br /&gt;
&lt;br /&gt;
Domestic Trade Department of Government of the Province of La Rioja [http://www.larioja.gov.ar/comerciointerior]&lt;br /&gt;
&lt;br /&gt;
Department of Mental Health Government of the Province of Mendoza [http://www.saludmental.mendoza.gov.ar/]&lt;br /&gt;
&lt;br /&gt;
Buenos Aires Provincial Institute of Public Administration  [http://www.ipap.sg.gba.gov.ar/]&lt;br /&gt;
&lt;br /&gt;
Honorable Court of Auditors Buenos Aires Province [http://www.tribctas.gba.gov.ar/sitio/]&lt;br /&gt;
&lt;br /&gt;
Municipality of Cipolletti [http://cipolletti.gov.ar/]&lt;br /&gt;
&lt;br /&gt;
Municipality of Dos De Mayo [http://www.dosdemayo.gov.ar/]&lt;br /&gt;
&lt;br /&gt;
Famaillá City [http://www.famailla.gov.ar/]&lt;br /&gt;
&lt;br /&gt;
Government of the Province of Misiones [http://www.misiones.gov.ar/]&lt;br /&gt;
&lt;br /&gt;
Free Software Mission of the Government of the Province of Misiones [http://www.softwarelibre.misiones.gov.ar/]&lt;br /&gt;
&lt;br /&gt;
Trade and Integration - Government of the Province of Misiones  [http://www.misiones.gov.ar/sucei/joomla/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health - Government of Entre Rios [http://www.entrerios.gov.ar/salud/]&lt;br /&gt;
&lt;br /&gt;
Sitio Oficial Turístico de Valle Hermoso [http://www.vallehermoso.gov.ar/]&lt;br /&gt;
&lt;br /&gt;
= Armenia =&lt;br /&gt;
&lt;br /&gt;
Ministry of Energy and Natural Resources [http://www.minenergy.am]&lt;br /&gt;
&lt;br /&gt;
Police [http://www.police.am]&lt;br /&gt;
&lt;br /&gt;
Armenian Rescue Service [http://www.ema.am]&lt;br /&gt;
&lt;br /&gt;
Vocational Education and Training System [http://vet.am/]&lt;br /&gt;
&lt;br /&gt;
National Statistic Service [http://www.stat-nkr.am/]&lt;br /&gt;
&lt;br /&gt;
= Aruba =&lt;br /&gt;
&lt;br /&gt;
Department of Economic Affairs [http://www.arubaeconomicaffairs.aw/]&lt;br /&gt;
&lt;br /&gt;
= Australia =&lt;br /&gt;
&lt;br /&gt;
Darren Cheeseman MP [http://darrencheeseman.org.au]&lt;br /&gt;
&lt;br /&gt;
Department of Environment and Conservation [http://dec.wa.gov.au]&lt;br /&gt;
&lt;br /&gt;
Education and Training International [http://www.eti.wa.edu.au]&lt;br /&gt;
&lt;br /&gt;
High Court of Australia [http://www.hcourt.gov.au]&lt;br /&gt;
&lt;br /&gt;
Keep Australia Beautiful WA [http://www.kabc.wa.gov.au]&lt;br /&gt;
&lt;br /&gt;
National Capital Authority [http://www.nationalcapital.gov.au]&lt;br /&gt;
&lt;br /&gt;
Premier of South Australia [http://www.premier.sa.gov.au]&lt;br /&gt;
&lt;br /&gt;
QRAA Queensland Government [http://www.qraa.qld.gov.au]&lt;br /&gt;
&lt;br /&gt;
Business.gov.au SmartForms [http://smartforms.business.gov.au/]&lt;br /&gt;
&lt;br /&gt;
Regional Marine Planning [http://rmp.dec.wa.gov.au/]&lt;br /&gt;
&lt;br /&gt;
Public Health Information Development Unit[http://www.publichealth.gov.au/]&lt;br /&gt;
&lt;br /&gt;
Wimmera Catchment Authority [http://www.wcma.vic.gov.au/]&lt;br /&gt;
&lt;br /&gt;
Cobaw Community Health Service [http://www.cobaw.vic.gov.au/]&lt;br /&gt;
&lt;br /&gt;
Kiama Library [http://www.library.kiama.nsw.gov.au/]&lt;br /&gt;
&lt;br /&gt;
City of Geraldton-Greenough Library [http://www.library.cgg.wa.gov.au/]&lt;br /&gt;
&lt;br /&gt;
Narromine Shire Council [http://www.narromine.nsw.gov.au/]&lt;br /&gt;
&lt;br /&gt;
Devonport City Council [http://www.devonport.tas.gov.au/]&lt;br /&gt;
&lt;br /&gt;
= Austria =&lt;br /&gt;
&lt;br /&gt;
Board of Education of Lower Austria [http://www.lsr-noe.gv.at/]&lt;br /&gt;
&lt;br /&gt;
Advocacy For People With Disabilities [http://www.behindertenanwaltschaft.ktn.gv.at/]&lt;br /&gt;
&lt;br /&gt;
Austrian Association of Cities and Towns [http://www.staedtebund.gv.at/]&lt;br /&gt;
&lt;br /&gt;
Federal Office for Viticulture [http://www.bawb.bmlfuw.gv.at/]&lt;br /&gt;
&lt;br /&gt;
Horn [http://www.horn.gv.at/]&lt;br /&gt;
&lt;br /&gt;
Kötschach-Mauthen [http://www.koetschach-mauthen.gv.at/]&lt;br /&gt;
&lt;br /&gt;
Oberwart [http://www.oberwart.gv.at/]&lt;br /&gt;
&lt;br /&gt;
Radenthein [http://www.radenthein.gv.at/]&lt;br /&gt;
&lt;br /&gt;
Sankt Valentin [http://www.st-valentin.gv.at/]&lt;br /&gt;
&lt;br /&gt;
Schwarzach [http://www.schwarzach-pongau.gv.at/]&lt;br /&gt;
&lt;br /&gt;
= Azerbaijan =&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://mfa.gov.az/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Economic Development [http://www.economy.gov.az/]&lt;br /&gt;
&lt;br /&gt;
Civil Service Commission [http://dqmk.az/]&lt;br /&gt;
&lt;br /&gt;
Council of State Support to Non-Governmental Organizations [http://www.cssn.gov.az/]&lt;br /&gt;
&lt;br /&gt;
= Bahamas =&lt;br /&gt;
&lt;br /&gt;
The Grand Bahama Port Authority, Government Offices [http://gbpa.com/home/]&lt;br /&gt;
&lt;br /&gt;
= Bahrain =&lt;br /&gt;
&lt;br /&gt;
Bahrain Vision 2030 [http://www.2030.bh]&lt;br /&gt;
&lt;br /&gt;
= Bangladesh =&lt;br /&gt;
&lt;br /&gt;
Main country website [http://bangladesh.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Prime Minister&#039;s Office [http://www.pmo.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.mofa.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Labour and Employment [http://www.mole.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://www.moedu.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Science and Information &amp;amp; Communication Technology[http://www.mosict.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Religious Affairs [http://www.mora.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Industries [http://www.moind.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Finance [http://www.mof.gov.bd/en/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health and Family Welfare [http://www.mohfw.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Establishment[http://www.moestab.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Liberation War Affairs [http://www.molwa.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Shipping [http://www.mos.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Directorate General of Health Services [http://www.dghs.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Public Service Commission [http://www.bpsc.gov.bd/2011/]&lt;br /&gt;
&lt;br /&gt;
Controller of Certifying Authorities [http://www.cca.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Department of Textiles [http://www.dot.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Boalmari Upazila [http://www.unoboalmari.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Embassy in Brussels [http://brussels.mofa.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Bangladesh Television [http://www.btv.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Directorate of  Archive and Libraries [http://www.nanl.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Mongla Port Authority [http://www.mpa.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Chittagong Hill Tracts Development Board [http://www.chtdb.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Office of the Controller General of Accounts [http://www.cga.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Civil Service Administration Academy [http://www.bcsadminacademy.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Small &amp;amp; Cottage Industries Corporation [http://www.bscic.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Agricultural Development Corporation[http://www.badc.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Emergency 2007 Cyclone Recovery and Restoration Project http://www.ecrrp.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Access 2 Information [http://www.a2i.pmo.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Power Development Board [http://www.bpdb.gov.bd/bpdb/]&lt;br /&gt;
&lt;br /&gt;
Chittagong Development Authority [http://www.cda.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Rural Development Board [http://brdb.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Rural Development &amp;amp; Cooperative Division [http://www.rdcd.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Govt Bangla College [http://www.sarkaribanglacollege.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Govt Titumir College [http://www.titumircollege.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Chittagong College [http://www.ctgcollege.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Govt Commerce College Chittagong [http://ctgcommercecollege.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Govt. Brojomohun College [http://www.bmcollege.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Kabi Nazrul Govt College [http://www.kncollege.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Press Council [http://presscouncil.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Skills Development Project [http://www.sdp.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Dhaka Metropolitan Police [http://www.dmp.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Bangabandhu Sheikh Mujibur Rahman Novo Theatre [http://www.novotheatre.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
National Museum [http://bangladeshmuseum.gov.bd/site/]&lt;br /&gt;
&lt;br /&gt;
Industrial Technical Assistance Center [http://www.bitac.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Institute of Textile Technology [http://www.titangail.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Microcredit Regulatory Authority [http://www.mra.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Bangladesh Bridge Authority [http://www.bba.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Disaster Management and Relief Division [http://www.dmrd.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Implementation Monitoring and Evaluation Division [http://www.imed.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
National Social Welfare Council [http://bnswc.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Agricultural Research Institute [http://www.bari.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Food Division [http://www.fd.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Vulnerable Group Development for Ultra-Poor [http://www.vgdupdwa.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Economic Relations Division [http://www.erd.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Instrumentation &amp;amp; Calibration Services Laboratory[http://www.icsl.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Rural Electrification Board (REB) [http://www.reb.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Deputy High Commission Kolkata [http://kolkata.mofa.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Water Development Board [http://www.bpdb.gov.bd/bpdb/]&lt;br /&gt;
&lt;br /&gt;
Large Tax Payers Unit [http://www.ltuvat-gov.org/]&lt;br /&gt;
&lt;br /&gt;
Madrasha Teacher Training Institute [http://www.bmtti.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Climate Change &amp;amp; Health Promotion Unit [http://cchpu-mohfw.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Business Laws and Licenses [http://www.businesslaws.boi.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Government Press [http://www.bgpress.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
Coast Guard [http://www.coastguard.gov.bd/main/]&lt;br /&gt;
&lt;br /&gt;
= Barbados =&lt;br /&gt;
&lt;br /&gt;
National Council for Science and Technology [http://www.ncst.gov.bb/]&lt;br /&gt;
&lt;br /&gt;
Fair Trading Commission [http://www.ftc.gov.bb/]&lt;br /&gt;
&lt;br /&gt;
Corporate Affairs and Intellectual Property Office [http://caipo.gov.bb/]&lt;br /&gt;
&lt;br /&gt;
= Belarus =&lt;br /&gt;
&lt;br /&gt;
Ministry of Trade [http://www.mintorg.gov.by]&lt;br /&gt;
&lt;br /&gt;
Ministry of Emergency Situations, Aftermath of Chernobyl [http://www.chernobyl.gov.by]&lt;br /&gt;
&lt;br /&gt;
Ministry of Internal Affairs [http://bep.gov.by]&lt;br /&gt;
&lt;br /&gt;
Gomel Customs [http://gomel.customs.gov.by]&lt;br /&gt;
&lt;br /&gt;
Vitebsk Customs [http://vitebsk.customs.gov.by]&lt;br /&gt;
&lt;br /&gt;
Brest Customs [http://brest.customs.gov.by]&lt;br /&gt;
&lt;br /&gt;
= Belgium =&lt;br /&gt;
&lt;br /&gt;
ICT en Zorg, from REB Vlaanderen, an initiative of the Vlaamse Minister van Onderwijs en Vorming [http://www.ictenzorg.be/]&lt;br /&gt;
&lt;br /&gt;
CODA-CERVA, the federal &#039;Veterinary and Agrochemical Research Centre&#039; by the Federal government [http://www.var.fgov.be]&lt;br /&gt;
&lt;br /&gt;
= Belize =&lt;br /&gt;
&lt;br /&gt;
Southern Health Region [http://shr.health.gov.bz]&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://www.moe.gov.bz]&lt;br /&gt;
&lt;br /&gt;
Police Department [http://www.police.gov.bz]&lt;br /&gt;
&lt;br /&gt;
= Benin =&lt;br /&gt;
&lt;br /&gt;
Supreme Court [http://www.coursupreme.gouv.bj/]&lt;br /&gt;
&lt;br /&gt;
Ombudsman [http://www.mediateur.gouv.bj/]&lt;br /&gt;
&lt;br /&gt;
Army [http://www.etamajorgeneral.gouv.bj/]&lt;br /&gt;
&lt;br /&gt;
= Bhutan =&lt;br /&gt;
&lt;br /&gt;
Department of Human Resources [http://www.molhr.gov.bt]&lt;br /&gt;
&lt;br /&gt;
Department of Trade [http://www.trade.gov.bt/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Labour and Human Resources [http://www.molhr.gov.bt/]&lt;br /&gt;
&lt;br /&gt;
Cabinet Secretariat [http://www.cabinet.gov.bt]&lt;br /&gt;
&lt;br /&gt;
Department of Trade [http://www.trade.gov.bt]&lt;br /&gt;
&lt;br /&gt;
Infocomm and Media Authority [http://www.bicma.gov.bt]&lt;br /&gt;
&lt;br /&gt;
Thimpu District Municipality [http://www.tcc.gov.bt]&lt;br /&gt;
&lt;br /&gt;
Drug Regulatory Authority [http://dra.gov.bt/]&lt;br /&gt;
&lt;br /&gt;
= Bolivia =&lt;br /&gt;
&lt;br /&gt;
Vicepresidencia de la Nación [http://www.vicepresidencia.gob.bo/]&lt;br /&gt;
&lt;br /&gt;
Ministerio de Hidrocarburos y Energía [http://www.hidrocarburos.gob.bo/sitio/]&lt;br /&gt;
&lt;br /&gt;
Ministerio del Trabajo y Previsión Social [http://www.empleo.gob.bo/]&lt;br /&gt;
&lt;br /&gt;
Ministerio de Desarrollo Productivo [http://www.senavex.gob.bo/]&lt;br /&gt;
&lt;br /&gt;
Ministerio de Autonomía [http://intranet.autonomia.gob.bo/intranet/]&lt;br /&gt;
&lt;br /&gt;
Gobierno Autónomo Departamental de Tarija [http://www.e-tarija.gob.bo/]&lt;br /&gt;
&lt;br /&gt;
Gobierno Autónomo Municipal de Cobija [http://www.gmcobija.gob.bo/]&lt;br /&gt;
&lt;br /&gt;
Gobierno Autónomo Departamental de Pando [http://www.pando.gob.bo/]&lt;br /&gt;
&lt;br /&gt;
Gobierno Departamental de Tarija [http://www.tarija.gob.bo/]&lt;br /&gt;
&lt;br /&gt;
Insumos de Bolivia [http://www.insumosbolivia.gob.bo/]&lt;br /&gt;
&lt;br /&gt;
Programa de Gobierno sobre Electricidad [http://www.idtr.gob.bo/sitio/]&lt;br /&gt;
&lt;br /&gt;
Servicio Nacional de Areas Protegidas [http://www.sernap.gob.bo/]&lt;br /&gt;
&lt;br /&gt;
Servicio Salud Depratamental La Paz [http://www.sedeslapaz.gob.bo/]&lt;br /&gt;
&lt;br /&gt;
Gobernabilidad Democrática en Bolivia [http://www.gobernabilidad.org.bo/]&lt;br /&gt;
&lt;br /&gt;
= Bosnia Herzegovina =&lt;br /&gt;
&lt;br /&gt;
Statistical Council [http://stat.gov.ba]&lt;br /&gt;
&lt;br /&gt;
Centre for Information and Recognition of Qualifications in Higher Education [http://www.cip.gov.ba]&lt;br /&gt;
&lt;br /&gt;
Institut Za Standardizaciju [http://www.bas.gov.ba]&lt;br /&gt;
&lt;br /&gt;
Komisija Za Vrijednosne Papire [http://www.komvp.gov.ba]&lt;br /&gt;
&lt;br /&gt;
Market Surveillance Agency [http://annt.gov.ba]&lt;br /&gt;
&lt;br /&gt;
Public Procurement Agency [http://www.javnenabavke.gov.ba]&lt;br /&gt;
&lt;br /&gt;
Civil Service Agency [http://www.ads.gov.ba]&lt;br /&gt;
&lt;br /&gt;
Commission for the Coordination of Youth Issues [http://www.mladi.gov.ba]&lt;br /&gt;
&lt;br /&gt;
Agency for Pre-Primary and Secondary Education [http://www.aposo.gov.ba]&lt;br /&gt;
&lt;br /&gt;
Office of Attorney General [http://www.pbr.gov.ba]&lt;br /&gt;
&lt;br /&gt;
Directorate of Civil Aviation [http://www.bhdca.gov.ba]&lt;br /&gt;
&lt;br /&gt;
Ministry of Finance and Treasury [http://www.mft.gov.ba]&lt;br /&gt;
&lt;br /&gt;
= Botswana =&lt;br /&gt;
&lt;br /&gt;
Ministry of Trade and Industry [http://www.mti.gov.bw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs and International Cooperation [http://www.mofaic.gov.bw]&lt;br /&gt;
&lt;br /&gt;
Directorate of Public Service Management [http://www.dpsm.gov.bw]&lt;br /&gt;
&lt;br /&gt;
Central Statistics Office [http://www.cso.gov.bw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Youth, Sport, and Culture [http://www.mysc.gov.bw]&lt;br /&gt;
&lt;br /&gt;
= Brazil =&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://portal.mec.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Defense [https://www.defesa.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Brazilian Defense Industry [http://imbel.gov.br]&lt;br /&gt;
&lt;br /&gt;
Pará State Health Council [http://www.sespa.pa.gov.br/ces/]&lt;br /&gt;
&lt;br /&gt;
5th Region Federal District Court [http://www.trf5.jus.br/]&lt;br /&gt;
&lt;br /&gt;
Public Ministry of Paraíba [http://www.mp.pb.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Public Ministry of the Federal District and the Territories [http://www.mpdft.gov.br/portal/]&lt;br /&gt;
&lt;br /&gt;
Applied Economic Research Institute [http://www.ipea.gov.br/portal/]&lt;br /&gt;
&lt;br /&gt;
National Institute of Colonization and Agrarian Reform [http://www.incra.gov.br/portal/]&lt;br /&gt;
&lt;br /&gt;
State Traffic Department of Acre [http://www.detran.ac.gov.br/]&lt;br /&gt;
&lt;br /&gt;
State Traffic Department of Pernambuco [http://www.detran.pe.gov.br/]&lt;br /&gt;
&lt;br /&gt;
São Paulo State Secretary of Metropolitan Transport [http://www.stm.sp.gov.br/]&lt;br /&gt;
&lt;br /&gt;
National Programme For The Rational Use of Oil and Natural Gas - CONPET [http://www.conpet.gov.br/w3/]&lt;br /&gt;
&lt;br /&gt;
State Government of Paraíba [http://www.paraiba.pb.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Institute of Radioprotection and Dosimetry [http://www.ird.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Superintendency for the Development of Amazonia (SUDAM) [http://www.ada.gov.br/]&lt;br /&gt;
&lt;br /&gt;
School of Government and Public Administration [http://egap.fundap.sp.gov.br/]&lt;br /&gt;
&lt;br /&gt;
State University of Paraíba [http://www.uepb.pb.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Communication and Information System (SIC) / National Institute of Educational Studies Anísio Teixeira (INEP) [http://www.sic.inep.gov.br/]&lt;br /&gt;
&lt;br /&gt;
National School of Public Administration [http://www.enap.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Coordination for the Improvement of Higher Education Personnel (CAPES) [http://www.capes.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Open University of Brazil [http://www.uab.capes.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Brazilian Mint [http://www.casadamoeda.gov.br/portal/]&lt;br /&gt;
&lt;br /&gt;
Rio de Janeiro State Foundation for Support to the Technical School (FAETEC) [http://www.faetec.rj.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Union Public Defender&#039;s Office [http://www.dpu.gov.br/]&lt;br /&gt;
&lt;br /&gt;
FNDE - National Fund for Development of Education [http://www.fnde.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Casa de Oswaldo Cruz (COC) / Oswaldo Cruz Foundation (FIOCRUZ) [http://www.coc.fiocruz.br/]&lt;br /&gt;
&lt;br /&gt;
Ministério das Comunicações / Brazilian Government [http://www.mc.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Ministério da Educação / Brazilian Government [http://portal.mec.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Ministério Público Distrito Federal Territórios / Brazilian Government [http://www.mpdft.gov.br/portal/]&lt;br /&gt;
&lt;br /&gt;
Tribunal de Justiça do Estado da Bahia [http://www5.tjba.jus.br/]&lt;br /&gt;
&lt;br /&gt;
Secretaria de Estado de Educação - Acre [http://www.see.ac.gov.br/portal/]&lt;br /&gt;
&lt;br /&gt;
Secretaria de Estado da Fazenda - Acre [http://www.sefaz.ac.gov.br/sefaz2010/]&lt;br /&gt;
&lt;br /&gt;
Ministério Público do Estado do Amazonas [http://www.mp.am.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Secretaria de Estado do Meio Ambiente e Desenvolvimento Sustentável - Amazonas [http://www.sds.am.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Governo do Estado de Roraima [http://www.rr.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Tribunal de Justiça do Estado de Roraima [http://www.tjrr.jus.br/sistemas/php/joomla/]&lt;br /&gt;
&lt;br /&gt;
Tribunal de Justiça do Estado do Amapá [http://www.tjap.jus.br/portal/]&lt;br /&gt;
&lt;br /&gt;
Governo do Estado do Ceará [http://www.ceara.gov.br/]&lt;br /&gt;
&lt;br /&gt;
= Brunei Darussalam =&lt;br /&gt;
&lt;br /&gt;
Ministry of Industry and Primary Resources [http://www.bruneimipr.gov.bn]&lt;br /&gt;
&lt;br /&gt;
Attorney General&#039;s Chambers [http://www.agc.gov.bn]&lt;br /&gt;
&lt;br /&gt;
Department of Civil Aviation [http://www.civil-aviation.gov.bn]&lt;br /&gt;
&lt;br /&gt;
Prime Minister&#039;s Officer [http://www.jpm.gov.bn]&lt;br /&gt;
&lt;br /&gt;
Energy Division, Prime Minister&#039;s Office [http://www.energy.gov.bn]&lt;br /&gt;
&lt;br /&gt;
Judiciary [http://www.judicial.gov.bn]&lt;br /&gt;
&lt;br /&gt;
Ministry of Communications [http://www.mincom.gov.bn]&lt;br /&gt;
&lt;br /&gt;
MOD [http://www.mod.gov.bn]&lt;br /&gt;
&lt;br /&gt;
E-Business Leadership Forum [http://www.eblf.gov.bn]&lt;br /&gt;
&lt;br /&gt;
Ministry of Defence [http://www.mindef.gov.bn]&lt;br /&gt;
&lt;br /&gt;
=Bulgaria=&lt;br /&gt;
&lt;br /&gt;
Executive Energy Efficiency Agency [http://www.seea.government.bg/]&lt;br /&gt;
&lt;br /&gt;
Operational Programme Administrative Capacity [http://www.opac.government.bg/]&lt;br /&gt;
&lt;br /&gt;
National Service for Agricultural [http://www.naas.government.bg/]&lt;br /&gt;
&lt;br /&gt;
Regional Administration Kyustendil [http://www.kn.government.bg/]&lt;br /&gt;
&lt;br /&gt;
Regional Administration Pernik [http://www.pk.government.bg/]&lt;br /&gt;
&lt;br /&gt;
Regional administration of Sofia Region [http://www.sofoblast.government.bg/]&lt;br /&gt;
&lt;br /&gt;
=Burkina Faso=&lt;br /&gt;
&lt;br /&gt;
Ministry Of Youth And Employment [http://www.mje.gov.bf/]&lt;br /&gt;
&lt;br /&gt;
= Burundi =&lt;br /&gt;
&lt;br /&gt;
Ministry of East African Community [http://www.eac.bi]&lt;br /&gt;
&lt;br /&gt;
Ministry of Public Health [http://www.minisante.bi/]&lt;br /&gt;
&lt;br /&gt;
Revenue Authority [http://www.obr.bi]&lt;br /&gt;
&lt;br /&gt;
National Postal Authority [http://www.poste.bi]&lt;br /&gt;
&lt;br /&gt;
= Cameroon =&lt;br /&gt;
&lt;br /&gt;
Ministry of Higher Education [http://www.minesup.gov.cm]&lt;br /&gt;
&lt;br /&gt;
Ministry of Youth Affairs [http://www.minjeun.gov.cm]&lt;br /&gt;
&lt;br /&gt;
Ministry of Urban Development [http://www.minduh.gov.cm]&lt;br /&gt;
&lt;br /&gt;
Ministry of Economy, Planning, and Regional Development [http://www.minepat.gov.cm]&lt;br /&gt;
&lt;br /&gt;
= Cambodia =&lt;br /&gt;
&lt;br /&gt;
Senate of the Kingdom of Cambodia [http://www.senate.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
Supreme Court and Prosecutor&#039;s General Office [http://www.supremecourt.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
National Institute of Statistcs [http://www.nis.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
National Employment Agency [http://www.nea.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
Accreditation Committee of Cambodia [http://www.acc.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
Council for Administrative Reform []http://www.car.gov.kh/&lt;br /&gt;
&lt;br /&gt;
Immigration Department [http://www.immigration.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
General Department of National Treasury [http://www.treasury.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
Cambodian Mine Action and Victim Assistance Authority [http://www.cmaa.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
Cambodian National Petroleum Authority [http://cnpa.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
Demand for Good Governance Project [http://www.dfggmoi.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Justice [http://www.moj.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Tourism [http://www.cambodiatourismindustry.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Rural Development [http://www.mrd.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
National Multi Sector Orphans and Vulnerable Children Task Force [http://novctf.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
Tonle sap Authority [http://www.tonlesap.gov.kh/]&lt;br /&gt;
&lt;br /&gt;
= Canada =&lt;br /&gt;
&lt;br /&gt;
Farm Products Council [http://www.fpcc-cpac.gc.ca/index.php/eng/home]&lt;br /&gt;
&lt;br /&gt;
= Cape Verde =&lt;br /&gt;
&lt;br /&gt;
President of Cape Verde [http://www.primeiroministro.cv]&lt;br /&gt;
&lt;br /&gt;
Ministério dos Negócios Estrangeiros [http://www.mnecc.gov.cv]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health, Dengue Fever [http://www.dengue.gov.cv]&lt;br /&gt;
&lt;br /&gt;
Ministry of Education and Sport [http://www.minedu.gov.cv]&lt;br /&gt;
&lt;br /&gt;
Ministry of Environment and Agriculture [http://www.madrm.gov.cv]&lt;br /&gt;
&lt;br /&gt;
Coordination Unit for State Reform [http://www.reformadoestado.gov.cv]&lt;br /&gt;
&lt;br /&gt;
Mundu Novu [http://www.mundunovu.gov.cv]&lt;br /&gt;
&lt;br /&gt;
Ministry of Economy, Growth and Competitiveness [http://www.mecc.gov.cv]&lt;br /&gt;
&lt;br /&gt;
Direccao-Geral do Ensino Superior e Ciencia [http://www.dgesc.gov.cv]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health [http://www.minsaude.gov.cv]&lt;br /&gt;
&lt;br /&gt;
Ministry of Finance [http://www.minfin.gov.cv]&lt;br /&gt;
&lt;br /&gt;
Cape Verde 2016 [http://www.caboverde2016.gov.cv]&lt;br /&gt;
&lt;br /&gt;
Ministry of Justice [http://www.mj.gov.cv]&lt;br /&gt;
&lt;br /&gt;
Ministry of Labour, Family and Social Solidarity [http://www.mtfs.gov.cv]&lt;br /&gt;
&lt;br /&gt;
= Cayman Islands =&lt;br /&gt;
&lt;br /&gt;
Water Authority [http://www.waterauthority.ky/]&lt;br /&gt;
&lt;br /&gt;
National Gallery [http://www.nationalgallery.org.ky/]&lt;br /&gt;
&lt;br /&gt;
National Roads Authority [http://www.caymanroads.com/]&lt;br /&gt;
&lt;br /&gt;
Cayman Islands Elections Office [http://www.electionsoffice.ky/]&lt;br /&gt;
&lt;br /&gt;
= Ceuta =&lt;br /&gt;
&lt;br /&gt;
Government of Ceuta [http://www.gobiernodeceuta.es/]&lt;br /&gt;
= China =&lt;br /&gt;
&lt;br /&gt;
Liaoning Provincial Sports Bureau [http://www.lnsports.gov.cn]&lt;br /&gt;
&lt;br /&gt;
Jiading District Water Authority [http://www.jdwater.gov.cn]&lt;br /&gt;
&lt;br /&gt;
Beijing Science and Technology Cooperation Center [http://www.beijingstcc.gov.cn]&lt;br /&gt;
&lt;br /&gt;
Dalian City Public Security Bureau Traffic Police Detachment [http://www.dlutc.gov.cn]&lt;br /&gt;
&lt;br /&gt;
Sichuan Enviornmental Protection [http://www.schj.gov.cn]&lt;br /&gt;
&lt;br /&gt;
Aksu City Government [http://www.akss.gov.cn]&lt;br /&gt;
&lt;br /&gt;
= Chile =&lt;br /&gt;
&lt;br /&gt;
Comisión Chilena de Energía Nuclear [http://www.cchen.cl/]&lt;br /&gt;
&lt;br /&gt;
Comunidad Tecnológica [http://www.comunidadtecnologica.gob.cl]&lt;br /&gt;
&lt;br /&gt;
Conace [http://conacedrogas.gov.cl]&lt;br /&gt;
&lt;br /&gt;
Instituto Forestal [http://www.infor.gov.cl]&lt;br /&gt;
&lt;br /&gt;
Instituto de Desarrollo Agropecuario [http://www.indap.gov.cl]&lt;br /&gt;
&lt;br /&gt;
Servicio Nacional de Geología y Minería [http://www.sernageomin.gov.cl]&lt;br /&gt;
&lt;br /&gt;
Dirección de Crédito Prendario [http://www.dicrep.gov.cl]&lt;br /&gt;
&lt;br /&gt;
Instituto de Previsión Social [http://ips.gov.cl]&lt;br /&gt;
&lt;br /&gt;
Servicio Nacional de Pesca [http://www.sernapesca.gov.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Aihue [http://www.comunaalhue.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Algarrobo [http://www.municipalidadalgarrobo.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Alto del Carmen [http://www.munialtodelcarmen.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Alto Hospicio [http://maho.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Arauco [http://www.muniarauco.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Buin [http://www.buin.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Cabildo [http://www.municipiocabildo.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Carahue [http://www.carahue.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Cartagena [http://www.cartagena-chile.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Casablanca [http://www.e-casablanca.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Catemu [http://www.municatemu.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Cauquenes [http://www.cauquenes.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Chaitén [http://www.municipalidaddechaiten.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Chonchi [http://www.municipalidadchonchi.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Cobquecura [http://www.cobquecura.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Cochrane [http://www.cochranepatagonia.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Coinco [http://www.municoinco.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Combarbalá [http://www.combarbala.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Concón [http://www.concon.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Coronel [http://www.coronel.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Curacautín [http://www.mcuracautin.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Curacaví [http://www.municipalidadcuracavi.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Curanilahue [http://www.munichue.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Dalcahue [http://www.dalcahue.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de El Carmen [http://www.municipalidadelcarmen.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de El Tabo [http://www.eltabo.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Ercilla [http://www.muniercilla.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Fresia [http://www.munifresia.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Freire [http://www.munifreire.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Gorbea [http://www.municipalidadgorbea.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Hualpén [http://www.hualpenciudad.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Hualqui [http://www.munihualqui.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Las Guaitecas [http://www.muniguaitecas.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Illapel [http://www.municipalidadillapel.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Iquique [http://www.municipioiquique.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de La Higuera [http://www.munilahiguera.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Lanco [http://www.munilanco.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Lautaro [http://www.munilautaro.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de La Unión [http://www.munilaunion.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Llanquihue [http://www.munillanquihue.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Lo Barnechea [http://www.lobarnechea.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Loncoche [http://municipalidadloncoche.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Los Andes [http://www.munilosandes.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Los Alamos [http://www.municipalidadlosalamos.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Los Lagos [http://www.muniloslagos.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Los Muermos [http://www.muermos.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Lota [http://www.lota.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Lumaco [http://www.comunalumaco.com]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Machalí [http://www.machali.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Mafil [http://www.munimafil.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Maullín [http://www.municipalidadmaullin.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Maullín - Departamento de Salud [http://www.desam-maullin.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Melipeuco [http://www.melipeuko.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Melipilla [http://www.melipilla.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Monte Patria [http://www.munimontepatria.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Mulchen [http://www.munimulchen.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Nancagua [http://www.ilustremunicipalidaddenancagua.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Ninhue [http://www.munininhue.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Ñiquén [http://www.muniniquen.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Ovalle [http://www.municipalidaddeovalle.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Paillaco [http://www.munipaillaco.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Palmilla [http://www.munipalmilla.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Panguipulli [http://www.municipalidadpanguipulli.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Paredones [http://www.comunaparedones.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Pedro Aguirre Cerda [http://www.pedroaguirrecerda.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Pelarco [http://www.municipalidaddepelarco.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Perquenco [http://www.perquenco.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Pinto [http://www.municipalidaddepinto.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Providencia [http://www.providencia.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Puerto Montt [http://www.puertomonttchile.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Puerto Natales [http://www.muninatales.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Puqueldon [http://www.munipuqueldon.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Puyehye [http://www.puyehuechile.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Quemchi [http://www.municipalidadquemchi.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Quilicura [http://www.muniquilicura.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Quillota [http://www.quillota.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Quinchao [http://www.islaquinchao.com/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Quinta Normal [http://www.quintanormal.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Quirihue [http://www.municipalidadquirihue.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Rinconada [http://www.munirinconada.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Río Negro [http://www.rionegrochile.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Rauco [http://www.munirauco.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de San Antonio [http://www.sanantonio.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de San Gregorio [http://www.sangregorio.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de San Ramón [http://www.msanramon.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Santa Cruz [http://www.municipalidadsantacruz.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Santa María [http://www.imsantamaria.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Santa Juana [http://www.santajuana.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Talcahuano [http://www.talcahuano.cl]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Teno [http://www.municipalidaddeteno.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Teodoro Schmidt [http://web.muniteodoro.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Tirúa [http://www.tiruaweb.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Torres del Paine [http://www.torresdelpayne.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Tucapel [http://www.municipalidadtucapel.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Vallenar [http://www.vallenar.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Vicuña [http://www.munivicuna.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Vilcún [http://www.vilcun.cl/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Villa Alegre [http://www.villalegre.cl/contenido]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Yungay [http://www.yungay.cl/]&lt;br /&gt;
&lt;br /&gt;
Servicio Vivienda y Urbanismo Región Metropolitana [http://www.serviurm.cl]&lt;br /&gt;
&lt;br /&gt;
Servicio Vivienda y Urbanismo Región O&#039;Higgins [http://www.serviuohiggins.cl]&lt;br /&gt;
&lt;br /&gt;
Agencia Regional Desarrollo Productivo Antofagasta [http://www.agenciaantofagasta.cl]&lt;br /&gt;
&lt;br /&gt;
Agencia Regional Desarrollo Productivo O&#039;Higgins [http://www.agenciaohiggins.cl]&lt;br /&gt;
&lt;br /&gt;
Ministerio de Justicia [http://www.minjusticia.gob.cl]&lt;br /&gt;
&lt;br /&gt;
Servicio Nacional de la Mujer [http://www.sernam.cl]&lt;br /&gt;
&lt;br /&gt;
Portal Compras Públicas Chilecompra [http://www.chilecompra.cl]&lt;br /&gt;
&lt;br /&gt;
Dirección General del Territorio Marítimo [http://www.directemar.cl]&lt;br /&gt;
&lt;br /&gt;
Fundación para la promoción y desarrollo de la mujer PRODEMU [http://www.prodemu.cl/web2]&lt;br /&gt;
&lt;br /&gt;
Fundación de la Familia [http://www.fundaciondelafamilia.cl]&lt;br /&gt;
&lt;br /&gt;
Dirección para la Comunidad de Chilenos en el Exterior [http://www.chilesomostodos.gov.cl]&lt;br /&gt;
&lt;br /&gt;
Comité de Inversiones Extranjeras [http://www.inversionextranjera.cl]&lt;br /&gt;
&lt;br /&gt;
Corporación Nacional Indígena [http://www.conadi.gov.cl]&lt;br /&gt;
&lt;br /&gt;
Junta Nacional de Jardines Infantiles [http://www.junji.cl]&lt;br /&gt;
&lt;br /&gt;
División de Organizaciones Sociales Participemos [http://www.participemos.gob.cl]&lt;br /&gt;
&lt;br /&gt;
Instituto de Previsión Social [http://www.ips.gob.cl]&lt;br /&gt;
&lt;br /&gt;
Instituto de Desarrollo Agropecuario [http://www.indap.gob.cl]&lt;br /&gt;
&lt;br /&gt;
Instituto Nacional de Propiedad Intelectual [http://www.inapi.cl]&lt;br /&gt;
&lt;br /&gt;
Servicio de Salud Metropolitano Occidente [http://www.saludoccidente.cl]&lt;br /&gt;
&lt;br /&gt;
Servicio Médico Legal [http://www.sml.cl/portal]&lt;br /&gt;
&lt;br /&gt;
Superintendencia de Quiebras [http://www.squiebras.cl]&lt;br /&gt;
&lt;br /&gt;
Cámara de Comercio Asia Pacífico [http://www.asiapacific.cl/camara/]&lt;br /&gt;
&lt;br /&gt;
Cámara de Comercio Quiplué [http://www.ccq.cl/]&lt;br /&gt;
&lt;br /&gt;
Cámara de Comercio Valparaíso [http://www.cctvalparaiso.cl/]&lt;br /&gt;
&lt;br /&gt;
Cámara de Comercio Antofagasta [http://www.camaracomercioantofagasta.cl/portal/]&lt;br /&gt;
&lt;br /&gt;
Cámara Regional de Comercio Valpo [http://www.crcpvalpo.cl/]&lt;br /&gt;
&lt;br /&gt;
= Colombia =&lt;br /&gt;
&lt;br /&gt;
Embassy to the United States [http://www.colombiaemb.org/]&lt;br /&gt;
&lt;br /&gt;
National Bureau of Statistics-DANE [http://www.dane.gov.co/]&lt;br /&gt;
&lt;br /&gt;
Statistics Portal [http://www.colombiestad.gov.co/]&lt;br /&gt;
&lt;br /&gt;
Secretaría del Gobierno de Bogotá [http://www.gobiernobogota.gov.co/]&lt;br /&gt;
&lt;br /&gt;
Secretaría del Interior y Convivencia Ciudadana [http://secinterior.cartagena.gov.co/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Transport  [http://www.supertransporte.gov.co/super/]&lt;br /&gt;
&lt;br /&gt;
Institute of Tourism and Culture Caquetta [http://www.icdtcaqueta.gov.co/web/]&lt;br /&gt;
&lt;br /&gt;
Mass Transit Medellin [http://www.metrodemedellin.gov.co/]&lt;br /&gt;
&lt;br /&gt;
Urban Development Corporation Medellín [http://www.edu.gov.co/]&lt;br /&gt;
&lt;br /&gt;
Department of Security [http://www.das.gov.co/]&lt;br /&gt;
&lt;br /&gt;
Malvinas Hospital [http://www.hospitalmalvinas.gov.co/site/]&lt;br /&gt;
&lt;br /&gt;
Superintendency of Notaries and Registration [http://www.supernotariado.gov.co/supernotariado/]&lt;br /&gt;
&lt;br /&gt;
Columbian Institute of Geology and Mining [http://www.ingeominas.gov.co/]&lt;br /&gt;
&lt;br /&gt;
Salt Cathedral [http://www.catedraldesal.gov.co/]&lt;br /&gt;
&lt;br /&gt;
Commission for the Regulation of Communications [http://www.crcom.gov.co/]&lt;br /&gt;
&lt;br /&gt;
Regional Autonomous Corporation CORNARE [http://www.cornare.gov.co/]&lt;br /&gt;
&lt;br /&gt;
= Comores =&lt;br /&gt;
Comores Telecom [http://comorestelecom-evenements.km/]&lt;br /&gt;
&lt;br /&gt;
= Cote d&#039;Ivoire =&lt;br /&gt;
&lt;br /&gt;
Ministry of Environment, Water and Forests [http://www.environnement.gouv.ci/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Agriculture [http://www.agriculture.gouv.ci/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Commerce [http://www.commerce.gouv.ci/]&lt;br /&gt;
&lt;br /&gt;
Ministry of the Fight against AIDS [http://www.mlsida.gouv.ci/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Finance and economy [http://www.finances.gouv.ci/]&lt;br /&gt;
&lt;br /&gt;
= Cook Island =&lt;br /&gt;
&lt;br /&gt;
Office of the Prime Minister [http://www.pmoffice.gov.ck]&lt;br /&gt;
&lt;br /&gt;
Business Trade Investment Board [http://www.btib.gov.ck]&lt;br /&gt;
&lt;br /&gt;
Ministry of Finance and Economic Management [http://www.mfem.gov.ck]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs and Immigration [http://www.mfai.gov.ck/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Internal Affairs [http://www.intaff.gov.ck/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://www.education.gov.ck/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Cultural Development [http://www.mocd.gov.ck/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Justice [http://justice.gov.ck/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Agriculture [http://www.agriculture.gov.ck/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health [http://www.health.gov.ck/]&lt;br /&gt;
&lt;br /&gt;
National Environment Service [http://www.environment.gov.ck/]&lt;br /&gt;
&lt;br /&gt;
Office of the Ombudsman [http://www.ombudsman.gov.ck/]&lt;br /&gt;
&lt;br /&gt;
Financial Intelligence Unit [http://www.cifiu.gov.ck/]&lt;br /&gt;
&lt;br /&gt;
Cook Islands Police [http://dev.police.gov.ck/]&lt;br /&gt;
&lt;br /&gt;
Department Of National Human Resources Development [http://www.nathrd.gov.ck/]&lt;br /&gt;
&lt;br /&gt;
Public Service Commissioner [http://www.psc.gov.ck/]&lt;br /&gt;
&lt;br /&gt;
= Costa Rica =&lt;br /&gt;
&lt;br /&gt;
President of the Republic of Costa Rica [http://www.casapres.go.cr/]&lt;br /&gt;
&lt;br /&gt;
National Musuem [http://www.museocostarica.go.cr/]&lt;br /&gt;
&lt;br /&gt;
National Commission for Risk Prevention and Emergency Response [http://www.cne.go.cr/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Justice and Peace [http://mjp.go.cr/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Planning[http://www.mideplan.go.cr/]&lt;br /&gt;
&lt;br /&gt;
Costa Rican Drug Institute  [http://www.icd.go.cr/]&lt;br /&gt;
&lt;br /&gt;
National Women&#039;s Institute [http://www.inamu.go.cr/]&lt;br /&gt;
&lt;br /&gt;
City of Santa Ana [http://www.santaanaenlinea.go.cr/]&lt;br /&gt;
&lt;br /&gt;
City of Heredia [http://www.heredia.go.cr/]&lt;br /&gt;
&lt;br /&gt;
= Croatia =&lt;br /&gt;
&lt;br /&gt;
Sisak Moslavina County [http://www.smz.hr]&lt;br /&gt;
&lt;br /&gt;
= Cuba =&lt;br /&gt;
&lt;br /&gt;
Spatial Data Infrastructure of the Republic of Cuba [http://www.iderc.co.cu]&lt;br /&gt;
&lt;br /&gt;
Ministry of Higher Education [http://www.mes.edu.cu/]&lt;br /&gt;
&lt;br /&gt;
= Cyprus =&lt;br /&gt;
&lt;br /&gt;
Ministry of Interior [http://moi.gov.cy]&lt;br /&gt;
&lt;br /&gt;
Department of Electronic Communications [http://www.emf.mcw.gov.cy]&lt;br /&gt;
&lt;br /&gt;
= Czech Republic =&lt;br /&gt;
Municipal Milotice [http://www.milotice.cz/]&lt;br /&gt;
&lt;br /&gt;
Municipal Urbanov [http://www.urbanov.com/]&lt;br /&gt;
&lt;br /&gt;
Praha Petrovice [http://www.prahapetrovice.cz/]&lt;br /&gt;
&lt;br /&gt;
= Denmark =&lt;br /&gt;
&lt;br /&gt;
Education for Sustainable Development, Ministry of Education / UNESCO national committee [http://ubuportalen.dk/]&lt;br /&gt;
&lt;br /&gt;
Healt in your language, National Department of Health Odense University [http://www.sundhedpaamitsprog.dk/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Environment Kort &amp;amp; Matrikelstyrelsen [http://visstedet.kms.dk/]&lt;br /&gt;
&lt;br /&gt;
= Djibouti =&lt;br /&gt;
&lt;br /&gt;
Ministry of National Education and Higher Education [http://www.education.gov.dj]&lt;br /&gt;
&lt;br /&gt;
= Dominica =&lt;br /&gt;
&lt;br /&gt;
Inland Revenue Division [http://ird.gov.dm]&lt;br /&gt;
&lt;br /&gt;
Customs and Excise Division [http://www.customs.gov.dm]&lt;br /&gt;
&lt;br /&gt;
Ministry of Agriculture and Forestry [http://agriculture.gov.dm]&lt;br /&gt;
&lt;br /&gt;
= Dominican Republic =&lt;br /&gt;
&lt;br /&gt;
National Institute for Consumer Rights Protection [http://www.proconsumidor.gov.do]&lt;br /&gt;
&lt;br /&gt;
Presidential Commission on the Millennium Development Goals [http://copdes.gov.do]&lt;br /&gt;
&lt;br /&gt;
INESPRE [htpp://www.inespre.gov.do]&lt;br /&gt;
&lt;br /&gt;
Ministry of Labor [http://www.set.gov.do]&lt;br /&gt;
&lt;br /&gt;
Ministry of Environment and Natural Resources [http://www.ambiente.gov.do]&lt;br /&gt;
&lt;br /&gt;
Corporation of State Electrical Companies [http://www.cdeee.gov.do]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.serex.gov.do]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs 2 [http://www.mirex.gov.do]&lt;br /&gt;
&lt;br /&gt;
Dominican Coffee Council [http://www.codocafe.gov.do]&lt;br /&gt;
&lt;br /&gt;
Institute for Development and Credit Cooperative [http://idecoop.gov.do]&lt;br /&gt;
&lt;br /&gt;
Metropolitan Transportation Authority [http://www.amet.gov.do]&lt;br /&gt;
&lt;br /&gt;
= Dubai =&lt;br /&gt;
&lt;br /&gt;
Dubai Civil Defence [http://www.dcd.gov.ae]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Trade WTO [http://www.moft.gov.ae/wto/]&lt;br /&gt;
&lt;br /&gt;
Financial Audit Authority [http://www.fad.gov.ae/]&lt;br /&gt;
&lt;br /&gt;
National Transport Authority [http://www.nta.gov.ae/]&lt;br /&gt;
&lt;br /&gt;
Ajman Free Zone Authority [http://www.afza.gov.ae/]&lt;br /&gt;
&lt;br /&gt;
Hamdan Educational Award [http://www.hamdanaward.gov.ae/]&lt;br /&gt;
&lt;br /&gt;
= East Timor =&lt;br /&gt;
&lt;br /&gt;
Sail Timor-Leste and Darwin Dili Yacht Rally [http://www.sailtimorleste.org/]&lt;br /&gt;
&lt;br /&gt;
Timor-Leste 2010 Shanghai Expo website [http://www.timor-leste2010shanghaiexpo.com/]&lt;br /&gt;
&lt;br /&gt;
= Ecuador =&lt;br /&gt;
&lt;br /&gt;
President of Ecuador [http://elciudadano.gov.ec] here is the vídeo when the former president Rafael Correa ask the goverment to use Open Source [http://www.youtube.com/watch?v=Hy5yAk4dYOk]&lt;br /&gt;
&lt;br /&gt;
Ministerio de Salud Pública [http://www.msp.gov.ec/]&lt;br /&gt;
&lt;br /&gt;
Ministerio de Coordinación y Desarrollo Social - Infoinclusión [http://www.infoinclusion.gov.ec/]&lt;br /&gt;
&lt;br /&gt;
Ministerio Coordinador de Patrimonio [http://www.ministeriopatrimonio.gov.ec/]&lt;br /&gt;
&lt;br /&gt;
Secretaria Nacional de Telecomunicaciones [http://www.conatel.gov.ec/site_conatel/]&lt;br /&gt;
&lt;br /&gt;
Corporación Financiera Nacional [http://www.cfn.fin.ec/]&lt;br /&gt;
&lt;br /&gt;
Ministerio de Industrias y Productividad [http://www.micip.gov.ec/]&lt;br /&gt;
&lt;br /&gt;
Sistema Nacional de Información [http://www.sni.gov.ec]&lt;br /&gt;
&lt;br /&gt;
= Egypt =&lt;br /&gt;
&lt;br /&gt;
Alexandria Port Authority [http://www.apa.gov.eg/]&lt;br /&gt;
&lt;br /&gt;
Aswan [http://www.aswan-sun.gov.eg/]&lt;br /&gt;
&lt;br /&gt;
= El Salvador =&lt;br /&gt;
&lt;br /&gt;
Ministry of Interior [http://www.gobernacion.gob.sv/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.rree.gob.sv/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Economy [http://www.minec.gob.sv/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Public Works [http://www.mop.gob.sv/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Public Works Transparency [http://transparencia.mop.gob.sv/]&lt;br /&gt;
&lt;br /&gt;
Ministry of National Defence [http://www.fuerzaarmada.gob.sv/]&lt;br /&gt;
&lt;br /&gt;
National Registration Center  [http://www.cnr.gob.sv]&lt;br /&gt;
&lt;br /&gt;
National Lottery [http://www.lnb.gob.sv/]&lt;br /&gt;
&lt;br /&gt;
National Energy Board [http://www.cne.gob.sv/]&lt;br /&gt;
&lt;br /&gt;
Vice Ministry of Transport [http://www.vmt.mop.gob.sv/]&lt;br /&gt;
&lt;br /&gt;
Civil Aviation Authority [http://www.aac.gob.sv/]&lt;br /&gt;
&lt;br /&gt;
Institute for Municipal Development [http://www.isdem.gob.sv/nwises/]&lt;br /&gt;
&lt;br /&gt;
Social Security Institute[http://www.isss.gob.sv/]&lt;br /&gt;
&lt;br /&gt;
Commission of National Bicentenary [http://www.bicentenario.gob.sv/]&lt;br /&gt;
&lt;br /&gt;
Institute for Municipal Development [http://www.isdem.gob.sv/nwises/]&lt;br /&gt;
&lt;br /&gt;
= Equatorial Guinea =&lt;br /&gt;
&lt;br /&gt;
Centro de Referencia para el Control de Endemias en Guinea Ecuatorial [http://www.crce-guinea.org/]&lt;br /&gt;
&lt;br /&gt;
= Eritrea =&lt;br /&gt;
&lt;br /&gt;
Ministry of Energy and Mines [http://www.moem.gov.er/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Information [http://www.shabait.com/index.php]&lt;br /&gt;
&lt;br /&gt;
= Estonia =&lt;br /&gt;
Kaitseressursside Amet - Estonian Defence Resources Office [http://www.kra.ee/]&lt;br /&gt;
&lt;br /&gt;
Eesti Kaitseväe Värbamiskeskus - Recruiting Center of Estonian Army [http://vk.kra.ee/]&lt;br /&gt;
&lt;br /&gt;
= Ethiopia =&lt;br /&gt;
&lt;br /&gt;
Addis Ababa City [http://Addisababacity.gov.et]&lt;br /&gt;
&lt;br /&gt;
Arra[http://Arra.org.et]&lt;br /&gt;
&lt;br /&gt;
CSA [http://Csa.gov.et]&lt;br /&gt;
&lt;br /&gt;
EIAR [http://Eiar.gov.et]&lt;br /&gt;
&lt;br /&gt;
Election Ethiopia [http://Electionethiopia.org]&lt;br /&gt;
&lt;br /&gt;
EWCA [http://Ewca.gov.et]&lt;br /&gt;
&lt;br /&gt;
HAPCO [http://Hapco.gov.et]&lt;br /&gt;
&lt;br /&gt;
Harar Municipality [http://Hararmunicipality.org]&lt;br /&gt;
&lt;br /&gt;
HOF Ethiopia [http://Hofethiopia.gov.et]&lt;br /&gt;
&lt;br /&gt;
Kolfekernio [http://Kolfekeranio.gov.et]&lt;br /&gt;
&lt;br /&gt;
Modfed [http://Modfed.gov.et]&lt;br /&gt;
&lt;br /&gt;
MOH [http://Moh.gov.et]&lt;br /&gt;
&lt;br /&gt;
MOYS [http://Moys.gov.et]&lt;br /&gt;
&lt;br /&gt;
Ogaden [http://Ogaden.com]&lt;br /&gt;
&lt;br /&gt;
SNNPREB [http://Snnpreb.gov.et]&lt;br /&gt;
&lt;br /&gt;
SRS [http://Srsinfo.gov.et]&lt;br /&gt;
&lt;br /&gt;
= Faroe Islands =&lt;br /&gt;
&lt;br /&gt;
National Library of the Faroe Islands[http://www.flb.fo/]&lt;br /&gt;
&lt;br /&gt;
Faroese Council of Artists[http://www.lisa.fo/]&lt;br /&gt;
&lt;br /&gt;
= Fiji =&lt;br /&gt;
&lt;br /&gt;
Fiji Government Online Portal [http://www.fiji.gov.fj/]&lt;br /&gt;
&lt;br /&gt;
Department of Immigration [http://www.immigration.gov.fj/]&lt;br /&gt;
&lt;br /&gt;
Department of Town and Country Planning [http://www.townplanning.gov.fj/]&lt;br /&gt;
&lt;br /&gt;
Department of Information Technology and Computing Services http://www.itc.gov.fj/]&lt;br /&gt;
&lt;br /&gt;
Department of Civil Aviation [http://www.civilaviation.gov.fj/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs &amp;amp; International Cooperation  [http://www.foreignaffairs.gov.fj/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Works Transport &amp;amp; Public Utilities [http://mwtpu.gov.fj/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Finance [http://www.finance.gov.fj/]&lt;br /&gt;
&lt;br /&gt;
Fiji Police Force [http://police.gov.fj/]&lt;br /&gt;
&lt;br /&gt;
Higher Education Commission [http://www.fhec.gov.fj/]&lt;br /&gt;
&lt;br /&gt;
Government Shipping Services [http://www.governmentshipping.gov.fj/]&lt;br /&gt;
&lt;br /&gt;
Fiji Islands Marine Safety Commission [http://www.fimsa.gov.fj/]&lt;br /&gt;
&lt;br /&gt;
National Archives of Fiji [http://www.archives.gov.fj/]&lt;br /&gt;
&lt;br /&gt;
Strategic Framework for Change Coordinating Office[http://www.sfcco.gov.fj/]&lt;br /&gt;
&lt;br /&gt;
= Finland =&lt;br /&gt;
&lt;br /&gt;
Regional Council of Southwest Finland [http://www.varsinais-suomi.fi]&lt;br /&gt;
&lt;br /&gt;
= France =&lt;br /&gt;
&lt;br /&gt;
Eiffel Tower [http://www.tour-eiffel.com/]&lt;br /&gt;
&lt;br /&gt;
Journal Officiel [http://www.journal-officiel.gouv.fr/]&lt;br /&gt;
&lt;br /&gt;
Direction de la sécurité de l&#039;aviation civile sud ouest [http://www.dac-so.aviation-civile.gouv.fr/]&lt;br /&gt;
&lt;br /&gt;
L’Observatoire national de l’enfance en danger [http://oned.gouv.fr/]&lt;br /&gt;
&lt;br /&gt;
Direction Régionale des Affaires Culturelles d&#039;Auvergne [http://www.auvergne.culture.gouv.fr/]&lt;br /&gt;
&lt;br /&gt;
= Gabon =&lt;br /&gt;
&lt;br /&gt;
Ministry of Economy, Commerce, Industry and Tourism [http://www.dge.gouv.ga/]&lt;br /&gt;
&lt;br /&gt;
Department of Procurement [http://www.marchespublics.gouv.ga/]&lt;br /&gt;
&lt;br /&gt;
= Gambia =&lt;br /&gt;
&lt;br /&gt;
Official Government Web Portal [http://www.gambia.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Works, Construction and Infrastructure [http://www.mowci.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Petroleum [http://www.mop.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Basic and Secondary Education [http://www.mobse.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Economic Planning and Industrial Development [http://www.mepid.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Higher Education, Research, Science and Technology [http://www.moherst.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of the Interior [http://www.moi.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Finance [http://www.mof.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health and Social Welfare [http://www.moh.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Tourism and Culture [http://www.motc.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Youth and Sports [http://www.moys.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
Personnel Management Office [http://www.pmo.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
Public Service Commission [http://www.psc.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
Gambia Immigration Department [http://www.gid.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
Judiciary of The Gambia [http://www.gov.gm/judiciary]&lt;br /&gt;
&lt;br /&gt;
National Planning Commission [http://www.npc.gov.gm/]&lt;br /&gt;
&lt;br /&gt;
= Georgia =&lt;br /&gt;
&lt;br /&gt;
Kutaisi City [http://kutaisi.gov.ge/]&lt;br /&gt;
&lt;br /&gt;
Gori Municipality [http://www.gori.gov.ge/]&lt;br /&gt;
&lt;br /&gt;
Inspection of Environmental Protection [http://iep.gov.ge/]&lt;br /&gt;
&lt;br /&gt;
Support Georgian Book and Literature [http://www.book.gov.ge/]&lt;br /&gt;
&lt;br /&gt;
= Germany=&lt;br /&gt;
AStA der RWTH Aachen [http://www.asta.rwth-aachen.de/]&lt;br /&gt;
&lt;br /&gt;
Gemeinde Breklum [http://breklum.de/]&lt;br /&gt;
&lt;br /&gt;
Gemeinde Brüggen [http://www.brueggen.de/]&lt;br /&gt;
&lt;br /&gt;
Gemeinde Süderlügum [http://suederluegum.de/]&lt;br /&gt;
&lt;br /&gt;
Stadt Adenau [http://www.stadt-adenau.de/] &lt;br /&gt;
 &lt;br /&gt;
Stadt Braunlage [http://www.stadt-braunlage.de/]&lt;br /&gt;
&lt;br /&gt;
Stadt Frankfurt: Älterwerden in Frankfurt [http://aelterwerden-in-frankfurt.de/]&lt;br /&gt;
&lt;br /&gt;
Stadt Frankfurt: Ferienkarussell [http://www.ferienkarussell-frankfurt.de/]&lt;br /&gt;
&lt;br /&gt;
Stadt Frankfurt: Kinderkultur [http://www.kinderkultur-frankfurt.de/]&lt;br /&gt;
&lt;br /&gt;
Stadt Neubrandenburg [http://www.neubrandenburg.de]&lt;br /&gt;
&lt;br /&gt;
Stadt Kolbermoor [http://www.stadt-kolbermoor.de/]&lt;br /&gt;
&lt;br /&gt;
Stadt Seeland  [http://www.stadt-seeland.de/]  &lt;br /&gt;
&lt;br /&gt;
Stadt Sulzbach/Saar [http://www.stadt-sulzbach.de/]&lt;br /&gt;
&lt;br /&gt;
Stadt Wertingen [http://www.wertingen.de/]&lt;br /&gt;
&lt;br /&gt;
= Ghana =&lt;br /&gt;
&lt;br /&gt;
Ghana Government Official Portal [http://www.ghana.gov.gh/]&lt;br /&gt;
&lt;br /&gt;
Office of the President [http://www.oop.gov.gh/]&lt;br /&gt;
&lt;br /&gt;
Child Protection Ghana[http://www.childprotection.gov.gh/]&lt;br /&gt;
&lt;br /&gt;
Highways Authority [http://www.highways.gov.gh/]&lt;br /&gt;
&lt;br /&gt;
Controller &amp;amp; Accountant General&#039;s Department[http://cagd.gov.gh/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Information [http://www.moi.gov.gh/]&lt;br /&gt;
&lt;br /&gt;
Ministry of the Interior [http://www.mint.gov.gh/]&lt;br /&gt;
&lt;br /&gt;
Ghana Investment Fund for Electronic Communication [http://www.gifec.gov.gh/]&lt;br /&gt;
&lt;br /&gt;
Environmental Protection Agency [http://www.epa.gov.gh/site/]&lt;br /&gt;
&lt;br /&gt;
Ghana Extractive Industry Transparency Initiative [http://www.geiti.gov.gh/site/]&lt;br /&gt;
&lt;br /&gt;
National Pensions Regulatory Authority [http://npra.gov.gh/site/]&lt;br /&gt;
&lt;br /&gt;
Judicial Service of Ghana [http://www.judicial.gov.gh/]&lt;br /&gt;
&lt;br /&gt;
Ghana Revenue Authority [http://www.gra.gov.gh/]&lt;br /&gt;
&lt;br /&gt;
National Accreditation Board [http://www.nab.gov.gh/]&lt;br /&gt;
&lt;br /&gt;
= Gibraltar =&lt;br /&gt;
&lt;br /&gt;
Government of Gibraltar [http://www.gibraltar.gov.gi/]&lt;br /&gt;
&lt;br /&gt;
Gibraltar Health Authority [http://www.health.gov.gi/]&lt;br /&gt;
&lt;br /&gt;
= Greece =&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://www.minedu.gov.gr]&lt;br /&gt;
&lt;br /&gt;
www.gss.gov.gr [http://www.gss.gov.gr]&lt;br /&gt;
&lt;br /&gt;
http://chalki.gov.gr [http://chalki.gov.gr]&lt;br /&gt;
&lt;br /&gt;
http://www.halkidiki.gov.gr [http://www.halkidiki.gov.gr]&lt;br /&gt;
&lt;br /&gt;
Portal of Municipality of Nea Smirni [http://www.neasmyrni.gov.gr]&lt;br /&gt;
&lt;br /&gt;
http://www.nom-athinas.gov.gr [http://www.nom-athinas.gov.gr]&lt;br /&gt;
&lt;br /&gt;
Municipality of Nikaia, Attica [http://www.polisnikaia.gr]&lt;br /&gt;
&lt;br /&gt;
= Greenland =&lt;br /&gt;
&lt;br /&gt;
Bureau of Minerals and Petroleum[http://www.bmp.gl/]&lt;br /&gt;
&lt;br /&gt;
= Grenada =&lt;br /&gt;
&lt;br /&gt;
CWA 2010 [http://cwa.gov.gd/]&lt;br /&gt;
&lt;br /&gt;
= Guatemala =&lt;br /&gt;
&lt;br /&gt;
Secretaría de Bienestar Social [http://www.sbs.gob.gt/]&lt;br /&gt;
&lt;br /&gt;
Ministerio de Finanzas Públicas [http://minfin.gob.gt] &lt;br /&gt;
&lt;br /&gt;
= Guayana =&lt;br /&gt;
&lt;br /&gt;
President of Guayana [http://opnew.op.gov.gy/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.minfor.gov.gy/tsite/]&lt;br /&gt;
&lt;br /&gt;
= Guinea =&lt;br /&gt;
&lt;br /&gt;
Présidence de la République de Guinée [http://www.guinee.gov.gn/pr/]&lt;br /&gt;
&lt;br /&gt;
= Haiti =&lt;br /&gt;
&lt;br /&gt;
Ministry of Haitians Living Abroad [http://www.mhave.gouv.ht]&lt;br /&gt;
&lt;br /&gt;
Department of Public Health and Population [http://www.mspp.gouv.ht]&lt;br /&gt;
&lt;br /&gt;
International Port of Port-au-Prince [http://www.apn.gouv.ht]&lt;br /&gt;
&lt;br /&gt;
DINEPA [http://www.dinepa.gouv.ht]&lt;br /&gt;
&lt;br /&gt;
= Honduras =&lt;br /&gt;
&lt;br /&gt;
National Service of Agricultural Health [http://www.senasa-sag.gob.hn]&lt;br /&gt;
&lt;br /&gt;
President of Honduras [http://www.presidencia.gob.hn]&lt;br /&gt;
&lt;br /&gt;
Secretary of State [http://www.sdp.gob.hn]&lt;br /&gt;
&lt;br /&gt;
Minister of National Women&#039;s Institute [http://www.inam.gob.hn]&lt;br /&gt;
&lt;br /&gt;
Secretary of Culture, Arts, and Sports [http://www.scad.gob.hn]&lt;br /&gt;
&lt;br /&gt;
Ministry of Agriculture and Livestock [http://www.sag.gob.hn]&lt;br /&gt;
&lt;br /&gt;
Technical Secretariat of Planning and External Cooperation [http://www.seplan.gob.hn]&lt;br /&gt;
&lt;br /&gt;
National Commission on Energy [http://www.cne.gob.hn]&lt;br /&gt;
&lt;br /&gt;
= Hong Kong =&lt;br /&gt;
&lt;br /&gt;
Family Friendly Employers [http://event.familycouncil.gov.hk/]&lt;br /&gt;
&lt;br /&gt;
= Hungary =&lt;br /&gt;
&lt;br /&gt;
National Tax and Customs Training, Health and Cultural Institute [https://abpe.nav.gov.hu]&lt;br /&gt;
&lt;br /&gt;
= Iceland =&lt;br /&gt;
&lt;br /&gt;
Directorate of Immigration[http://www.utl.is/]&lt;br /&gt;
&lt;br /&gt;
United Nations Women Rights in Iceland [http://www.unwomen.is/]&lt;br /&gt;
&lt;br /&gt;
East Iceland Invest [http://www.east-iceland.is/]&lt;br /&gt;
&lt;br /&gt;
= India =&lt;br /&gt;
&lt;br /&gt;
Competition Commission of India [http://www.cci.gov.in/]&lt;br /&gt;
&lt;br /&gt;
Wildlife Institute of India [http://www.wii.gov.in/]&lt;br /&gt;
&lt;br /&gt;
Government of Kerala [http://www.kerala.gov.in/]&lt;br /&gt;
&lt;br /&gt;
Kerala Forests and Wildlife Department [http://www.keralaforest.gov.in/]&lt;br /&gt;
&lt;br /&gt;
Non-resident Keralites&#039; Affairs [http://www.norka.gov.in/]&lt;br /&gt;
&lt;br /&gt;
District Court Thiruvanathapuram Website [http://trivandrumdistrictcourt.gov.in/]&lt;br /&gt;
&lt;br /&gt;
Unique Identification Authority of India [http://uidai.gov.in/]&lt;br /&gt;
&lt;br /&gt;
Government of Mizoram - Department of Cooperation [http://www.coop.mizoram.gov.in/]&lt;br /&gt;
&lt;br /&gt;
Bruhat Bengaluru Mahanagara Palike [http://bbmp.gov.in/]&lt;br /&gt;
&lt;br /&gt;
= Indonesia =&lt;br /&gt;
&lt;br /&gt;
Main country website [http://indonesia.go.id/]&lt;br /&gt;
&lt;br /&gt;
State Secretariat [http://www.setneg.go.id/]&lt;br /&gt;
&lt;br /&gt;
National Election Commission [http://kpu.go.id/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Environment [http://www.menlh.go.id/home/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Cooperatives and Small and Medium Enterprise [http://www.depkop.go.id/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Empowerment of Women and Child Protection [http://www.menegpp.go.id/]&lt;br /&gt;
&lt;br /&gt;
Ministry of State Apparatus &amp;amp; Bureaucracy Reform [http://www.menpan.go.id/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health [http://www.depkes.go.id/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Energy &amp;amp; Mineral Resources [http://www.esdm.go.id/]&lt;br /&gt;
&lt;br /&gt;
Directorate General of Higher Education [http://dikti.go.id/]&lt;br /&gt;
&lt;br /&gt;
Directorate General of Immigration, Ministry of Law and Human Rights [http://www.imigrasi.go.id/]&lt;br /&gt;
&lt;br /&gt;
Directorate General of Taxes [http://www.pajak.go.id/]&lt;br /&gt;
&lt;br /&gt;
Media Center, Ministry of Defense [http://www.dmc.kemhan.go.id/]&lt;br /&gt;
&lt;br /&gt;
Geological Survey Centre of Geological Agency, Ministry of Energy &amp;amp; Mineral Resources [http://psg.bgl.esdm.go.id/]&lt;br /&gt;
&lt;br /&gt;
Training, Research &amp;amp; Development Body, Ministry of Religious Affairs [http://balitbangdiklat.kemenag.go.id/]&lt;br /&gt;
&lt;br /&gt;
Lajnah Pentasihan Mushlaf Al-Qur&#039;an, Ministry of Religious Affairs [http://lajnah.kemenag.go.id/]&lt;br /&gt;
&lt;br /&gt;
Hydro-Oceanographic Office, Indonesian Navy [http://dishidros.go.id/hidros/]&lt;br /&gt;
&lt;br /&gt;
City of Banda Aceh, Aceh Province [http://bandaacehkota.go.id/]&lt;br /&gt;
&lt;br /&gt;
City of Sabang, Aceh Province [http://www.sabangkota.go.id/]&lt;br /&gt;
&lt;br /&gt;
City of Lhokseumawe, Aceh Province [http://www.lhokseumawekota.go.id/]&lt;br /&gt;
&lt;br /&gt;
City of Langsa, Aceh Province [http://langsakota.go.id/]&lt;br /&gt;
&lt;br /&gt;
Aceh Jaya Regency of Aceh Province [http://www.acehjayakab.go.id/]&lt;br /&gt;
&lt;br /&gt;
South Aceh Regency of Aceh Province [http://www.acehselatankab.go.id/]&lt;br /&gt;
&lt;br /&gt;
Pidie Jaya Regency of Aceh Province [http://www.pidiejayakab.go.id/]&lt;br /&gt;
&lt;br /&gt;
City of Binjai, North Sumatera Province [http://www.binjai.go.id/]&lt;br /&gt;
&lt;br /&gt;
Serdang Bedagai Regency of North Sumatera Province [http://serdangbedagaikab.go.id/]&lt;br /&gt;
&lt;br /&gt;
Karo Regency of North Sumatera Province [http://www.karokab.go.id/]&lt;br /&gt;
&lt;br /&gt;
Samosir Regency of North Sumatera Province [http://www.samosirkab.go.id/]&lt;br /&gt;
&lt;br /&gt;
Mandailing Natal Regency of North Sumatera Province [http://www.madina.go.id/]&lt;br /&gt;
&lt;br /&gt;
Central Tapanuli Regency of North Sumatera Province [http://www.tapteng.go.id/]&lt;br /&gt;
&lt;br /&gt;
Simalungun Regency of North Sumatera Province [http://www.simalungunkab.go.id/]&lt;br /&gt;
&lt;br /&gt;
City of Solok, West Sumatera Province [http://www.solokkota.go.id/]&lt;br /&gt;
&lt;br /&gt;
City of Padang Panjang, West Sumatera Province [http://www.padangpanjangkota.go.id/]&lt;br /&gt;
&lt;br /&gt;
City of Padang, West Sumatera Province [http://www.padang.go.id/]&lt;br /&gt;
&lt;br /&gt;
Dharmasraya Regency of West Sumatera Province [http://old.dharmasrayakab.go.id/]&lt;br /&gt;
&lt;br /&gt;
Pasaman Regency of West Sumatera Province [http://www.pasamankab.go.id/]&lt;br /&gt;
&lt;br /&gt;
West Pasaman Regency of West Sumatera Province [http://www.pasbarkab.go.id/]&lt;br /&gt;
&lt;br /&gt;
Tanah Datar Regency of West Sumatera Province [http://www.tanahdatar.go.id/]&lt;br /&gt;
&lt;br /&gt;
City of Jambi, Jambi Province [http://www.kotajambi.go.id/id/]&lt;br /&gt;
&lt;br /&gt;
Batanghari Regency of Jambi Province [http://www.batangharikab.go.id/]&lt;br /&gt;
&lt;br /&gt;
East Tanjung Jabung Regency of Jambi Province [http://www.tanjabtimkab.go.id/]&lt;br /&gt;
&lt;br /&gt;
City of Dumai, Riau Province [http://www.dumaikota.go.id/]&lt;br /&gt;
&lt;br /&gt;
Indragiri Hilir Regency of Riau Province [http://www.inhilkab.go.id/]&lt;br /&gt;
&lt;br /&gt;
Kampar Regency of Riau Province [http://www.kamparkab.go.id/]&lt;br /&gt;
&lt;br /&gt;
Regional House of Representatives, Rokan Hilir Regency of Riau Province [http://www.dprd-rohilkab.go.id/]&lt;br /&gt;
&lt;br /&gt;
Pemalang Regency of Central Java Province [http://www.pemalangkab.go.id/]&lt;br /&gt;
&lt;br /&gt;
Regional House of Representatives, Tulungagung Regency of East Java Province [http://www.dprd-tulungagungkab.go.id/]&lt;br /&gt;
&lt;br /&gt;
South Kalimantan Province [http://www.kalselprov.go.id]&lt;br /&gt;
&lt;br /&gt;
Gorontalo Province [http://www.gorontaloprov.go.id/]&lt;br /&gt;
&lt;br /&gt;
Sinjai Regency of South Sulawesi Province [http://sinjai.go.id/sinjai/]&lt;br /&gt;
&lt;br /&gt;
Aceh Syari&#039;ah Court [http://www.mahkamahsyariahaceh.go.id/]&lt;br /&gt;
&lt;br /&gt;
National Commission for Child Protection [http://www.kpai.go.id/]&lt;br /&gt;
&lt;br /&gt;
National Commission for Human Rights [http://www.komnasham.go.id/]&lt;br /&gt;
&lt;br /&gt;
Judicial Commission [http://www.komisiyudisial.go.id/]&lt;br /&gt;
&lt;br /&gt;
Office of Cooperatives and SME, East Java Province [http://www.diskopjatim.go.id/]&lt;br /&gt;
&lt;br /&gt;
Information &amp;amp; Documentation Officer, Office of Cooperatives and SME, East Java Province [http://www.ppid.diskopjatim.go.id/]&lt;br /&gt;
&lt;br /&gt;
Office of Labour, Transmigration &amp;amp; Population, East Java Province [http://disnakertransduk.jatimprov.go.id/]&lt;br /&gt;
&lt;br /&gt;
Zakat Infaq &amp;amp; Sadaqah Management Body, Jakarta Special Capitol Region Province [http://bazisdki.go.id/]&lt;br /&gt;
&lt;br /&gt;
Office of Natural Recources Conservation in Central Kalimantan, Ministry of Forestry [http://bksdakalteng.dephut.go.id/]&lt;br /&gt;
&lt;br /&gt;
= Iran =&lt;br /&gt;
&lt;br /&gt;
Ayatollah Ali Khamenei [http://arabic.khamenei.ir/]&lt;br /&gt;
&lt;br /&gt;
National Portal for Electronic Service of Iran (English) [http://en.iran.ir/]&lt;br /&gt;
&lt;br /&gt;
National Portal for Electronic Service of Iran  [http://www.iran.ir/]&lt;br /&gt;
&lt;br /&gt;
= Iraq =&lt;br /&gt;
&lt;br /&gt;
Baghdad Governorate [http://www.baghdad.gov.iq/en]&lt;br /&gt;
&lt;br /&gt;
Inspector General Office [http://www.igoil.gov.iq/]&lt;br /&gt;
&lt;br /&gt;
SOMO Oil Marketing Company [http://somooil.gov.iq/]&lt;br /&gt;
&lt;br /&gt;
= Ireland =&lt;br /&gt;
&lt;br /&gt;
Adoption Authority [http://www.aai.gov.ie/]&lt;br /&gt;
&lt;br /&gt;
Patient Safety First [http://www.patientsafetyfirst.gov.ie/]&lt;br /&gt;
&lt;br /&gt;
= Israel =&lt;br /&gt;
&lt;br /&gt;
Civil Aviation Authority [http://caa.gov.il]&lt;br /&gt;
&lt;br /&gt;
Ministry of Transport and Road safety [http://en.mot.gov.il]&lt;br /&gt;
&lt;br /&gt;
Shipping and Ports Authority [http://spa.mot.gov.il/]&lt;br /&gt;
&lt;br /&gt;
= Italy =&lt;br /&gt;
&lt;br /&gt;
City of Capoterra [http://www.comune.capoterra.ca.it]&lt;br /&gt;
&lt;br /&gt;
Ministry of Economic Development [http://www.sviluppoeconomico.gov.it]&lt;br /&gt;
&lt;br /&gt;
Directorate-General for Anti-Counterfeiting Italian Patent and Trademark Office [http://www.uibm.gov.it]&lt;br /&gt;
&lt;br /&gt;
Minister for the Equal Opportunities [http://www.pariopportunita.gov.it]&lt;br /&gt;
&lt;br /&gt;
Regione Calabria [http://www.regione.calabria.it/]&lt;br /&gt;
&lt;br /&gt;
Unioncamere [http://www.unioncamere.gov.it]&lt;br /&gt;
&lt;br /&gt;
= Japan =&lt;br /&gt;
Kofu City Official Web Site [http://www.city.kofu.yamanashi.jp/]&lt;br /&gt;
&lt;br /&gt;
= Jamaica =&lt;br /&gt;
&lt;br /&gt;
Houses of Parliament [http://www.japarliament.gov.jm/]&lt;br /&gt;
&lt;br /&gt;
= Jordan =&lt;br /&gt;
&lt;br /&gt;
Jordan Enterprise Development Corporation [http://www.jedco.gov.jo/]&lt;br /&gt;
&lt;br /&gt;
Ministry of the Interior General Directorate Of Gendarmerie [http://www.jdf.gov.jo/]&lt;br /&gt;
&lt;br /&gt;
Jordan Aid Information Managment System [http://www.mopic-jaims.gov.jo/]&lt;br /&gt;
&lt;br /&gt;
Jordan Deposit Insurance Corporation [http://www.dic.gov.jo/]&lt;br /&gt;
&lt;br /&gt;
Telecommunication Regulatory Commission [http://www.trc.gov.jo/]&lt;br /&gt;
&lt;br /&gt;
Tourism Police Department [http://www.tourist-police.psd.gov.jo/]&lt;br /&gt;
&lt;br /&gt;
National Resources Authority [http://www.nra.gov.jo/]&lt;br /&gt;
&lt;br /&gt;
= Kazakhstan =&lt;br /&gt;
&lt;br /&gt;
Ministry of Agriculture [http://www.minagri.gov.kz/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Defence [http://mod.gov.kz/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Communication and Information [http://mci.gov.kz/]&lt;br /&gt;
&lt;br /&gt;
Agency of Construction, Housing and Utilities [http://www.ads.gov.kz/]&lt;br /&gt;
&lt;br /&gt;
= Kenya =&lt;br /&gt;
&lt;br /&gt;
Office of the President [http://www.cabinetoffice.go.ke/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.mfa.go.ke/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Justice &amp;amp; Constitutional Affairs [http://www.justice.go.ke/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Livestock Development [http://www.livestock.go.ke/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Public Works [http://www.publicworks.go.ke/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Labour [http://www.labour.go.ke/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Industrialisation [http://www.industrialization.go.ke/]&lt;br /&gt;
&lt;br /&gt;
Directorate of e-Government [http://www.e-government.go.ke/]&lt;br /&gt;
&lt;br /&gt;
National Council for Science and Technology [http://www.ncst.go.ke/]&lt;br /&gt;
&lt;br /&gt;
Kenya OCT Bosrd [http://www.ict.go.ke/]&lt;br /&gt;
&lt;br /&gt;
National Environment Managment Authority [http://www.nema.go.ke/]&lt;br /&gt;
&lt;br /&gt;
National Disaster Operations Centre  [http://www.nationaldisaster.go.ke/]&lt;br /&gt;
&lt;br /&gt;
Insurance Regulatory Authority [http://www.ira.go.ke/]&lt;br /&gt;
&lt;br /&gt;
City Council of Nairobi [http://www.nairobicity.go.ke/]&lt;br /&gt;
&lt;br /&gt;
Municipal Council of Nyahururu[http://www.nyahururumunicipal.go.ke/]&lt;br /&gt;
&lt;br /&gt;
Karibu Town Council of Ukwala [http://www.ukwalatown.go.ke/]&lt;br /&gt;
&lt;br /&gt;
= Kiribati =&lt;br /&gt;
&lt;br /&gt;
Ministry of Labour Human Resource Development [http://www.labour.gov.ki]&lt;br /&gt;
&lt;br /&gt;
Kiribati National Tourism Organisation [http://www.kiribatitourism.gov.ki]&lt;br /&gt;
&lt;br /&gt;
Public Service Office [http://www.pso.gov.ki]&lt;br /&gt;
&lt;br /&gt;
National Audit Office [http://knao.gov.ki/]&lt;br /&gt;
&lt;br /&gt;
Telecommunications Authority [http://www.tak.gov.ki/]&lt;br /&gt;
&lt;br /&gt;
Kiribati Adaptation Project [http://www.kap.gov.ki/]&lt;br /&gt;
&lt;br /&gt;
= Kosovo =&lt;br /&gt;
&lt;br /&gt;
Ministry of Public Administration [http://esk.rks-gov.net/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Kuwait =&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.mofa.gov.kw]&lt;br /&gt;
&lt;br /&gt;
= Kyrgyzstan =&lt;br /&gt;
&lt;br /&gt;
Government of Kyrgyzstan  [http://www.gov.kg/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Transport and Communications [http://www.mtk.gov.kg/]&lt;br /&gt;
&lt;br /&gt;
National Library [http://nlkr.gov.kg/]&lt;br /&gt;
&lt;br /&gt;
= Laos= &lt;br /&gt;
&lt;br /&gt;
Luang Prabang Province [http://luangprabang.gov.la/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Agriculture [http://www.maf.gov.la/index.php]&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://www.moe.gov.la/index.php]&lt;br /&gt;
&lt;br /&gt;
Ministry of Energy and Mines [http://www.mem.gov.la/index.php]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health [http://www.moh.gov.la]&lt;br /&gt;
&lt;br /&gt;
National Authority of Science and Technology [http://nast.gov.la]&lt;br /&gt;
&lt;br /&gt;
National Authority of Post and Telecommunications [http://www.napt.gov.la/]&lt;br /&gt;
&lt;br /&gt;
Statistics Bureau [http://www.nsc.gov.la/]&lt;br /&gt;
&lt;br /&gt;
= Latvia =&lt;br /&gt;
&lt;br /&gt;
Main Government website [http://www.li.lv/]&lt;br /&gt;
&lt;br /&gt;
Cultural Education and Intangible Heritage Centre [http://www.knmc.gov.lv/]&lt;br /&gt;
&lt;br /&gt;
State Agency of Intangible Cultural Heritage [http://www.nkmva.gov.lv/en/]&lt;br /&gt;
&lt;br /&gt;
School of Public Administration [http://www.vas.gov.lv/]&lt;br /&gt;
&lt;br /&gt;
= Lebanon =&lt;br /&gt;
&lt;br /&gt;
Municipality of Zgharta [http://www.zgharta.gov.lb/]&lt;br /&gt;
&lt;br /&gt;
Central Administration of Statistics [http://cas.gov.lb/]&lt;br /&gt;
&lt;br /&gt;
= Lesotho =&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://www.education.gov.ls]&lt;br /&gt;
&lt;br /&gt;
Ministry of Natural Resources [http://www.mines.gov.ls/]&lt;br /&gt;
&lt;br /&gt;
= Liberia =&lt;br /&gt;
&lt;br /&gt;
Anti-Corruption Commission [http://www.lacc.gov.lr/]&lt;br /&gt;
&lt;br /&gt;
Judiciary [www.judiciary.gov.lr]&lt;br /&gt;
&lt;br /&gt;
Ministry of Planning and Economic Affairs [http://nao.mopea.gov.lr/]&lt;br /&gt;
&lt;br /&gt;
= Libya =&lt;br /&gt;
&lt;br /&gt;
Several Government ministry web sites are reported by google as being Joomla but the entire internet for Libya seems to be out of reach at the moment&lt;br /&gt;
&lt;br /&gt;
= Liechtenstein =&lt;br /&gt;
&lt;br /&gt;
Government Institution Vaduz, Government of Liechtenstein [http://www.ausgewogen2015.li/]&lt;br /&gt;
&lt;br /&gt;
= Lithuania =&lt;br /&gt;
&lt;br /&gt;
State Property Fund [http://www.vtf.lt/]&lt;br /&gt;
&lt;br /&gt;
Lithuanian Business Employers&#039; Confederation [http://www.svv.lt/]&lt;br /&gt;
&lt;br /&gt;
Certification Center of Building Products [http://www.spsc.lt/]&lt;br /&gt;
&lt;br /&gt;
Government Project &amp;quot;Lithuania 2030&amp;quot; [http://www.lietuva2030.lt/]&lt;br /&gt;
&lt;br /&gt;
= Luxembourg =&lt;br /&gt;
&lt;br /&gt;
Youth [http://www.youth.lu]&lt;br /&gt;
&lt;br /&gt;
= Macau =&lt;br /&gt;
&lt;br /&gt;
Macau Government Tourist Office  [http://www.macautourism.gov.mo/]&lt;br /&gt;
&lt;br /&gt;
Unitary Police Service [http://www.spu.gov.mo/]&lt;br /&gt;
&lt;br /&gt;
Office for Preparation of Macau&#039;s Participation in World Expo Shanghai [http://www.2010expomacao.gov.mo/]&lt;br /&gt;
&lt;br /&gt;
= Madagascar =&lt;br /&gt;
&lt;br /&gt;
Le Conseli Supérieur de la Transition [http://www.senat.gov.mg/]&lt;br /&gt;
&lt;br /&gt;
Ministère des Finances et du Budget [http://www.mfb.gov.mg/]&lt;br /&gt;
&lt;br /&gt;
Ministère de L&#039;Energie et des Mines [http://www.mines.gov.mg/]&lt;br /&gt;
&lt;br /&gt;
Ministère de L&#039;Environnement et des Forêts [http://www.meeft.gov.mg/]&lt;br /&gt;
&lt;br /&gt;
Ministère de la Sécurité Intérieure [http://www.policenationale.gov.mg/]&lt;br /&gt;
&lt;br /&gt;
Ministère des Forces Armees [http://www.defense.gov.mg/]&lt;br /&gt;
&lt;br /&gt;
Ministère de l&#039;Agriculture [http://www.agriculture.gov.mg/]&lt;br /&gt;
&lt;br /&gt;
Ministère de la Population et des Affaires Sociales [http://www.population.gov.mg/]&lt;br /&gt;
&lt;br /&gt;
High Constitutional Court [http://www.hcc.gov.mg/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Malawi =&lt;br /&gt;
&lt;br /&gt;
Official Site of the Malawi Government [http://www.malawi.gov.mw/]&lt;br /&gt;
&lt;br /&gt;
Financial Intelligence Unit [http://www.fiumalawi.gov.mw/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Finance [http://www.finance.gov.mw/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.foreignaffairs.gov.mw/]&lt;br /&gt;
&lt;br /&gt;
Office of the Director of Public Procurement [http://www.odpp.gov.mw/]&lt;br /&gt;
&lt;br /&gt;
= Malaysia =&lt;br /&gt;
&lt;br /&gt;
Department of Syariah Judiciary Malaysia [http://www.jksm.gov.my/]&lt;br /&gt;
&lt;br /&gt;
Malaysian Medical Council [http://www.mmc.gov.my/v1/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Human Resources, Malaysia [http://www.mohr.gov.my/]&lt;br /&gt;
&lt;br /&gt;
Pahang Library [http://web.pahanglibrary.gov.my/]&lt;br /&gt;
&lt;br /&gt;
Penang Development Corporation [http://pdc.gov.my/]&lt;br /&gt;
&lt;br /&gt;
Public Sector ICT Security [http://www.ictsecurity.gov.my/index.php]&lt;br /&gt;
&lt;br /&gt;
Veterinary Services Department, Perak [http://www.jpvpk.gov.my/]&lt;br /&gt;
&lt;br /&gt;
= Maldives =&lt;br /&gt;
&lt;br /&gt;
Department of National Planning [http://planning.gov.mv/]&lt;br /&gt;
&lt;br /&gt;
Environment Protection Agency [http://epa.gov.mv/]&lt;br /&gt;
&lt;br /&gt;
Maldives Pension Administration Office [http://pension.gov.mv/]&lt;br /&gt;
&lt;br /&gt;
= Mali =&lt;br /&gt;
&lt;br /&gt;
Primature [http://www.primature.gov.ml/]&lt;br /&gt;
&lt;br /&gt;
Ministère de l&#039;Economie et des Finances [http://www.finances.gov.ml/]&lt;br /&gt;
&lt;br /&gt;
Direction Générale des Marchés Public et des Délegations de Service Public [http://www.dgmp.gov.ml/]&lt;br /&gt;
&lt;br /&gt;
Direction Nationale des Domaines et du Cadastre [http://www.dndc.gov.ml/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health [http://www.sante.gov.ml/]&lt;br /&gt;
&lt;br /&gt;
entre Nationale de Traitement des Informations Financières [http://www.centif.gov.ml/]&lt;br /&gt;
&lt;br /&gt;
= Malta =&lt;br /&gt;
&lt;br /&gt;
Eco-Gozo [http://www.eco-gozo.gov.mt/]&lt;br /&gt;
&lt;br /&gt;
= Mauritius =&lt;br /&gt;
&lt;br /&gt;
Black River District Council [http://brdc.mu]&lt;br /&gt;
&lt;br /&gt;
Municipal Council of Quatre Borne [http://qb.mu/]&lt;br /&gt;
&lt;br /&gt;
Mauritius Tourism Promotion Authority [http://www.tourism-mauritius.mu/]&lt;br /&gt;
&lt;br /&gt;
Pamplemousses-Rivière du Rempart District Council [http://prdc.mu/]&lt;br /&gt;
&lt;br /&gt;
= Mauritania =&lt;br /&gt;
&lt;br /&gt;
National Agency of Civil Aviation [http://anac.mr]&lt;br /&gt;
&lt;br /&gt;
= Mexico = &lt;br /&gt;
&lt;br /&gt;
Bicentenary Celebrations [http://www.bicentenario.gob.mx]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.sre.gob.mx]&lt;br /&gt;
&lt;br /&gt;
National Fund for the Promotion of the Crafts [http://www.fonart.gob.mx]&lt;br /&gt;
&lt;br /&gt;
= Micronesia =&lt;br /&gt;
&lt;br /&gt;
Department of Resources and Development - Federated States of Micronesia [http://www.fsmrd.fm/]&lt;br /&gt;
&lt;br /&gt;
= Moldova =&lt;br /&gt;
&lt;br /&gt;
Academy of Public Administration [http://aap.gov.md/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Transport [http://www.mtid.gov.md/]&lt;br /&gt;
&lt;br /&gt;
= Mongolia =&lt;br /&gt;
&lt;br /&gt;
Ministry of Nature, Environment and Tourism [http://www.mne.mn/mn]&lt;br /&gt;
&lt;br /&gt;
Altanbulag Free Trade and Economic Zone [http://www.altanbulag.gov.mn]&lt;br /&gt;
&lt;br /&gt;
= Montenegro =&lt;br /&gt;
&lt;br /&gt;
Institute for the Education of Montenegro [http://www.zavodzaskolstvo.gov.me/]&lt;br /&gt;
&lt;br /&gt;
= Montserrat =&lt;br /&gt;
&lt;br /&gt;
Government Information Unit [http://giu.gov.ms]&lt;br /&gt;
&lt;br /&gt;
= Morocco =&lt;br /&gt;
&lt;br /&gt;
Regional African Centre of Science, Technology and Space [http://www.enssup.gov.ma/craste/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://www.dfc.gov.ma/dfc/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Culture [http://www.minculture.gov.ma/]&lt;br /&gt;
&lt;br /&gt;
Center for Training in ICT for Education  [http://cnipe.men.gov.ma/cmcf-tice/]&lt;br /&gt;
&lt;br /&gt;
= Mozambique =&lt;br /&gt;
&lt;br /&gt;
Tax Authority [http://www.at.gov.mz]&lt;br /&gt;
&lt;br /&gt;
Ministry of National Defence [http://www.mdn.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs and Cooperation [http://www.minec.gov.mz]&lt;br /&gt;
&lt;br /&gt;
Ministry of Fisheries [http://www.mozpesca.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Mineral Resources [http://www.mirem.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Planning and Development [http://www.mpd.gov.mz]&lt;br /&gt;
&lt;br /&gt;
Ministry of Transport and Communication [http://www.mtc.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Women and Social Work [http://www.mmas.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
Special Economic Zones Office [http://www.gazeda.gov.mz]&lt;br /&gt;
&lt;br /&gt;
Environmental Law [http://www.legisambiente.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
Institute for the Promotion of Exports [http://www.ipex.gov.mz]&lt;br /&gt;
&lt;br /&gt;
Institute for Agricultural Research [http://www.iiam.gov.mz]&lt;br /&gt;
&lt;br /&gt;
Institute for the Promotion of Small and Medium Enterprises [http://www.ipeme.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
Institute &lt;br /&gt;
&lt;br /&gt;
Centre for Promotion of Agriculture [http://www.cepagri.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
Made in Mozambique [http://www.madeinmozambique.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
State National Archives [http://www.cedimo.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
Judiciary Portal [http://www.portaldojudiciario.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
National Press [http://www.imprensanac.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
Conservation Areas [http://www.actf.gov.mz/index/]&lt;br /&gt;
&lt;br /&gt;
Clean Development Mechanism [http://www.mdl.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
National Institute for Aquaculture Development [http://www.inaqua.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
National Institute of Social Action [http://www.inas.gov.mz/&lt;br /&gt;
&lt;br /&gt;
National Institute for Mine Clearance [http://www.ind.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
National Park of Quirimbas [http://www.quirimbas.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
Attorney General&#039;s Office [http://www.pgr.gov.mz/]&lt;br /&gt;
&lt;br /&gt;
= Myanmar =&lt;br /&gt;
&lt;br /&gt;
Department of Meteorology and Hydrology [http://www.dmh.gov.mm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Science and Technology [http://www.most.gov.mm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Rail Transportation [http://www.mrt.gov.mm/]&lt;br /&gt;
&lt;br /&gt;
Myanma Port Authority [http://www.mpa.gov.mm/]&lt;br /&gt;
&lt;br /&gt;
= Namibia =&lt;br /&gt;
&lt;br /&gt;
Social Security Commission [http://www.ssc.org.na/]&lt;br /&gt;
&lt;br /&gt;
= Nepal =&lt;br /&gt;
&lt;br /&gt;
Alternative Energy Promotion Center [http://www.aepc.gov.np]&lt;br /&gt;
&lt;br /&gt;
Ministry of Science and Technology [http://www.moest.gov.np]&lt;br /&gt;
&lt;br /&gt;
National Population and Housing Census [http://www.census.gov.np]&lt;br /&gt;
&lt;br /&gt;
Department of Mines and Geology [http://www.dmgnepal.gov.np]&lt;br /&gt;
&lt;br /&gt;
Office of the Attorney General [http://www.attorneygeneral.gov.np]&lt;br /&gt;
&lt;br /&gt;
Postal Services [http://www.nepalpost.gov.np]&lt;br /&gt;
&lt;br /&gt;
Nepal Police Hospital [http://nph.nepalpolice.gov.np]&lt;br /&gt;
&lt;br /&gt;
Nepal Police [http://nepalpolice.gov.np]&lt;br /&gt;
&lt;br /&gt;
Department of Forests [http://www.dof.gov.np]&lt;br /&gt;
&lt;br /&gt;
National Police Academy [http://npa.nepalpolice.gov.np]&lt;br /&gt;
&lt;br /&gt;
Ministry of Environment, Department of Hydrology and Meteorology [http://www.hydrology.gov.np]&lt;br /&gt;
&lt;br /&gt;
National Foundation for Development of Indigenous Nationalities [http://www.nfdin.gov.np]&lt;br /&gt;
&lt;br /&gt;
Ministry of Science and Technology [http://www.most.gov.np]&lt;br /&gt;
&lt;br /&gt;
Nepal Water Supply Corporation [http://www.nwsc.gov.np]&lt;br /&gt;
&lt;br /&gt;
National Information Technology Center [http://nitc.gov.np]&lt;br /&gt;
&lt;br /&gt;
Nepal Engineering Council [http://www.nec.gov.np]&lt;br /&gt;
&lt;br /&gt;
Copyright Registrar&#039;s Office [http://www.nepalcopyright.gov.np]&lt;br /&gt;
&lt;br /&gt;
Ministry of Education, Department of Education, Sindhupalchok District Office [http://www.deosipa.gov.np]&lt;br /&gt;
&lt;br /&gt;
Law Commission [http://www.lawcommission.gov.np]&lt;br /&gt;
&lt;br /&gt;
= Netherlands =&lt;br /&gt;
&lt;br /&gt;
De Sociale Inlichtingen [http://www.siod.nl/]&lt;br /&gt;
&lt;br /&gt;
e-overheid [http://www.prod.joomla.ictu.asp4all.nl/]&lt;br /&gt;
&lt;br /&gt;
Stichting ICTU [http://www.ictu.nl/] &lt;br /&gt;
&lt;br /&gt;
Patent Office [http://www.octrooicentrum.nl/]&lt;br /&gt;
&lt;br /&gt;
Essentieprogramma [http://www.ambtenaar10.nl]&lt;br /&gt;
Ministerie van Binnenlandse Zaken en Koninkrijksrelaties&lt;br /&gt;
&lt;br /&gt;
Regio Twente [http://www.regiotwente.nl/]&lt;br /&gt;
Samenwerkingsverband van de veertien Twentse gemeenten&lt;br /&gt;
&lt;br /&gt;
Skillsmasters [http://www.skillsmasters.nl]&lt;br /&gt;
Provincie Zuid-Holland&lt;br /&gt;
&lt;br /&gt;
Stichting Provinciale Atlas [http://www.provincialeatlas-nh.nl]&lt;br /&gt;
Provincie Noord-Holland in samenwerking met het Rijksarchief in Noord-Holland&lt;br /&gt;
&lt;br /&gt;
FriesArchiefNet [http://www.friesarchiefnet.nl/]&lt;br /&gt;
Provincie Fryslân, de Friese waterschappen en gemeenten en de drie archiefdiensten in de provincie&lt;br /&gt;
&lt;br /&gt;
= New Zealand =&lt;br /&gt;
&lt;br /&gt;
Matamata-Piako District [http://www.mpdc.govt.nz/home.html]&lt;br /&gt;
&lt;br /&gt;
Rangitikei District Council [http://www.rangdc.govt.nz/]&lt;br /&gt;
&lt;br /&gt;
Timaru District Council [http://www.timaru.govt.nz/]&lt;br /&gt;
&lt;br /&gt;
South Waikato District Council [http://www.southwaikato.govt.nz/]&lt;br /&gt;
&lt;br /&gt;
Buller District Council [http://www.bullerdc.govt.nz/]&lt;br /&gt;
&lt;br /&gt;
= Nicaragua =&lt;br /&gt;
&lt;br /&gt;
Presidencia [http://www.presidencia.gob.ni/]&lt;br /&gt;
&lt;br /&gt;
National Assembly [http://www.asamblea.gob.ni/]&lt;br /&gt;
&lt;br /&gt;
Supreme Electoral Council [http://www.cse.gob.ni/]&lt;br /&gt;
&lt;br /&gt;
Ministry of the Environment [http://marena.gob.ni/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://oaip.cancilleria.gob.ni/]&lt;br /&gt;
&lt;br /&gt;
Institute of Territorial Studies [http://www.ineter.gob.ni/]&lt;br /&gt;
&lt;br /&gt;
Commission National Free Zones [http://www.cnzf.gob.ni/]&lt;br /&gt;
&lt;br /&gt;
= Niger =&lt;br /&gt;
&lt;br /&gt;
President [http://www.presidence.ne]&lt;br /&gt;
&lt;br /&gt;
National Portal [http://www.gouv-niger.ne/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Secondary and Higher Education and Scientific Research [http://www.messrs.ne/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Communication, New Technology and Culture [http://www.mcntic.ne/]&lt;br /&gt;
&lt;br /&gt;
Office of Broadcast Television [http://www.ortn.ne/]&lt;br /&gt;
&lt;br /&gt;
= Nigeria =&lt;br /&gt;
&lt;br /&gt;
Corporate Affairs Commission [http://www.cac.gov.ng/]&lt;br /&gt;
&lt;br /&gt;
Cross River State Government [http://www.crossriverstate.gov.ng/]&lt;br /&gt;
&lt;br /&gt;
Education Trust Fund [http://www.etf.gov.ng/]&lt;br /&gt;
&lt;br /&gt;
Federal Capital Territory Administration  [http://www.fct.gov.ng/]&lt;br /&gt;
&lt;br /&gt;
National Agency for the Prohibition of Traffic in Persons [http://www.naptip.gov.ng/]&lt;br /&gt;
&lt;br /&gt;
National Pension Commission [http://www.pencom.gov.ng/]&lt;br /&gt;
&lt;br /&gt;
Nigerian financial Intelligence Unit [http://www.nfiu.gov.ng/]&lt;br /&gt;
&lt;br /&gt;
Petroleum Technology Development Fund [http://www.ptdf.gov.ng/]&lt;br /&gt;
&lt;br /&gt;
River State [http://www.riversstate.gov.ng/]&lt;br /&gt;
&lt;br /&gt;
= Northern Mariana Islands =&lt;br /&gt;
&lt;br /&gt;
Department of Public Saftey [http://www.dps.gov.mp/]&lt;br /&gt;
&lt;br /&gt;
Homeland Security [http://www.cnmihomelandsecurity.gov.mp/]&lt;br /&gt;
&lt;br /&gt;
= Norway =&lt;br /&gt;
&lt;br /&gt;
Ålesund kommune [http://alesund.kommune.no/]&lt;br /&gt;
&lt;br /&gt;
Andøy kommune [http://www.andoy.kommune.no/]&lt;br /&gt;
&lt;br /&gt;
Evenes kommune [http://www.evenes.kommune.no/]&lt;br /&gt;
&lt;br /&gt;
Gildeskål kommune [https://gildeskal.kommune.no/]&lt;br /&gt;
&lt;br /&gt;
Grue kommune [http://www.grue.kommune.no/]&lt;br /&gt;
&lt;br /&gt;
Hadsel kommune [http://www.hadsel.kommune.no/]&lt;br /&gt;
&lt;br /&gt;
Hurum kommune [http://www.hurum.kommune.no/]&lt;br /&gt;
&lt;br /&gt;
Kvæfjord kommune [http://www.kvafjord.kommune.no/]&lt;br /&gt;
&lt;br /&gt;
Nesna kommune [http://www.nesna.kommune.no/]&lt;br /&gt;
&lt;br /&gt;
Skånland kommune [http://www.skanland.kommune.no/]&lt;br /&gt;
&lt;br /&gt;
Statens Dataforum [http://www.statens-dataforum.no/]&lt;br /&gt;
&lt;br /&gt;
Sør-Odal kommune [http://www.sor-odal.kommune.no/]&lt;br /&gt;
&lt;br /&gt;
Tjeldsund kommune [http://www.tjeldsund.kommune.no/]&lt;br /&gt;
&lt;br /&gt;
Vestvågøy kommune [http://www.vestvagoy.kommune.no/]&lt;br /&gt;
&lt;br /&gt;
Øksnes kommune [http://oksnes.kommune.no/]&lt;br /&gt;
&lt;br /&gt;
= Oman =&lt;br /&gt;
&lt;br /&gt;
Higher Education Admissions Centre [http://www.heac.gov.om/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Higher Education Graduate Survery System [http://www.ogss.gov.om/]&lt;br /&gt;
&lt;br /&gt;
= Pakistan =&lt;br /&gt;
&lt;br /&gt;
National Highway Authority [http://www.nha.gov.pk/]&lt;br /&gt;
&lt;br /&gt;
National Commission for Human Development [http://www.nchd.gov.pk/]&lt;br /&gt;
&lt;br /&gt;
Pakistan Telecommunications Agency [http://www.pta.gov.pk/]&lt;br /&gt;
&lt;br /&gt;
Electronic Media Regulatory Authority [http://www.pemra.gov.pk/]&lt;br /&gt;
&lt;br /&gt;
National Database &amp;amp; Registration Authority [http://www.nadra.gov.pk/]&lt;br /&gt;
&lt;br /&gt;
Competition Commission [http://www.cc.gov.pk/]&lt;br /&gt;
&lt;br /&gt;
District Government Sukkur [http://www.sukkur.gov.pk/]&lt;br /&gt;
&lt;br /&gt;
Air Force Air War College [http://www.pafawc.gov.pk/]&lt;br /&gt;
&lt;br /&gt;
Federally Administered Tribal Areas [http://fata.gov.pk/]&lt;br /&gt;
&lt;br /&gt;
Government of Balochistan [http://www.balochistan.gov.pk/]&lt;br /&gt;
&lt;br /&gt;
Pakistan Academy of Letters [http://www.pal.gov.pk/]&lt;br /&gt;
&lt;br /&gt;
Higher Education Job Portal [http://hjp.hec.gov.pk/]&lt;br /&gt;
&lt;br /&gt;
Disaster Management Authority [http://www.fdma.gov.pk/]&lt;br /&gt;
&lt;br /&gt;
Iqbal Acadamey [http://www.iap.gov.pk/]&lt;br /&gt;
&lt;br /&gt;
= Palau =&lt;br /&gt;
&lt;br /&gt;
Ministry of Health [http://www.palau-health.net/]&lt;br /&gt;
&lt;br /&gt;
Palau International Coral Reef Center [http://picrc.org/]&lt;br /&gt;
&lt;br /&gt;
= Palestinian territories =&lt;br /&gt;
&lt;br /&gt;
The Governmental Committee for breaking the siege [http://www.gcbs.gov.ps/en]&lt;br /&gt;
&lt;br /&gt;
Council of Ministers [http://www.pmo.gov.ps/]&lt;br /&gt;
&lt;br /&gt;
Financial and Administrative Control Bureau [http://www.facb.gov.ps/]&lt;br /&gt;
&lt;br /&gt;
Judicial Authority [http://www.ljc.gov.ps/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Agriculture [http://www.moa.gov.ps/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Detainee&#039;s Affairs [http://www.mod.gov.ps/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Social Affairs [http://www.mosa.gov.ps/ar/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Youth and Sport [http://www.mys.gov.ps/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Interior and National Security [http://www.gca.gov.ps/new/]&lt;br /&gt;
&lt;br /&gt;
National Institute for Training [http://www.niet.gov.ps/portal/]&lt;br /&gt;
&lt;br /&gt;
Military Judicial Staff [http://www.tmj.gov.ps/]&lt;br /&gt;
&lt;br /&gt;
High Council of Judicial [http://www.hjc.gov.ps/]&lt;br /&gt;
&lt;br /&gt;
Security and Protection [http://www.spf.gov.ps/]&lt;br /&gt;
&lt;br /&gt;
Government Computer Centre [http://www.spf.gov.ps/]&lt;br /&gt;
&lt;br /&gt;
Integration of Government Data [http://www.takamul.gov.ps/]&lt;br /&gt;
&lt;br /&gt;
National Security Forces [http://www.nsf.gov.ps/ar/]&lt;br /&gt;
&lt;br /&gt;
Fatwa and Legislation Office [http://www.dft.gov.ps/]&lt;br /&gt;
&lt;br /&gt;
Energy and National Resources Authority [http://penra.gov.ps/]&lt;br /&gt;
&lt;br /&gt;
Political and Moral Guidance Commision [http://www.gca.gov.ps/new/]&lt;br /&gt;
&lt;br /&gt;
Attorney General [http://www.gp.gov.ps/]&lt;br /&gt;
&lt;br /&gt;
= Panama =&lt;br /&gt;
&lt;br /&gt;
Civil Aeronautics Authority [http://www.aeronautica.gob.pa]&lt;br /&gt;
&lt;br /&gt;
Agricultural Research Institute [http://www.idiap.gob.pa/]&lt;br /&gt;
&lt;br /&gt;
Film Commission [http://pfc.mici.gob.pa]&lt;br /&gt;
&lt;br /&gt;
Trade and Investment Agency [http://proinvex.mici.gob.pa]&lt;br /&gt;
&lt;br /&gt;
Financial Analysis Unit for the Prevention of Money Laundering and Terrorist Financing [http://www.uaf.gob.pa]&lt;br /&gt;
&lt;br /&gt;
Municipality of Santiago Veraguas [http://www.municipiosantiago.gob.pa/]&lt;br /&gt;
&lt;br /&gt;
Municipality of  Buguba [http://www.municipiobugaba.gob.pa/]&lt;br /&gt;
&lt;br /&gt;
Municipality of Penonome [http://www.municipiopenonome.gob.pa/]&lt;br /&gt;
&lt;br /&gt;
Municipality of David [http://www.municipiodavid.gob.pa/]&lt;br /&gt;
&lt;br /&gt;
Capital Savings and Pension of Public Servants [http://www.siacap.gob.pa/]&lt;br /&gt;
&lt;br /&gt;
= Papua New Guinea = &lt;br /&gt;
&lt;br /&gt;
Bank of Papua New Guinea [http://www.bankpng.gov.pg/]&lt;br /&gt;
&lt;br /&gt;
Investment Promotion Authority [http://www.ipa.gov.pg/]&lt;br /&gt;
&lt;br /&gt;
National Disaster Centre [http://www.pngndc.gov.pg/]&lt;br /&gt;
&lt;br /&gt;
Department of Environment and Conservation [http://www.dec.gov.pg/]&lt;br /&gt;
&lt;br /&gt;
Office of Higher Education [http://www.ohe.gov.pg/]&lt;br /&gt;
&lt;br /&gt;
= Paraguay = &lt;br /&gt;
&lt;br /&gt;
Inter-organization Cooperation [http://www.opaci.org.py/]&lt;br /&gt;
&lt;br /&gt;
Central Bank of Paraguay [http://www.bcp.gov.py/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Mines and Energy [http://www.ssme.gov.py]&lt;br /&gt;
&lt;br /&gt;
General Children&#039;s Hospital [http://www.hgp.gov.py/]&lt;br /&gt;
&lt;br /&gt;
National Civil Aeronautics [http://www.dinac.gov.py/]&lt;br /&gt;
&lt;br /&gt;
= Perú =&lt;br /&gt;
&lt;br /&gt;
Ministerio de la Producción de Perú [http://www.miempresa.gob.pe/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad distrital de Munihuarochiri [http://www.munihuarochiri.gob.pe/portal/]&lt;br /&gt;
&lt;br /&gt;
Dirección de salud de Lima: [http://www.disavlc.gob.pe/portal/]&lt;br /&gt;
&lt;br /&gt;
Banco Central de la Reserva de Perú: [http://www.bcrp.gob.pe]&lt;br /&gt;
&lt;br /&gt;
Ministerio de Cultura [http://www.agn.gob.pe/portal/]&lt;br /&gt;
&lt;br /&gt;
Instituto Nacional Telecomunicaciones [http://www.inictel-uni.edu.pe/]&lt;br /&gt;
&lt;br /&gt;
Gobierno Regional de Moquegua [http://www.regionmoquegua.gob.pe/website/]&lt;br /&gt;
&lt;br /&gt;
Gobierno Municipal de Puno [http://www.munipuno.gob.pe/muni2/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad Provincial Hualgayoc - Bambamarca [http://www.munibambamarca.gob.pe/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad Provincial de Pasco [http://www.munipasco.gob.pe/111/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad Provincial Yunguyo [http://www.muniyunguyo.gob.pe/portal/index.php]&lt;br /&gt;
&lt;br /&gt;
Municipalidad de Simón Bolivar [http://www.munisimonbolivar.gob.pe/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad Distrital de Paucarpata [http://www.munipaucarpata.gob.pe/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad Distrital de Punta Negra [http://www.munipuntanegra.gob.pe/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad Distrital de Víctor Larco Herrera [http://www.munivictorlarco.gob.pe/joomlavictorlarco/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad Distrital de Paucartambo [http://www.munipaucartambopasco.gob.pe/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad Provincial de Canas [http://www.municanas.gob.pe/]&lt;br /&gt;
&lt;br /&gt;
Programa de Compensación para la Competitividad [http://www.pcc.gob.pe]&lt;br /&gt;
&lt;br /&gt;
Dirección Regional de Salud Pasco [http://www.diresapasco.gob.pe/]&lt;br /&gt;
&lt;br /&gt;
Municipalidad Distrital de Colan [http://www.municolan.gob.pe/]&lt;br /&gt;
&lt;br /&gt;
Dirección Regioan de Educación de Pasco [http://www.drepasco.gob.pe/]&lt;br /&gt;
&lt;br /&gt;
= Philippines =&lt;br /&gt;
&lt;br /&gt;
Cordillera, Regional Development [http://cordillera.gov.ph/]&lt;br /&gt;
&lt;br /&gt;
Lapu-Lapu City [http://www.lapulapucity.gov.ph/]&lt;br /&gt;
&lt;br /&gt;
Tupi, South Cotabato [http://www.tupi.gov.ph/]&lt;br /&gt;
&lt;br /&gt;
PDEA - Philippine Drug Enforcement Agency [http://www.pdea.gov.ph]&lt;br /&gt;
&lt;br /&gt;
= Poland=&lt;br /&gt;
&lt;br /&gt;
Agencja Rynku Rolnego / Agricultural Market Agency  [http://www.arr.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Agricultural Advisory Centre in Brwinów [http://cdr.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Civil Aviation Office [http://www.ulc.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Communal Office Sztabin [http://www.sztabin.ug.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Consumer Information Centre [http://www.cik.uke.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
I Congress of Agriculture Sciences &amp;quot;Science for Practice&amp;quot; [http://kongres.cdr.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
District Court in Białystok [http://www.bialystok.sr.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
District Court in Białystok [http://www.bialystok.sr.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
District Court in Busko Zdrój [http://bip.busko.sr.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
District Court in Kalisz [http://www.kalisz.so.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
District Court in Konin [http://www.konin.sr.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
District Court in Kielce [http://bip.kielce.sr.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
District Court in Krosno [http://www.krosno.sr.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
District Court in Olecko [http://www.olecko.sr.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
District Court in Szczecin [http://www.szczecin.so.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
District Court in Wrocław[http://www.wroclaw-krzyki.sr.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
District Prosecutor&#039;s Office in Tarnobrzeg [http://www.tarnobrzeg.po.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
District Prosecutor&#039;s Office in Zamosc [http://www.zamosc.po.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
ePUAP - Electronic Platform of Public Administration Services [http://www.e-puap.mswia.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
EURES POLAND - THE EUROPEAN JOBS NETWORK [http://www.eures.praca.gov.pl/en/]&lt;br /&gt;
&lt;br /&gt;
European Information and Documentation Centre [http://libr.sejm.gov.pl/oide]&lt;br /&gt;
&lt;br /&gt;
Government Legislation Centre [http://www.rcl.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
The Head Office of State Archives [http://www.archiwa.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Institute of Atomic Energy [http://iea.cyf.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Institute of Soil Science and Plant Cultivation [http://www.iung.pulawy.pl/]&lt;br /&gt;
&lt;br /&gt;
Institute of Experimental and Clinical Medicine [http://www.biocentrumochota.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Kampinoski Park Narodowy / National Park [http://www.kampinoski-pn.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Kujawsko-Pomorski Voivodship Office [http://www.bydgoszcz.uw.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Nadleśnictwo Bystrzyca Kłodzka (Polish State Forests) [http://wroclaw.lasy.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
National Archives in Poznan [http://www.poznan.ap.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
National Archives in Piotrków Trybunalski [http://www.piotrkow-tryb.ap.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
National Contact Point in Poland [http://en.kpk.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
The Necki Institute of Experimental Biology [http://neurogene.nencki.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Ministry of National Education [http://www.men.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Office of Electronic Communications in Poland (UKE) -  Telecom Investment Support Team [http://www.investors.uke.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Office of Electronic Communications (UKE) [http://www.en.prezydencja.uke.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
PARSP / Post-Accession Rular Support Project  [http://www.ppwow.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Chodzież [http://www.chodziez.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Bełchatów [http://www.belchatow.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Bochnia [http://www.bochnia.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Brzesko [http://www.brzesko.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Gniezo [http://www.gniezno.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Gostyń [http://www.gostyn.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Konin [http://www.konin.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Kościan [http://www.koscian.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Łęczyca [http://www.leczyca.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Leszno [http://www.leszno.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Łódź [http://www.lodz.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Nowy Targ [http://www.nowy-targ.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Nowy Sącz [http://www.nowy-sacz.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in NowyTomyśl [http://www.nowy-tomysl.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Oborniki [http://www.oborniki.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Opoczno [http://www.opoczno.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Opole / Komenda Wojewódzka Policji w Opolu [http://www.opolska.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Ostrzeszów [http://www.ostrzeszow.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Radomsko [http://www.radomsko.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Piła [http://www.pila.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Poznań [http://www.poznan.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Skierniewice [http://www.skierniewice.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Środa Wielkopolska [http://www.sroda-wielkopolska.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Police Headquarters in Zakopane [http://www.zakopane.policja.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Polish Centre for Testing and Certification [http://www.pcbc.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Portal of Polish Geological Institute [http://ikar2.pgi.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Refugee Board[http://www.rada-ds-uchodzcow.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Regional Office for Water Management in Gliwice  [http://www.gliwice.rzgw.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
The Regional Water Management Board in Krakow [http://www.krakow.rzgw.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
State Archive in Kalisz [http://www.kalisz.ap.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
Warmińsko-Mazurskie Voivodship Office in Olsztyn. [http://www.olsztyn.uw.gov.pl/]&lt;br /&gt;
&lt;br /&gt;
= Portugal =&lt;br /&gt;
&lt;br /&gt;
UMIC - Agência para a Sociedade do Conhecimento [http://www.umic.pt/]&lt;br /&gt;
&lt;br /&gt;
Escola Básica Integrada de Ribeira Grande [http://escolas.edu.azores.gov.pt/ebirg/]&lt;br /&gt;
&lt;br /&gt;
Serviço de Resposta a Incidentes de Segurança Informática [http://www.forumsi.gov.pt/]&lt;br /&gt;
&lt;br /&gt;
Secretaria-Geral do Ministério da Cultura [http://www.sg.mc.gov.pt/]&lt;br /&gt;
&lt;br /&gt;
Rede Gip Imigrante [http://redeuniva.acidi.gov.pt/]&lt;br /&gt;
&lt;br /&gt;
Secretária de Estado da Modernização Administrativa [http://www.gsema.gov.pt/index.php?lang=pt]&lt;br /&gt;
&lt;br /&gt;
Conferência Ministerial de eGovernment [http://www.megovconf-lisbon.gov.pt/index.php?lang=pt]&lt;br /&gt;
&lt;br /&gt;
Biblioteca Nacional de Portugal [http://www.bn.gov.pt/index.php?option=com_content&amp;amp;view=frontpage&amp;amp;Itemid=1&amp;amp;lang=pt]&lt;br /&gt;
&lt;br /&gt;
Clube Desportivo Escolar de Santa Maria [http://kiosk.ebssm.edu.azores.gov.pt:8080/cde/index.php]&lt;br /&gt;
&lt;br /&gt;
= Puerto Rico =&lt;br /&gt;
&lt;br /&gt;
Office of the Commissioner Insurance [http://www.ocs.gobierno.pr/]&lt;br /&gt;
&lt;br /&gt;
Aguadilla City [http://www.aguadilla.gobierno.pr]&lt;br /&gt;
&lt;br /&gt;
= Qatar = &lt;br /&gt;
&lt;br /&gt;
Institute of Administrative Development [http://www.iad.gov.qa/]&lt;br /&gt;
&lt;br /&gt;
= Republic of Macedonia =&lt;br /&gt;
&lt;br /&gt;
Ministry of Culture [http://www.kultura.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Bureau of Metrology [http://www.bom.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Hydrometeorological Service [http://www.meteo.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Institute for the Accreditation of the  Republic of Macedonia [http://www.iarm.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Energy Agency [http://www.ea.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
World Conference on Dialogue Among Religions and Civilizations [http://www.worldconferenceohrid.kultura.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
National Heritage Centre [http://www.heritage.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
State Market Inspectorate [http://dpi.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
State Attorney[http://www.drzavnopravobranitelstvo.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Centre for Adult Education [http://cov.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Unit for Cooperation with NGO [http://www.nvosorabotka.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Municipality Berovo [http://www.berovo.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Municipality Brod [http://www.mbrod.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Municipality Brvenica  [http://www.brvenica.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Municipality Butel [http://www.opstinabutel.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Municipality of Gevgelija [http://gevgelija.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Municipality Karpos [http://www.karpos.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Municipality Lovech and Rostusa [http://www.mavrovoirostuse.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Municipality Mogila [http://mogila.gov.mk/web/]&lt;br /&gt;
&lt;br /&gt;
Municipality of Novo Selo [http://www.novoselo.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Municipality Osslome [http://www.osllome.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Municipality Pehcevo [http://www.pehcevo.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Municipality Radovis[http://radovis.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Municipality Rankovce [http://rankovce.gov.mk/web/]&lt;br /&gt;
&lt;br /&gt;
Municipality Sopiste [http://opstinasopiste.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Municipality Studenicani [http://www.studenicani.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
Municipality Valandovo [http://www.valandovo.gov.mk/]&lt;br /&gt;
&lt;br /&gt;
= Romania =&lt;br /&gt;
&lt;br /&gt;
National Institute for Public Health [http://www.insp.gov.ro/]&lt;br /&gt;
&lt;br /&gt;
National Authority for Consumer Protection [http://www.anpc.gov.ro/]&lt;br /&gt;
&lt;br /&gt;
= Russian Federation =&lt;br /&gt;
&lt;br /&gt;
Department of Civil Service Tomsk [http://gossl.tomsk.gov.ru/]&lt;br /&gt;
&lt;br /&gt;
Office of Drug Control Service of Russia in Moscow region [http://www.50.fskn.gov.ru/]&lt;br /&gt;
&lt;br /&gt;
Official website of the Ombudsman in the Russian Federation [http://ombudsmanrf.org/]&lt;br /&gt;
&lt;br /&gt;
Social Security Department of the Tomsk region [http://socialwork.tomsk.gov.ru/]&lt;br /&gt;
&lt;br /&gt;
Tatischevskogo municipal [http://tatishevo.saratov.gov.ru/]&lt;br /&gt;
&lt;br /&gt;
= Rwanda =&lt;br /&gt;
&lt;br /&gt;
Rwandan Parliament [http://www.parliament.gov.rw/]&lt;br /&gt;
&lt;br /&gt;
Office of the Prime Minister [http://www.primature.gov.rw/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Sports and Culture [http://www.minispoc.gov.rw/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health [http://www.moh.gov.rw/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Agriculture and Animal Resources [http://www.minagri.gov.rw/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Infrastructure [http://www.mininfra.gov.rw/]&lt;br /&gt;
&lt;br /&gt;
National Unity and Reconciliation Commission [http://www.nurc.gov.rw/]&lt;br /&gt;
&lt;br /&gt;
National Institute of Statistics [http://statistics.gov.rw/]&lt;br /&gt;
&lt;br /&gt;
Rwandan Development Partners [http://www.devpartners.gov.rw/]&lt;br /&gt;
&lt;br /&gt;
National Executive Secretariat of TIG [http://www.tig.minijust.gov.rw/]&lt;br /&gt;
&lt;br /&gt;
15 Years of Liberation [http://www.gov.rw/liberation15/]&lt;br /&gt;
&lt;br /&gt;
= Samoa =&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://www.mesc.gov.ws]&lt;br /&gt;
&lt;br /&gt;
= San Marino =&lt;br /&gt;
&lt;br /&gt;
Central Bank [http://www.bcsm.sm/] &lt;br /&gt;
&lt;br /&gt;
= Saudi Arabia =&lt;br /&gt;
&lt;br /&gt;
Computer Emergency Response Centre [http://www.cert.gov.sa/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://www.cpfdc.gov.sa/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health eHealth Strategy [http://www.moh.gov.sa/ehealth/]&lt;br /&gt;
&lt;br /&gt;
= Senegal =&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.diplomatie.gouv.sn/]&lt;br /&gt;
&lt;br /&gt;
Ministry of the Interior [http://www.interieur.gouv.sn/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Justice [http://www.justice.gouv.sn/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Mines, Industry, Agro Industry and SMEs [http://www.industrie.gouv.sn/]&lt;br /&gt;
&lt;br /&gt;
Ministry for the Family [http://www.famille.gouv.sn/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Agriculture [http://www.agriculture.gouv.sn/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Youth [http://www.jeunesse.gouv.sn/]&lt;br /&gt;
&lt;br /&gt;
APDA: Agency for the Promotion and Development of Handicraft [http://www.apda.gouv.sn/]&lt;br /&gt;
&lt;br /&gt;
= Serbia =&lt;br /&gt;
&lt;br /&gt;
Ministry of Labour and Social Policy [http://www.minrzs.gov.rs/cms/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Science and Technological Development [http://www.nauka.gov.rs/]&lt;br /&gt;
&lt;br /&gt;
Radiation Protection and Nuclear Safety Agency [http://www.srbatom.gov.rs/]&lt;br /&gt;
&lt;br /&gt;
Municipality Ljig [http://www.ljig.gov.rs/]&lt;br /&gt;
&lt;br /&gt;
Provincial Secretariat for Regional and International Cooperation [http://www.region.vojvodina.gov.rs/]&lt;br /&gt;
&lt;br /&gt;
Provincial Secretariat for Education[http://www.obrazovanje.vojvodina.gov.rs/]&lt;br /&gt;
&lt;br /&gt;
Government of the Autonomous Province of Vojvodina [http://www.vojvodina.gov.rs/]&lt;br /&gt;
&lt;br /&gt;
= Seychelles =&lt;br /&gt;
&lt;br /&gt;
Ministry of Finance [http://www.finance.gov.sc]&lt;br /&gt;
&lt;br /&gt;
Office of the President [http://www.statehouse.gov.sc]&lt;br /&gt;
&lt;br /&gt;
Department of Employment [http://www.employment.gov.sc]&lt;br /&gt;
&lt;br /&gt;
National Assembly [http://www.nationalassembly.sc/]&lt;br /&gt;
&lt;br /&gt;
= Sierra Leone =&lt;br /&gt;
&lt;br /&gt;
Office of the President [http://www.statehouse.gov.sl/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Finance and Economic Development [http://www.mofed.gov.sl/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs and International Cooperation [www.foreignaffairs.gov.sl]&lt;br /&gt;
&lt;br /&gt;
Ministry of Youth and Sports [http://education.gov.sl]&lt;br /&gt;
&lt;br /&gt;
Office of the Diaspora [http://www.diasporaaffairs.gov.sl/]&lt;br /&gt;
&lt;br /&gt;
National HIV/Aids Secretariat [http://www.nas.gov.sl/]&lt;br /&gt;
&lt;br /&gt;
= Singapore =&lt;br /&gt;
&lt;br /&gt;
National Parks Singapore [http://www.nparks.gov.sg/cms/]&lt;br /&gt;
&lt;br /&gt;
National Community Leadership Institute [http://www.nacli.pa.gov.sg/]&lt;br /&gt;
&lt;br /&gt;
Outward Bound Singapore [http://www.obs.pa.gov.sg/]&lt;br /&gt;
&lt;br /&gt;
= Slovakia =&lt;br /&gt;
&lt;br /&gt;
National Property Fund [http://www.natfund.gov.sk/]&lt;br /&gt;
&lt;br /&gt;
Regional Office for Road Transport [http://www.tt.kud.gov.sk/]&lt;br /&gt;
&lt;br /&gt;
= Slovenia =&lt;br /&gt;
&lt;br /&gt;
Ministry of Public Administration [http://www.otroci.gov.si/]&lt;br /&gt;
&lt;br /&gt;
National portal for seniors and pensioners [http://www.starejsi.gov.si/]&lt;br /&gt;
&lt;br /&gt;
= Solomon Islands =&lt;br /&gt;
&lt;br /&gt;
Telecommunications Commission[http://www.tcsi.org.sb/]&lt;br /&gt;
&lt;br /&gt;
= Somalia =&lt;br /&gt;
&lt;br /&gt;
The Central Bank of Somalia [http://www.somalbanca.org/]&lt;br /&gt;
&lt;br /&gt;
= South Africa =&lt;br /&gt;
&lt;br /&gt;
National Youth Development Agency [http://www.nyda.gov.za/]&lt;br /&gt;
&lt;br /&gt;
City of Johannesburg [http://joburg.org.za]&lt;br /&gt;
&lt;br /&gt;
Province of the Northern Cape [http://www.northern-cape.gov.za/]&lt;br /&gt;
&lt;br /&gt;
Province of the Eastern Cape - Transport [http://www.ectransport.gov.za/]&lt;br /&gt;
&lt;br /&gt;
Corporate Governance and Traditional Affairs [http://www.cogta.gov.za/]&lt;br /&gt;
&lt;br /&gt;
Department of Communications [http://www.doc.gov.za/]&lt;br /&gt;
&lt;br /&gt;
Department of Social Development [http://www.dsd.gov.za/]&lt;br /&gt;
&lt;br /&gt;
Limpopo Department of Agriculture [http://www.lda.gov.za/]&lt;br /&gt;
&lt;br /&gt;
Presidential National Commission on Information Society &amp;amp; Development [http://www.pnc.gov.za/]&lt;br /&gt;
&lt;br /&gt;
= South Korea =&lt;br /&gt;
&lt;br /&gt;
Embassy of The Republic of Azerbaijan to the Republic of Korea [http://www.azembassy.co.kr/]&lt;br /&gt;
&lt;br /&gt;
= Spain =&lt;br /&gt;
=== City/Town Halls === &lt;br /&gt;
&#039;&#039;(NOTE: Bold indicates big town / city &amp;gt;40K)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Aguilar de Campoo [http://aguilardecampoo.com]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Agulo [http://agulo.org/apli/index.php]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Alajeró [http://www.ayuntamientoalajero.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Alanís [http://informacion.alanis.es/]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ayuntamiento de Alcalá de Guadaíra&#039;&#039;&#039; [http://www.ciudadalcala.org/portal/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Alcolea de Calatrava [http://www.alcoleacva.com/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Aldeadávila [http://www.aldeadavila.com/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Algodonales [http://www.algodonales.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Aljaraque [http://www.ayto-aljaraque.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Antigua [http://www.ayto-antigua.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Añora [http://www.anora.es/joomla/index.php]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Aracena [http://www.aracena.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Arraitz-Orkin [http://www.arraitz-orkin.com/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Artenara [http://www.artenara.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Bailén [http://www.ayto-bailen.com/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Belalcázar [http://www.belalcazar.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Belchite [http://www.belchite.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Breña Baja [http://www.bbaja.es/web/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Campo de Criptana [http://www.campodecriptana.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Caravaca de la Cruz [http://www.caravaca.org/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Castrelo do Val [http://www.castrelodoval.com/index.php]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Cella [http://www.cella.es/]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ayuntamiento de Córdoba&#039;&#039;&#039; [http://www.ayuncordoba.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de El Paso [http://www.elpaso.es/ayto/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de El Tanque [http://www.eltanque.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de El Viso (Córdoba) [http://www.ayto-elviso.com/site/index.php]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Espartinas [http://www.espartinas.net/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Fasnia [http://www.fasnia.com/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Fregenal de la Sierra [http://www.fregenaldelasierra.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Granadilla de Abona [http://www.granadilladeabona.org/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Guadalmez [http://www.aytoguadalmez.com/site/index.php]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Guardamar [http://www.guardamar.net/index.php]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Guimar [http://www.guimar.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Ingenio [http://www.ingenio.es/index.php]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Jimena de la Frontera [http://www.jimenadelafrontera.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Hermigua [http://www.hermigua.org/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Huelma [http://www.aytohuelma.es/nuevaweb/index.php]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Illescas [http://www.illescas.es/joomla/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de la Victoria de Acentejo [http://www.lavictoriadeacentejo.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de la Villa de La Matanza de Acentejo [http://www.matanceros.com/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de la Villa de Tegueste [http://www.tegueste.org/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Las Cabezas de San Juan [http://www.lascabezasdesanjuan.es/web/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Las Torres de Cotillas [http://www.lastorresdecotillas.net/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Los Llanos de Aridane [http://www.aridane.org/inicio/index.php]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Macharaviaya [http://www.macharaviaya.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Madridejos [http://www.madridejos.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Madrigal de la Vera [http://madrigaldelavera.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Malagon [http://www.malagon.es/]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ayuntamiento de Marbella&#039;&#039;&#039; [http://www.marbella.es/inicio/]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ayuntamiento de Mérida&#039;&#039;&#039; [http://www.merida.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Mogán [http://www.mogan.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Mogarraz (Salamanca) [http://www.mogarraz.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Niebla [http://www.aytoniebla.es/portal/index.php]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Pájara [http://www.pajara.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Palomares del Río [http://www.palomaresdelrio.net/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Peñaflor de Gállego [http://www.penaflordegallego.com/joomla/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Pepino [http://www.ayto-pepino.com/joomla/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Plasencia [http://www.plasencia.es/web/index.php]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Puebla de Don Rodrigo [http://www.ayuntamientopuebladedonrodrigo.com/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Puerto de la Cruz [http://www.puertodelacruz.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Quel [http://www.quel.org/joomla/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de San Bartolomé [http://www.sanbartolome.es/web/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de San Bartolomé de Tirajana [http://www.maspalomas.com/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de San Juan de la Rambla [http://www.aytosanjuandelarambla.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de San Martín de la Vega [http://www.ayto-smv.es/2011/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de San Martín de Montalbán [http://sanmartindemontalban.com/ayuntamiento/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de San Miguel de Abona [http://sanmigueldeabona.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de San Sebastián de la Gomera [http://www.sansebastiangomera.org/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Santa Brígida [http://www.santabrigida.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Santa María de Guía de Gran Canaria [http://www.santamariadeguia.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Segura de León [http://www.seguradeleon.com/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Soto del Real [http://www.ayto-sotodelreal.es/web/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Tazacorte [http://www.tazacorte.es/ayto/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Tejeda [http://www.tejeda.es/Ciudadano/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Telde [http://www.ayuntamientodetelde.org/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Tijarafe [http://www.tijarafe.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Tórtola de Henares [http://www.tortoladehenares.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Tuineje [http://www.tuineje.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Ubrique [http://www.ayuntamientoubrique.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Valderrubio [http://www.valderrubio.net/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Valle Gran Rey [http://www.vallegranrey.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Valleseco [http://www.valleseco.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Valsequillo de Gran Canaria [http://www.valsequillogc.es/ayto/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Vega de San Mateo [http://www.vegadesanmateo.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Vegas del Genil [http://www.aytovegasdelgenil.org/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Villa de Mallén [http://www.villademallen.com/joomla/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Villa de Quer [http://www.ayuntamientodequer.es/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Villanueva de Córdoba [http://www.villanuevadecordoba.com/www/index.php]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Villanueva del Trabuco [http://www.villanuevadeltrabuco.com/]&lt;br /&gt;
&lt;br /&gt;
Ayuntamiento de Villaquilambre [http://www.ayto-villaquilambre.com/Pagina_de_inicio]&lt;br /&gt;
&lt;br /&gt;
=== Chambers of Commerce ===&lt;br /&gt;
&lt;br /&gt;
Cámara Oficial de Comercio e Industria de Alcoy [http://www.camaraalcoy.net/]&lt;br /&gt;
&lt;br /&gt;
Cámara Oficial de Comercio e Industria de Arévalo [http://www.camaradearevalo.com/]&lt;br /&gt;
&lt;br /&gt;
Cámara Oficial de Comercio e Industria de Ávila [http://www.camaradeavila.com/]&lt;br /&gt;
&lt;br /&gt;
Cámara Oficial de Comercio e Industria de Badajoz [http://camarabadajoz.org/index.php]&lt;br /&gt;
&lt;br /&gt;
Cámara Oficial de Comercio e Industria de León [http://www.camaraleon.com/]&lt;br /&gt;
&lt;br /&gt;
Cámara Oficial de Comercio e Industria de Linares [http://www.camaralinares.es/]&lt;br /&gt;
&lt;br /&gt;
Cámara Oficial de Comercio, Industria y Navegación de Pontevedra [http://www.camarapontevedra.com/joomla/]&lt;br /&gt;
&lt;br /&gt;
=== Educational ===&lt;br /&gt;
&lt;br /&gt;
Centro Nacional de Desarrollo Curricular en Sistemas no Propietarios (CeDeC) [http://cedec.ite.educacion.es/]&lt;br /&gt;
&lt;br /&gt;
Consejería de Educación, Ciencia y Cultura de Castilla-La Mancha - Portales web de los Centros Educativos [http://edu.jccm.es]&lt;br /&gt;
&lt;br /&gt;
Consejería de Educación de la Comunidad de Madrid - Formación del Profesorado en línea [http://formacion.enlinea.educa.madrid.org/]&lt;br /&gt;
&lt;br /&gt;
Consejería de Educación de la Junta de Extremadura - Portal de Centros Educativos de la [http://portalcentros.educarex.es/]&lt;br /&gt;
&lt;br /&gt;
Consejería de Educación de la Junta de Extremadura - Rincones Didácticos [http://rincones.educarex.es/]&lt;br /&gt;
&lt;br /&gt;
Consejería de Educación y Ciencia del Gobierno del Principado de Asturias - Educastur [http://www.educastur.es/]&lt;br /&gt;
&lt;br /&gt;
Instituto de Arqueología de Mérida [http://www.iam.csic.es/]&lt;br /&gt;
&lt;br /&gt;
Observatorio de la actividad, la innovación y las tendencias en la Formación en Red SCOPEO [http://scopeo.usal.es/]&lt;br /&gt;
&lt;br /&gt;
Observatorio para la calidad del e-Learning en Andalucía [http://prometeo.us.es/qualitas/]&lt;br /&gt;
&lt;br /&gt;
=== Political Parties ===&lt;br /&gt;
(&#039;&#039;NOTE: In alphabetical order, and up to a maximum of 3 per party, to avoid favoritism&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Fundación Progreso y Democracia [http://www.fpyd.es/]&lt;br /&gt;
&lt;br /&gt;
Izquierda Unida de Albacete [http://www.iualbacete.es/]&lt;br /&gt;
&lt;br /&gt;
Izquierda Unida de Extremadura [http://www.iu-extremadura.es/]&lt;br /&gt;
&lt;br /&gt;
Izquierda Unida de Tenerife [http://www.iutenerife.org/]&lt;br /&gt;
&lt;br /&gt;
Partido Pirata [http://www.partidopirata.es/]&lt;br /&gt;
&lt;br /&gt;
Partido Popular de Andalucía [http://www.ppandaluz.es/]&lt;br /&gt;
&lt;br /&gt;
Partido Popular de Canarias [http://ppdecanarias.com/]&lt;br /&gt;
&lt;br /&gt;
Partido Popular de Málaga [http://www.ppmalaga.es/]&lt;br /&gt;
&lt;br /&gt;
Partido Socialista Obrero Español de Extremadura [http://www.psoeextremadura.org/portal/]&lt;br /&gt;
&lt;br /&gt;
Partido Socialista Obrero Español de Murcia [http://murciapsoe.es/]&lt;br /&gt;
&lt;br /&gt;
Partido Socialista Obrero Español de Ronda [http://www.psoederonda.es/psoeronda/index.php]&lt;br /&gt;
&lt;br /&gt;
=== Others ===&lt;br /&gt;
&lt;br /&gt;
CENATIC - Centro Nacional de Referencia de Aplicación de las Tecnologías de la Información y la Comunicación basadas en fuentes abiertas [http://www.cenatic.es/]&lt;br /&gt;
&lt;br /&gt;
Consejo de Seguridad Nuclear [http://www.csn.es/]&lt;br /&gt;
&lt;br /&gt;
Instituto Gallego de Promoción Económica [http://www.igape.es/index.php]&lt;br /&gt;
&lt;br /&gt;
Dirección General de Trabajo y Empleo del Gobierno de Cantabria [http://dgte.cantabria.es/]&lt;br /&gt;
&lt;br /&gt;
Agencia Provincial de la Energía de Cádiz [http://www.fmedioambienteyenergia.es/apec/]&lt;br /&gt;
&lt;br /&gt;
Red de Espacios Tecnológicos de Andalucía [http://reta.es/index.php/inicio.html]&lt;br /&gt;
&lt;br /&gt;
Instituto Municipal de Formación y Empleo de Granada [http://www.imfegranada.es/web/]&lt;br /&gt;
&lt;br /&gt;
Consejo Consultivo de la Comunidad de Madrid [http://www.ccmadrid.org/ccmadrid/]&lt;br /&gt;
&lt;br /&gt;
Instituto de Investigación en Energía de Cataluña [http://www.irec.cat/]&lt;br /&gt;
&lt;br /&gt;
= Sri Lanka =&lt;br /&gt;
&lt;br /&gt;
Government of Sri Lanka [http://www.gov.lk/gov/]&lt;br /&gt;
&lt;br /&gt;
Government Information Centre [http://www.gic.gov.lk/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Justice [http://www.wpc.gov.lk/demo/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Higher Education [http://www.mohe.gov.lk/]&lt;br /&gt;
&lt;br /&gt;
Ministry of External Affairs [http://www.slmfa.gov.lk/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Transport [http://www.transport.gov.lk/]&lt;br /&gt;
&lt;br /&gt;
Department of Immigration and Emigration [http://www.immigration.gov.lk/]&lt;br /&gt;
&lt;br /&gt;
University Grants Commission [http://www.ugc.ac.lk/]&lt;br /&gt;
&lt;br /&gt;
Western Province Regional Council [http://www.wpc.gov.lk/]&lt;br /&gt;
&lt;br /&gt;
Department of Pensions [http://www.pensions.gov.lk/]&lt;br /&gt;
&lt;br /&gt;
= St. Kitts &amp;amp; Nevis =&lt;br /&gt;
&lt;br /&gt;
Nevis Island Government [http://www.nia.gov.kn/]&lt;br /&gt;
&lt;br /&gt;
= St. Lucia =&lt;br /&gt;
&lt;br /&gt;
Ministry of Education and Culture [http://www.education.gov.lc]&lt;br /&gt;
&lt;br /&gt;
= St. Vincent and the Grenadines = &lt;br /&gt;
&lt;br /&gt;
Government of St Vincent and the Grenadines [http://www.gov.vc]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.foreign.gov.vc/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Housing [http://www.housing.gov.vc/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health, Wellness and the Environment [http://www.health.gov.vc/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Finance and Economic Planning [http://www.finance.gov.vc/]&lt;br /&gt;
&lt;br /&gt;
= Sudan =&lt;br /&gt;
&lt;br /&gt;
The Republic of Sudan Secretariat General [http://www.sudan.gov.sd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of the Presidency Affairs [http://www.presidency.gov.sd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Tourism [http://sudan-tourism.gov.sd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Information and Communications [http://www.minic.gov.sd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Irrigation and Water resources [http://www.moiwr.gov.sd/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Science and Technology [http://www.most.gov.sd/]&lt;br /&gt;
&lt;br /&gt;
= Surinam =&lt;br /&gt;
&lt;br /&gt;
Ministry of ATM [http://www.atm.gov.sr/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Trade and Industry [http://www.minhi.gov.sr/]&lt;br /&gt;
&lt;br /&gt;
= Swaziland =&lt;br /&gt;
&lt;br /&gt;
Central Bank [http://www.centralbank.org.sz/]&lt;br /&gt;
&lt;br /&gt;
National Sports Council [http://www.sportscouncil.org.sz/]&lt;br /&gt;
&lt;br /&gt;
= Sweden =&lt;br /&gt;
&lt;br /&gt;
Fagersta kommun [http://www.fagersta.se/]&lt;br /&gt;
&lt;br /&gt;
Norberg kommun [http://www.norberg.se/]&lt;br /&gt;
&lt;br /&gt;
= Syria =&lt;br /&gt;
&lt;br /&gt;
Portal for Rural Syria [http://www.reefnet.gov.sy/reef/]&lt;br /&gt;
&lt;br /&gt;
Syrian Post [http://www.syrianpost.gov.sy/]&lt;br /&gt;
&lt;br /&gt;
General Organisation for Road Transport [http://www.perc.gov.sy/]&lt;br /&gt;
&lt;br /&gt;
National Service Network [http://www.nans.gov.sy/]&lt;br /&gt;
&lt;br /&gt;
Higher Institute for Demograghic Studies &amp;amp; Research [http://www.hidsr.gov.sy/site/]&lt;br /&gt;
&lt;br /&gt;
Industrial Bank [http://www.industrialbank.gov.sy/]&lt;br /&gt;
&lt;br /&gt;
State Council [http://www.cos.gov.sy/]&lt;br /&gt;
&lt;br /&gt;
Damascus University [http://www.damascusuniversity.gov.sy/]&lt;br /&gt;
&lt;br /&gt;
General Establishment of Road Transportation [http://www.perc.gov.sy/moc/]&lt;br /&gt;
&lt;br /&gt;
Export Development and Promotion Agency [http://www.edpa.gov.sy/ar/]&lt;br /&gt;
&lt;br /&gt;
Community Portal [http://www.reefnet.gov.sy/reef/]&lt;br /&gt;
&lt;br /&gt;
Management of the Badia Development [http://gcb.gov.sy/ar/]&lt;br /&gt;
&lt;br /&gt;
Arab Advertising Organisation [http://www.elan.gov.sy/]&lt;br /&gt;
&lt;br /&gt;
= Taiwan = &lt;br /&gt;
&lt;br /&gt;
Construction and Planning Agency [http://www.cpami.gov.tw/english/]&lt;br /&gt;
&lt;br /&gt;
International Taiwan Service Portal (CT) [http://www.i-taiwan.nat.gov.tw/ct]&lt;br /&gt;
&lt;br /&gt;
International Taiwan Service Portal (EN) [http://www.i-taiwan.nat.gov.tw/en]&lt;br /&gt;
&lt;br /&gt;
Taijiang National Park [http://www.tjnp.gov.tw/]&lt;br /&gt;
&lt;br /&gt;
= Tajikistan =&lt;br /&gt;
&lt;br /&gt;
Parliament [http://parlament.tj/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Transport and Communication [http://www.mintranscom.tj/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health [http://health.tj/]&lt;br /&gt;
&lt;br /&gt;
Customs Service [http://www.customs.tj/]&lt;br /&gt;
&lt;br /&gt;
Constitutional Court [http://www.constcourt.tj/]&lt;br /&gt;
&lt;br /&gt;
State Committee on Investments [http://amcu.gki.tj]&lt;br /&gt;
&lt;br /&gt;
Agency of Regulation of Communication [http://www.arc.tj/]&lt;br /&gt;
&lt;br /&gt;
Investment Council [http://www.investmentcouncil.tj/]&lt;br /&gt;
&lt;br /&gt;
= Tanzania =&lt;br /&gt;
&lt;br /&gt;
Mbeya Region [http://www.mbeya.go.tz/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Finance [http://www.mof.go.tz/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Home Affairs [http://www.moha.go.tz/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Information, Culture and Sports [http://www.hum.go.tz/]&lt;br /&gt;
&lt;br /&gt;
Tanzania Revenue Authority [http://www.tra.go.tz/]&lt;br /&gt;
&lt;br /&gt;
National Council for Technical Education [http://www.nacte.go.tz/]&lt;br /&gt;
&lt;br /&gt;
UNESCO National Commission [http://www.natcom.go.tz/]&lt;br /&gt;
&lt;br /&gt;
Bank of Tanzania Training Institute [http://www.bot.go.tz/TrainingInstitute/]&lt;br /&gt;
&lt;br /&gt;
Higher Education Student&#039;s Loans Board [http://www.heslb.go.tz/]&lt;br /&gt;
&lt;br /&gt;
= Tchad =&lt;br /&gt;
&lt;br /&gt;
Government of Tchad [http://www.primature-tchad.org/]&lt;br /&gt;
&lt;br /&gt;
= Thailand =&lt;br /&gt;
&lt;br /&gt;
Ministry of Science and Technology [http://www.most.go.th/main]&lt;br /&gt;
&lt;br /&gt;
Mae Hong Son Province [http://www.maehongsorn.go.th]&lt;br /&gt;
&lt;br /&gt;
National Science and Technology Development Agency [http://www.nstda.or.th]&lt;br /&gt;
&lt;br /&gt;
National Electronics and Computer Technology Center [http://www.nectec.or.th]&lt;br /&gt;
&lt;br /&gt;
The National Telecommunications Commission [http://eng.ntc.or.th]&lt;br /&gt;
&lt;br /&gt;
Krabi Prolice [http://www.krabipolice.go.th]&lt;br /&gt;
&lt;br /&gt;
The Secondary Education Service Area 20 [http://www.sesa20.go.th/]&lt;br /&gt;
&lt;br /&gt;
National Research Counil of Thailand [http://www.nrct.go.th]&lt;br /&gt;
&lt;br /&gt;
Department of Medical Sciences [http://www.dmsc.moph.go.th/dmsc2010/]&lt;br /&gt;
&lt;br /&gt;
Chiangmai Provincial Labour Protection and Welfare Office [http://chiangmai.labour.go.th]&lt;br /&gt;
&lt;br /&gt;
= Togo =&lt;br /&gt;
&lt;br /&gt;
Prime Minister [http://www.primature.gouv.tg/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs and Cooperation [http://www.diplomatie.gouv.tg/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Economy and Finance [http://www.finances.gouv.tg/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Public Service and Administrative Reform [http://fonctionpublique.gouv.tg/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Planning and Development [http://planification.gouv.tg/]&lt;br /&gt;
&lt;br /&gt;
= Tonga =&lt;br /&gt;
&lt;br /&gt;
Main Government website [https://www.pmo.gov.to/]&lt;br /&gt;
&lt;br /&gt;
Parliament of Tonga [http://www.parliament.gov.to/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Commerce [http://mlci.gov.to/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Information and Communications [http://www.mic.gov.to/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs and Cooperation [http://www.diplomatie.gouv.tg/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Civil Service [http://fonctionpublique.gouv.tg/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Planning, Development and Planning [http://planification.gouv.tg/]&lt;br /&gt;
&lt;br /&gt;
Official Web Site of The Tongan Monarchy [http://www.palaceoffice.gov.to/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Education, Women Affairs and Culture [http://www.tongaeducation.gov.to/]&lt;br /&gt;
&lt;br /&gt;
Department of Statistics [http://www.pmo.gov.to/tongastats/]&lt;br /&gt;
&lt;br /&gt;
= Trinidad and Tobago =&lt;br /&gt;
&lt;br /&gt;
The Ministry of Food Production, Land and Marine Affairs [http://www.agriculture.gov.tt/]&lt;br /&gt;
&lt;br /&gt;
Tobago House of Assembly [http://www.tha.gov.tt/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Agriculture, Land and Marine Resources  [http://agri.gov.tt/home/]&lt;br /&gt;
&lt;br /&gt;
Division of Health and Social Services  [http://www.dhsstha.gov.tt/]&lt;br /&gt;
&lt;br /&gt;
= Tunisia =&lt;br /&gt;
&lt;br /&gt;
Main country website [http://www.ministeres.tn/]&lt;br /&gt;
&lt;br /&gt;
President of Tunisia [http://www.carthage.tn/en/index.php]&lt;br /&gt;
&lt;br /&gt;
Ministry of Agriculture and Environent [http://www.apia.com.tn/]&lt;br /&gt;
&lt;br /&gt;
Ministry of National Defence [http://www.defense.tn/]&lt;br /&gt;
&lt;br /&gt;
Office of Tunisians Abroad [http://www.ote.nat.tn/ote_fr/]&lt;br /&gt;
&lt;br /&gt;
= Turkey =&lt;br /&gt;
&lt;br /&gt;
Governorship of Kocaeli - EU Projects Coordination Center [http://www.kocaeliab.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Governorship of Ordu [http://www.ordu.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Çankırı Youth Centre[http://www.cankiri-gm.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Malatyadh State Hospital  [http://www.malatyadh.gov.tr/giris/]&lt;br /&gt;
&lt;br /&gt;
Omer Nalbantoğlu Training Dormitory [http://aksarayshcekyurdu.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Mufti Kahta [http://www.kahtamuftulugu.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Sirnak Revenue [http://www.sirnakdefterdarligi.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Adiyaman Mentally Handicapped Rehabilitation and Education Center [http://www.adiyaman80yilrem.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Board of Higher Education [http://www.yok.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Youth Centres [http://hakkari-gm.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Muftumuz District [http://www.gemlikmuftulugu.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Sultangazi City [http://sultangazi.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Duzce Ataturk State Hospital [http://www.dadh.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Kayseri Youth Center [http://www.kayseri-gm.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Izmir Port Authority [http://www.izmirdenizcilik.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Topcali Village [http://www.topcali-muh.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Yenikent Public Education [http://www.yenikenthem.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Malatya City [http://www.malatya-gsim.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Narlidere Municipality [http://narlidere-bld.gov.tr/narlidere/]&lt;br /&gt;
&lt;br /&gt;
Gemlik District [http://www.gemlikmuftulugu.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Eregli District Directorate of Agriculture [http://ereglitarim.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Bolu Provincial Disaster and Emergency Management [http://www.boluafetacil.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Uskudar State Hospital [http://www.uskudarhastanesi.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
= Turkmenistan =&lt;br /&gt;
&lt;br /&gt;
Chamber of Commerce and Industry [http://www.cci.gov.tm/en/]&lt;br /&gt;
&lt;br /&gt;
Avaza National Tourist Zone [http://www.avaza.gov.tm/]&lt;br /&gt;
&lt;br /&gt;
State Concern Turkmenavtoyollary [http://turkmenawtoyollary.gov.tm/ru/]&lt;br /&gt;
&lt;br /&gt;
= Tuvalu =&lt;br /&gt;
&lt;br /&gt;
Tuvalu Legislation [http://www.tuvalu-legislation.tv/]&lt;br /&gt;
&lt;br /&gt;
= Uganda =&lt;br /&gt;
&lt;br /&gt;
Uganda Parliament [http://www.parliament.go.ug]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health [http://www.health.go.ug]&lt;br /&gt;
&lt;br /&gt;
Ministry of Information and Communications Technology [http://www.ict.go.ug]&lt;br /&gt;
&lt;br /&gt;
National Banana Research Program [http://www.banana.go.ug]&lt;br /&gt;
&lt;br /&gt;
National Education Support Center [http://www.unesc.go.ug]&lt;br /&gt;
&lt;br /&gt;
Ministry of Justice and Constitutional Affairs [http://www.justice.go.ug]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.mofa.go.ug]&lt;br /&gt;
&lt;br /&gt;
National Council for Science and Technology [http://www.uncst.go.ug]&lt;br /&gt;
&lt;br /&gt;
National Integrated Monitoring and Evaluation Strategy [http://www.nimes.go.ug]&lt;br /&gt;
&lt;br /&gt;
Ministry of Water and Environment [http://www.mwe.go.ug]&lt;br /&gt;
&lt;br /&gt;
Judiciary of Uganda [http://www.judicature.go.ug]&lt;br /&gt;
&lt;br /&gt;
Igana District [http://www.iganga.go.ug]&lt;br /&gt;
&lt;br /&gt;
Bushenyi District [http://bushenyi.go.ug]&lt;br /&gt;
&lt;br /&gt;
Mayuge District [http://mayuge.go.ug]&lt;br /&gt;
&lt;br /&gt;
Uganda Police Force [http://www.upf.go.ug]&lt;br /&gt;
&lt;br /&gt;
National Roads Authority [http://www.unra.go.ug]&lt;br /&gt;
&lt;br /&gt;
= Ukraine =&lt;br /&gt;
&lt;br /&gt;
Lviv City [http://www.city-adm.lviv.ua]&lt;br /&gt;
&lt;br /&gt;
Hlobynskoyi City Council [http://www.globyne-rada.gov.ua/]&lt;br /&gt;
&lt;br /&gt;
State Organisation Works [http://rekord.gov.ua/]&lt;br /&gt;
&lt;br /&gt;
State Scientific Institution  [http://www.clinic-1.gov.ua/]&lt;br /&gt;
&lt;br /&gt;
Burinska District [http://burin-rada.gov.ua/]&lt;br /&gt;
&lt;br /&gt;
Renyyskoy rayonnoy State Administration [http://reni-rda.gov.ua/]&lt;br /&gt;
&lt;br /&gt;
Berehiv District [http://bereg-rda.gov.ua/]&lt;br /&gt;
&lt;br /&gt;
State Agency for Science, Innovation and Information [http://www.dknii.gov.ua/]&lt;br /&gt;
&lt;br /&gt;
State Prison Service [http://dps-sumy.gov.ua/]&lt;br /&gt;
&lt;br /&gt;
State Agency of Ukraine Water Resources [http://www.scwm.gov.ua/]&lt;br /&gt;
&lt;br /&gt;
= United Kingdom =&lt;br /&gt;
&lt;br /&gt;
Ministry of Defense [http://www.stabilisationunit.gov.uk]&lt;br /&gt;
&lt;br /&gt;
Serious Organised Crime Agency [http://SOCA.gov.uk]&lt;br /&gt;
&lt;br /&gt;
UK Foreign Office Awards ceremony [http://www.foreignofficeawards.co.uk/]&lt;br /&gt;
&lt;br /&gt;
UK Parliamentary Press Gallery [http://www.pressgallery.org.uk/]&lt;br /&gt;
&lt;br /&gt;
Department for Environment &amp;amp; Rural Affairs [http://publicappts.defra.gov.uk/]&lt;br /&gt;
&lt;br /&gt;
Strathclyde Police Authority [http://www.strathclydepoliceauthority.gov.uk/]&lt;br /&gt;
&lt;br /&gt;
Salisbury City Council [http://www.salisburycitycouncil.gov.uk/]&lt;br /&gt;
&lt;br /&gt;
Stroud Town Council [http://www.stroudtown.gov.uk/]&lt;br /&gt;
&lt;br /&gt;
Thame Town Council [http://www.thametowncouncil.gov.uk/]&lt;br /&gt;
&lt;br /&gt;
Central Scotland Fire and Rescue Service [http://www.centralscotlandfire.gov.uk/]&lt;br /&gt;
&lt;br /&gt;
Office of Qualifications and Examinations Regulation [http://www.ofqual.gov.uk/]&lt;br /&gt;
&lt;br /&gt;
Sustainable Development in Government [http://sd.defra.gov.uk/]&lt;br /&gt;
&lt;br /&gt;
Sandwell and West Birmingham Hospitals NHS Trust [http://www.swbh.nhs.uk/]&lt;br /&gt;
&lt;br /&gt;
The Scottish Adult Neuro-Oncology Network [http://www.neurooncology.scot.nhs.uk/]&lt;br /&gt;
&lt;br /&gt;
South Central Clinical Networks (NHS) [http://www.scnetworks.nhs.uk/]&lt;br /&gt;
&lt;br /&gt;
Bassetlaw NHS [http://www.bassetlaw-pct.nhs.uk/]&lt;br /&gt;
&lt;br /&gt;
National Procurement [http://www.nhsscotlandprocurement.scot.nhs.uk/]&lt;br /&gt;
&lt;br /&gt;
Tetbury Town Council [http://www.tetbury.gov.uk/]&lt;br /&gt;
&lt;br /&gt;
Wiltshire Police [http://www.wiltshire.police.uk/]&lt;br /&gt;
&lt;br /&gt;
Bristol Community Health [http://www.briscomhealth.nhs.uk/]&lt;br /&gt;
&lt;br /&gt;
= United Arab Emirates =&lt;br /&gt;
&lt;br /&gt;
General Authority of Youth and Sport Welfare [http://www.uaeyouth.gov.ae/]&lt;br /&gt;
&lt;br /&gt;
Department of Civil Defence [http://www.dcd.gov.ae/]&lt;br /&gt;
&lt;br /&gt;
Ajman Free Zone [http://www.afza.gov.ae/]&lt;br /&gt;
&lt;br /&gt;
Dubai Export Development Corporation [http://www.dedc.gov.ae/]&lt;br /&gt;
&lt;br /&gt;
= United States of America =&lt;br /&gt;
&lt;br /&gt;
== Federal Agencies ==&lt;br /&gt;
&lt;br /&gt;
US Air Force AFPIMS Resource Center [http://training.afnews.af.mil]&lt;br /&gt;
&lt;br /&gt;
Interagency Resources Management Conference [http://www.irmco.gov]&lt;br /&gt;
&lt;br /&gt;
NASA Laser Vegetation Imaging Sensor [https://lvis.gsfc.nasa.gov]&lt;br /&gt;
&lt;br /&gt;
NASA Virtual Magnetospheric Observatory [http://vmo.nasa.gov]&lt;br /&gt;
&lt;br /&gt;
Standard Labor Data Collection and Distribution Application [https://www.sldcada.disa.mil]&lt;br /&gt;
&lt;br /&gt;
US Commission on International Religious Freedom [http://www.uscirf.gov]&lt;br /&gt;
&lt;br /&gt;
NOAA Large Marine Ecosystems of the World [http://www.lme.noaa.gov]&lt;br /&gt;
&lt;br /&gt;
NOAA Coral Health and Monitoring Program [http://www.coral.noaa.gov]&lt;br /&gt;
&lt;br /&gt;
US Group on Earth Observations [http://www.usgeo.gov]&lt;br /&gt;
&lt;br /&gt;
US Department of Agriculture - Coastal Commission [http://www.coastalamerica.gov]&lt;br /&gt;
&lt;br /&gt;
US Bankruptcy Court District of Kansas [http://www.ksb.uscourts.gov]&lt;br /&gt;
&lt;br /&gt;
US Army Architecture [http://architecture.army.mil/]&lt;br /&gt;
&lt;br /&gt;
US Army Corp of Engineers, Los Angeles [http://www.spl.usace.army.mil]&lt;br /&gt;
&lt;br /&gt;
US Army Enterprise Solutions Competency Center [http://escc.army.mil]&lt;br /&gt;
&lt;br /&gt;
US Navy Standard Labor Data Collection and Distribution Application [https://www.sldcada.disa.mil]&lt;br /&gt;
&lt;br /&gt;
US Central Command [http://www.centcom.mil]&lt;br /&gt;
&lt;br /&gt;
US Military Leadership Diversity Commission [http://mldc.whs.mil]&lt;br /&gt;
&lt;br /&gt;
US Department of Defense Sexual Assault Prevention and Response Office [http://www.sapr.mil]&lt;br /&gt;
&lt;br /&gt;
US Court of Appeals for the Federal Circuit [http://www.cafc.uscourts.gov]&lt;br /&gt;
&lt;br /&gt;
US Global Change Research Program [http://www.globalchange.gov]&lt;br /&gt;
&lt;br /&gt;
US District Court Oregon [http://www.ord.uscourts.gov]&lt;br /&gt;
&lt;br /&gt;
== Alaska ==&lt;br /&gt;
&lt;br /&gt;
Denali Commission [http://www.denali.gov]&lt;br /&gt;
&lt;br /&gt;
== California ==&lt;br /&gt;
&lt;br /&gt;
Commission on the Status of Women [http://women.ca.gov/]&lt;br /&gt;
&lt;br /&gt;
Calexico [http://www.calexico.ca.gov]&lt;br /&gt;
&lt;br /&gt;
Port of San Diego [http://www.portofsandiego.org/]&lt;br /&gt;
&lt;br /&gt;
== Colorado ==&lt;br /&gt;
&lt;br /&gt;
City of Boulder [http://www.bouldercolorado.gov/]&lt;br /&gt;
&lt;br /&gt;
== Florida ==&lt;br /&gt;
&lt;br /&gt;
Orange County Comptroller [http://www.occompt.com]&lt;br /&gt;
&lt;br /&gt;
Space Florida [http://www.spaceflorida.gov/]&lt;br /&gt;
&lt;br /&gt;
City of Sebastian [http://www.cityofsebastian.org/]&lt;br /&gt;
&lt;br /&gt;
Sebastian Police Department [http://www.sebastianpd.org/]&lt;br /&gt;
&lt;br /&gt;
City of Sebastian Economic Development [http://sebastianbusiness.org/]&lt;br /&gt;
&lt;br /&gt;
City of Sebastian Municipal Golf Course [http://www.sebastiangolfcourse.org/]&lt;br /&gt;
&lt;br /&gt;
City of Sebastian Municipal Airport [http://www.sebastianairport.org/]&lt;br /&gt;
&lt;br /&gt;
City of Sebastian Retirement Site [http://sebastianretirement.com/]&lt;br /&gt;
&lt;br /&gt;
== Georgia ==&lt;br /&gt;
&lt;br /&gt;
City of Atlanta Geographic Information System (GIS) [http://gis.atlantaga.gov/gishome/]&lt;br /&gt;
&lt;br /&gt;
City of Dalton [http://www.cityofdalton-ga.gov/]&lt;br /&gt;
&lt;br /&gt;
Counsil of State Court Judges [http://www.statecourt.georgiacourts.gov/]&lt;br /&gt;
&lt;br /&gt;
== Guam ==&lt;br /&gt;
&lt;br /&gt;
Department of Labor [http://www.dol.guam.gov]&lt;br /&gt;
&lt;br /&gt;
== Hawaii ==&lt;br /&gt;
&lt;br /&gt;
City and County of Honolulu&#039;s Department of Transportation Services (DTS) [http://citytransportationhonolulu.com/]&lt;br /&gt;
&lt;br /&gt;
== Iowa ==&lt;br /&gt;
&lt;br /&gt;
Iowa Department of Education [http://www.iowa.gov/educate]&lt;br /&gt;
&lt;br /&gt;
Iowa Insurance Division - Flood Awareness [http://www.donttestthewatersiowa.gov]&lt;br /&gt;
&lt;br /&gt;
Iowa College Student Aid Commission [http://www.iowacollegeaid.gov]&lt;br /&gt;
&lt;br /&gt;
== Illinois ==&lt;br /&gt;
&lt;br /&gt;
Heyworth [http://www.heyworth-il.gov]&lt;br /&gt;
&lt;br /&gt;
Mattoon [http://mattoon.illinois.gov]&lt;br /&gt;
&lt;br /&gt;
== Indiana ==&lt;br /&gt;
&lt;br /&gt;
City of Richmond [http://richmondindiana.gov]&lt;br /&gt;
&lt;br /&gt;
== Kansas ==&lt;br /&gt;
&lt;br /&gt;
Kansas Racing and Gaming Commission [http://krgc.ks.gov]&lt;br /&gt;
&lt;br /&gt;
City of Emporia [http://www.emporia-kansas.gov]&lt;br /&gt;
&lt;br /&gt;
== Kentucky ==&lt;br /&gt;
&lt;br /&gt;
Frankfort Transit [http://transit.frankfort.ky.gov]&lt;br /&gt;
&lt;br /&gt;
== Maryland ==&lt;br /&gt;
&lt;br /&gt;
Baltimore Police [http://www.baltimorepolice.org/]&lt;br /&gt;
&lt;br /&gt;
== Minnesota ==&lt;br /&gt;
&lt;br /&gt;
Minnesota Pollution Control Agency [http://www.pca.state.mn.us]&lt;br /&gt;
&lt;br /&gt;
Minnesota Management &amp;amp; Budget [http://www.mmb.state.mn.us]&lt;br /&gt;
&lt;br /&gt;
== Mississippi ==&lt;br /&gt;
&lt;br /&gt;
Bay St. Louis [http://www.baystlouis-ms.gov]&lt;br /&gt;
&lt;br /&gt;
== Native American ==&lt;br /&gt;
&lt;br /&gt;
Burns Paiute Reservation [http://www.burnspaiute-nsn.gov]&lt;br /&gt;
&lt;br /&gt;
Hualapai Tribal Nation [http://www.hualapai-nsn.gov]&lt;br /&gt;
&lt;br /&gt;
== Nevada ==&lt;br /&gt;
&lt;br /&gt;
Department of Health and Human Services [https://dwss.nv.gov/]&lt;br /&gt;
&lt;br /&gt;
Division of Mental Health and Development Services [http://mhds.nv.gov]&lt;br /&gt;
&lt;br /&gt;
== New Hampshire ==&lt;br /&gt;
&lt;br /&gt;
Town of Goffstown [http://www.goffstown.com/]&lt;br /&gt;
&lt;br /&gt;
Town of Milton [http://www.miltonnh-us.com/]&lt;br /&gt;
&lt;br /&gt;
Town of New Castle [http://www.newcastlenh.org/]&lt;br /&gt;
&lt;br /&gt;
Town of Newmarket [http://www.newmarketnh.gov/]&lt;br /&gt;
&lt;br /&gt;
Town of Northwood [http://www.northwoodnh.org/]&lt;br /&gt;
&lt;br /&gt;
Town of Plymouth [http://www.plymouth-nh.org/]&lt;br /&gt;
&lt;br /&gt;
Town of Strafford [http://www.strafford.nh.gov/]&lt;br /&gt;
&lt;br /&gt;
== New York ==&lt;br /&gt;
&lt;br /&gt;
City of Henrietta [http://www.henrietta.org/]&lt;br /&gt;
&lt;br /&gt;
== North Carolina ==&lt;br /&gt;
&lt;br /&gt;
Alleghany County [http://www.alleghanycounty-nc.gov/]&lt;br /&gt;
&lt;br /&gt;
County of Moore [http://www.moorecountync.gov/]&lt;br /&gt;
&lt;br /&gt;
== Ohio ==&lt;br /&gt;
&lt;br /&gt;
Brown County [http://www.browncountyohio.gov/]&lt;br /&gt;
&lt;br /&gt;
City of Bexley [http://bexley.org/]&lt;br /&gt;
&lt;br /&gt;
Jackson Township [http://www.jacksontwp.org/]&lt;br /&gt;
&lt;br /&gt;
== Oklahoma ==&lt;br /&gt;
&lt;br /&gt;
Comanche County [http://comanchecounty.us/]&lt;br /&gt;
&lt;br /&gt;
Oklahoma Department of Commerce [http://www.okcommerce.gov]&lt;br /&gt;
&lt;br /&gt;
== Pennsylvania ==&lt;br /&gt;
&lt;br /&gt;
Borough of Greencastle [http://www.greencastlepa.gov]&lt;br /&gt;
&lt;br /&gt;
== Texas ==&lt;br /&gt;
&lt;br /&gt;
Texas Commission on the Arts [http://www.arts.texas.gov/index.php]&lt;br /&gt;
&lt;br /&gt;
== Tennessee ==&lt;br /&gt;
&lt;br /&gt;
Sevier County [http://www.seviercountytn.gov]&lt;br /&gt;
&lt;br /&gt;
== Utah ==&lt;br /&gt;
&lt;br /&gt;
Department of Human Services News [http://www.news.hs.utah.gov]&lt;br /&gt;
&lt;br /&gt;
Utah GIS Portal [http://gis.utah.gov/]&lt;br /&gt;
&lt;br /&gt;
== Washington ==&lt;br /&gt;
&lt;br /&gt;
Washington State Criminal Justice Training Commission [http://www.cjtc.state.wa.us]&lt;br /&gt;
&lt;br /&gt;
== Washington D.C. ==&lt;br /&gt;
&lt;br /&gt;
Destination DC [http://washington.org]&lt;br /&gt;
&lt;br /&gt;
== West Virginia ==&lt;br /&gt;
&lt;br /&gt;
City of Fairmont [http://www.fairmontwv.gov/]&lt;br /&gt;
&lt;br /&gt;
== Wyoming ==&lt;br /&gt;
&lt;br /&gt;
State of Wyoming Department of Agriculture [http://agriculture.wy.gov/]&lt;br /&gt;
&lt;br /&gt;
== Virginia ==&lt;br /&gt;
&lt;br /&gt;
= Uruguay =&lt;br /&gt;
&lt;br /&gt;
Ministry of Tourism and Sport [http://www.turismo.gub.uy/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Agriculture and Fisheries [http://www.dinara.gub.uy/web_dinara/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Labour [http://www.mtss.gub.uy/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Housing, Spatial Planning and Environment [http://www.mvotma.gub.uy/]&lt;br /&gt;
&lt;br /&gt;
National Food Institute [http://www.inda.gub.uy/]&lt;br /&gt;
&lt;br /&gt;
National Police Health Directorate [http://www.sanidadpolicial.gub.uy/]&lt;br /&gt;
&lt;br /&gt;
Department of International Cooperation [http://iuci.opp.gub.uy/cooperacion/]&lt;br /&gt;
&lt;br /&gt;
Regional Programme For The Control Of Chagas Disease [http://chagas.zoonosis.gub.uy/]&lt;br /&gt;
&lt;br /&gt;
Comisión Nacional de Zoonosis [http://www.zoonosis.gub.uy/]&lt;br /&gt;
&lt;br /&gt;
Hospital Maciel [http://www.hmaciel.gub.uy/]&lt;br /&gt;
&lt;br /&gt;
= Uzbekistan =&lt;br /&gt;
&lt;br /&gt;
Center for Coordination and Control over the Securities Market [http://www.csm.gov.uz/]&lt;br /&gt;
&lt;br /&gt;
Official website of the Tashkent Regional Hokimiyat [http://tashvil.gov.uz/]&lt;br /&gt;
&lt;br /&gt;
= Vanuatu =&lt;br /&gt;
&lt;br /&gt;
Government of Vanuatu [http://www.governmentofvanuatu.gov.vu/]&lt;br /&gt;
&lt;br /&gt;
Vanuatu Financial Intelligence Unit [http://www.gov.vu/fiu/]&lt;br /&gt;
&lt;br /&gt;
Customs and Inland Revenue [http://www.customsinlandrevenue.gov.vu/]&lt;br /&gt;
&lt;br /&gt;
Department of Co-operatives &amp;amp; Ni-Vanuatu Business Services[http://www.cooperative.gov.vu/]&lt;br /&gt;
&lt;br /&gt;
Malampa Province [http://malampa.gov.vu/]&lt;br /&gt;
&lt;br /&gt;
Port Vila Municipality Council [http://www.pvmc.gov.vu/fr]&lt;br /&gt;
&lt;br /&gt;
Reserve Bank of Vanuatu [http://www.rbv.gov.vu/]&lt;br /&gt;
&lt;br /&gt;
Telecommunications Regulator [http://www.telecomregulator.gov.vu/]&lt;br /&gt;
&lt;br /&gt;
Utilities Regulatory Authority [http://www.ura.gov.vu/]&lt;br /&gt;
&lt;br /&gt;
Vanuatu Geohazards Observatory [http://www.geohazards.gov.vu/]&lt;br /&gt;
&lt;br /&gt;
National Statistics Office [http://www.vnso.gov.vu/]&lt;br /&gt;
&lt;br /&gt;
= Vatican City =&lt;br /&gt;
&lt;br /&gt;
Pontifical Council for Social Communications [http://www.pccs.va/]&lt;br /&gt;
&lt;br /&gt;
= Venezuela =&lt;br /&gt;
&lt;br /&gt;
Ministerio del Poder Popular para la Alimentación [http://www.minpal.gob.ve]&lt;br /&gt;
&lt;br /&gt;
Ministerio del Poder Popular del Ambiente [[http://www.minamb.gob.ve]]&lt;br /&gt;
&lt;br /&gt;
Ministerio del Poder Popular para el Comercio [[http://www.mincomercio.gob.ve/  ]] &lt;br /&gt;
&lt;br /&gt;
Ministerio del Poder Popular para la Cultura [http://www.ministeriodelacultura.gob.ve/  ] &lt;br /&gt;
&lt;br /&gt;
Ministerio del Poder Popular para la Defensa [http://www.mindefensa.gov.ve/]&lt;br /&gt;
&lt;br /&gt;
Ministerio del Poder Popular para el Deporte [http://www.ind.gob.ve/index.php]   &lt;br /&gt;
&lt;br /&gt;
Ministerio del Poder Popular para las Industrias Básicas y la Minería [http://www.mibam.gob.ve/portal/]&lt;br /&gt;
&lt;br /&gt;
Ministerio del Poder Popular para los Pueblos Indígenas [http://www.minpi.gob.ve/web/]   &lt;br /&gt;
&lt;br /&gt;
Ministerio del Poder Popular para las Relaciones Exteriores [http://www.mre.gov.ve/]&lt;br /&gt;
&lt;br /&gt;
Ministerio del Poder Popular para las Relaciones Interiores y Justicia [http://www.mpprij.gob.ve/]        &lt;br /&gt;
&lt;br /&gt;
Ministerio del Poder Popular del Trabajo y Seguridad Social [http://www.mintra.gov.ve/]   &lt;br /&gt;
&lt;br /&gt;
Ministerio del Poder Popular para la Mujer y la Igualdad de Género [http://www.minmujer.gob.ve/]&lt;br /&gt;
&lt;br /&gt;
= Vietnam =&lt;br /&gt;
&lt;br /&gt;
One Thousand Years of Culture [http://english.thanglonghanoi.gov.vn/]&lt;br /&gt;
&lt;br /&gt;
Quang Nam Department of Foreign Affairs [http://www.ngoaivuquangnam.gov.vn/]&lt;br /&gt;
&lt;br /&gt;
Chu Lai Open Economic Zone [http://english.chulai.gov.vn/]&lt;br /&gt;
&lt;br /&gt;
Vietnam Trade Promotion Agency [http://www.vietrade.gov.vn/en/]&lt;br /&gt;
&lt;br /&gt;
National Institute of Science and Technology [http://www.iza.danang.gov.vn/]&lt;br /&gt;
&lt;br /&gt;
Strengthening Environmental Management and Land Administration [http://semla.monre.gov.vn/]&lt;br /&gt;
&lt;br /&gt;
Innovation Partnership Programme [http://www.ipp.gov.vn/]&lt;br /&gt;
&lt;br /&gt;
= Virgin Islands, British =&lt;br /&gt;
&lt;br /&gt;
Development Planning Unit [http://www.dpu.gov.vg]&lt;br /&gt;
&lt;br /&gt;
= Virgin Islands, US =&lt;br /&gt;
&lt;br /&gt;
Office of the Lieutenant Governor [http://ltg.gov.vi/]&lt;br /&gt;
&lt;br /&gt;
= Yemen =&lt;br /&gt;
&lt;br /&gt;
Ministry of Oil and minerals [http://www.mom.gov.ye]&lt;br /&gt;
&lt;br /&gt;
= Zambia =&lt;br /&gt;
&lt;br /&gt;
President of the Republic of Zambia [http://www.statehouse.gov.zm/]&lt;br /&gt;
&lt;br /&gt;
Zambian Parliament [http://www.parliament.gov.zm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Works and Supply [http://www.mws.gov.zm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://www.moe.gov.zm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Tourism, Environment and Natural Resources[http://www.mtenr.gov.zm/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Local Goverment and Housing [http://www.mlgh.gov.zm/]&lt;br /&gt;
&lt;br /&gt;
Lusaka City Council [http://www.lcc.gov.zm/]&lt;br /&gt;
&lt;br /&gt;
= Zimbabwe =&lt;br /&gt;
&lt;br /&gt;
Ministry of Justice and Legal Affairs [http://www.justice.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Water Resources Development and Management [http://www.water.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.zimfa.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Agriculture, Mechanisation, and Irrigation Development [http://www.moa.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Zimbabwe Government Online [http://www.zim.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health and Child Welfare [http://www.mohcw.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Industry and Commerce [http://www.miit.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Education, Sports, Arts, and Culture [http://www.moesc.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Women Affairs, Gender, and Community Development [http://www.women.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Science and Technology Development [http://www.mstd.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Small and Medium Enterprises and Cooperative Development [http://www.msmed.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Lands and Rural Resettlement [http://www.lands.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Transport Communications and Infrastructural Development [http://www.transcom.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Small and Medium Enterprises Development [http://www.smesi.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Tourism and Hospitality Industry [http://www.tourism.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Energy and Power Development [http://www.energy.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Office of the Vice President [http://www.vpmujuruoffice.gov.zw]&lt;br /&gt;
&lt;br /&gt;
Ministry of Public Service [http://www.publicservice.gov.zw]&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Government_Websites_Using_Joomla&amp;diff=38263</id>
		<title>Government Websites Using Joomla</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Government_Websites_Using_Joomla&amp;diff=38263"/>
		<updated>2011-04-05T09:32:44Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: /* Greece */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Multinational Organizations =&lt;br /&gt;
&lt;br /&gt;
== European Union ==&lt;br /&gt;
&lt;br /&gt;
Delegation to the United States [http://eurunion.org]&lt;br /&gt;
&lt;br /&gt;
== United Nations ==&lt;br /&gt;
&lt;br /&gt;
Regional Information Centre [http://unric.org]&lt;br /&gt;
&lt;br /&gt;
UN in Turkmenistan [http://www.untuk.org]&lt;br /&gt;
&lt;br /&gt;
== World Health Organization ==&lt;br /&gt;
&lt;br /&gt;
Regional Office for Africa [http://www.afro.who.int/]&lt;br /&gt;
&lt;br /&gt;
= Afghanistan =&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://pashto.moe.gov.af]&lt;br /&gt;
&lt;br /&gt;
= Argentina =&lt;br /&gt;
&lt;br /&gt;
President of Argentina [http://casarosada.gov.ar]&lt;br /&gt;
&lt;br /&gt;
= Australia =&lt;br /&gt;
&lt;br /&gt;
High Court of Australia [http://www.hcourt.gov.au]&lt;br /&gt;
&lt;br /&gt;
National Capital Authority [http://www.nationalcapital.gov.au]&lt;br /&gt;
&lt;br /&gt;
Premier of South Australia [http://www.premier.sa.gov.au]&lt;br /&gt;
&lt;br /&gt;
QRAA Queensland Government [http://www.qraa.qld.gov.au]&lt;br /&gt;
&lt;br /&gt;
= Bangladesh =&lt;br /&gt;
&lt;br /&gt;
Main country website [http://bangladesh.gov.bd/]&lt;br /&gt;
&lt;br /&gt;
= Belgium =&lt;br /&gt;
&lt;br /&gt;
ICT en Zorg, from REB Vlaanderen, an initiative of the Vlaamse Minister van Onderwijs en Vorming [http://www.ictenzorg.be/]&lt;br /&gt;
&lt;br /&gt;
= Brazil =&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://portal.mec.gov.br/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Defense [https://www.defesa.gov.br/]&lt;br /&gt;
&lt;br /&gt;
= Canada =&lt;br /&gt;
&lt;br /&gt;
Farm Products Council [http://www.fpcc-cpac.gc.ca/index.php/eng/home]&lt;br /&gt;
&lt;br /&gt;
= Cape Verde =&lt;br /&gt;
&lt;br /&gt;
President of Cape Verde [http://www.primeiroministro.cv/]&lt;br /&gt;
&lt;br /&gt;
= Colombia =&lt;br /&gt;
&lt;br /&gt;
Embassy to the United States [http://www.colombiaemb.org/]&lt;br /&gt;
&lt;br /&gt;
= Chile =&lt;br /&gt;
&lt;br /&gt;
Comunidad Tecnológica [http://www.comunidadtecnologica.gob.cl]&lt;br /&gt;
&lt;br /&gt;
Concace [http://conacedrogas.gov.cl]/portal&lt;br /&gt;
&lt;br /&gt;
Instituto Forestal [http://www.infor.gov.cl]&lt;br /&gt;
&lt;br /&gt;
Instituto de Desarrollo Agropecuario [http://www.indap.gov.cl]&lt;br /&gt;
&lt;br /&gt;
Servicio Nacional de Geología y Minería [http://www.sernageomin.gov.cl]&lt;br /&gt;
&lt;br /&gt;
Dirección de Crédito Prendario [http://www.dicrep.gov.cl]&lt;br /&gt;
&lt;br /&gt;
Instituto de Previsión Social [http://ips.gov.cl]&lt;br /&gt;
&lt;br /&gt;
Servicio Nacional de Pesca [http://www.sernapesca.gov.cl]&lt;br /&gt;
&lt;br /&gt;
= Dubai =&lt;br /&gt;
&lt;br /&gt;
Dubai Civil Defence [http://www.dcd.gov.ae]&lt;br /&gt;
&lt;br /&gt;
= Ecuador =&lt;br /&gt;
&lt;br /&gt;
President of Ecuador [http://elciudadano.gov.ec]&lt;br /&gt;
&lt;br /&gt;
= Ethiopia =&lt;br /&gt;
&lt;br /&gt;
Addis Ababa City [http://Addisababacity.gov.et]&lt;br /&gt;
&lt;br /&gt;
Arra[http://Arra.org.et]&lt;br /&gt;
&lt;br /&gt;
CSA [http://Csa.gov.et]&lt;br /&gt;
&lt;br /&gt;
EIAR [http://Eiar.gov.et]&lt;br /&gt;
&lt;br /&gt;
Election Ethiopia [http://Electionethiopia.org]&lt;br /&gt;
&lt;br /&gt;
EWCA [http://Ewca.gov.et]&lt;br /&gt;
&lt;br /&gt;
HAPCO [http://Hapco.gov.et]&lt;br /&gt;
&lt;br /&gt;
Harar Municipality [http://Hararmunicipality.org]&lt;br /&gt;
&lt;br /&gt;
HOF Ethiopia [http://Hofethiopia.gov.et]&lt;br /&gt;
&lt;br /&gt;
Kolfekernio [http://Kolfekeranio.gov.et]&lt;br /&gt;
&lt;br /&gt;
Modfed [http://Modfed.gov.et]&lt;br /&gt;
&lt;br /&gt;
MOH [http://Moh.gov.et]&lt;br /&gt;
&lt;br /&gt;
MOYS [http://Moys.gov.et]&lt;br /&gt;
&lt;br /&gt;
Ogaden [http://Ogaden.com]&lt;br /&gt;
&lt;br /&gt;
SNNPREB [http://Snnpreb.gov.et]&lt;br /&gt;
&lt;br /&gt;
SRS [http://Srsinfo.gov.et]&lt;br /&gt;
&lt;br /&gt;
= France =&lt;br /&gt;
&lt;br /&gt;
Eiffel Tower [http://www.tour-eiffel.com/]&lt;br /&gt;
&lt;br /&gt;
= Germany=&lt;br /&gt;
AStA der RWTH Aachen [http://www.asta.rwth-aachen.de/]&lt;br /&gt;
&lt;br /&gt;
Gemeinde Brüggen [http://www.brueggen.de/]&lt;br /&gt;
&lt;br /&gt;
Stadt Wertingen [http://www.wertingen.de/]&lt;br /&gt;
&lt;br /&gt;
= Greece =&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://www.minedu.gov.gr]&lt;br /&gt;
&lt;br /&gt;
www.gss.gov.gr [http://www.gss.gov.gr]&lt;br /&gt;
&lt;br /&gt;
http://chalki.gov.gr [http://chalki.gov.gr]&lt;br /&gt;
&lt;br /&gt;
http://www.halkidiki.gov.gr [http://www.halkidiki.gov.gr]&lt;br /&gt;
&lt;br /&gt;
Portal of Municipality of Nea Smirni [http://www.neasmyrni.gov.gr]&lt;br /&gt;
&lt;br /&gt;
http://www.nom-athinas.gov.gr [http://www.nom-athinas.gov.gr]&lt;br /&gt;
&lt;br /&gt;
Municipality of Nikaia, Attica [http://www.polisnikaia.gr]&lt;br /&gt;
&lt;br /&gt;
= Guayana =&lt;br /&gt;
&lt;br /&gt;
President of Guayana [http://opnew.op.gov.gy/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.minfor.gov.gy/tsite/]&lt;br /&gt;
&lt;br /&gt;
= India =&lt;br /&gt;
&lt;br /&gt;
Government of Kerala [http://www.kerala.gov.in/]&lt;br /&gt;
&lt;br /&gt;
= Indonesia =&lt;br /&gt;
&lt;br /&gt;
Main country website [http://indonesia.go.id/]&lt;br /&gt;
&lt;br /&gt;
State Secretariat [http://www.setneg.go.id/]&lt;br /&gt;
&lt;br /&gt;
National Election Commission [http://kpu.go.id/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Environment [http://www.menlh.go.id/home/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Cooperatives and Small and Medium Enterprise [http://http://www.depkop.go.id/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Empowerment of Women and Child Protection [http://http://www.menegpp.go.id/]&lt;br /&gt;
&lt;br /&gt;
Directorate General of Higher Education [http://dikti.go.id/]&lt;br /&gt;
&lt;br /&gt;
Directorate General of Taxes [http://www.pajak.go.id/]&lt;br /&gt;
&lt;br /&gt;
Media Center, Ministry of Defense [http://http://www.dmc.kemhan.go.id/]&lt;br /&gt;
&lt;br /&gt;
South Kalimantan Province [http://www.kalselprov.go.id]&lt;br /&gt;
&lt;br /&gt;
Gorontalo Province [http://www.gorontaloprov.go.id/]&lt;br /&gt;
&lt;br /&gt;
Serdang Bedagai Regency of North Sumatera Province [http://serdangbedagaikab.go.id/]&lt;br /&gt;
&lt;br /&gt;
Sinjai Regency of South Sulawesi Province [http://sinjai.go.id/sinjai/]&lt;br /&gt;
&lt;br /&gt;
Aceh Syari&#039;ah Court [http://www.mahkamahsyariahaceh.go.id/]&lt;br /&gt;
&lt;br /&gt;
= Iran =&lt;br /&gt;
&lt;br /&gt;
Ayatollah Ali Khamenei [http://arabic.khamenei.ir/]&lt;br /&gt;
&lt;br /&gt;
= Israel =&lt;br /&gt;
&lt;br /&gt;
Civil Aviation Authority [http://en.caa.gov.il]&lt;br /&gt;
&lt;br /&gt;
Ministry of Transport and Road safety [http://en.mot.gov.il]&lt;br /&gt;
&lt;br /&gt;
= Italy =&lt;br /&gt;
&lt;br /&gt;
City of Capoterra [http://www.comune.capoterra.ca.it]&lt;br /&gt;
&lt;br /&gt;
Ministry of Economic Development [http://www.sviluppoeconomico.gov.it]&lt;br /&gt;
&lt;br /&gt;
Directorate-General for Anti-Counterfeiting&lt;br /&gt;
Italian Patent and Trademark Office [http://www.uibm.gov.it]&lt;br /&gt;
&lt;br /&gt;
Minister for the Equal Opportunities [http://www.pariopportunita.gov.it]&lt;br /&gt;
&lt;br /&gt;
Unioncamere [http://www.unioncamere.gov.it]&lt;br /&gt;
&lt;br /&gt;
= Laos= &lt;br /&gt;
&lt;br /&gt;
Luang Prabang Province [http://luangprabang.gov.la/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Agriculture [http://www.maf.gov.la/index.php]&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://www.moe.gov.la/index.php]&lt;br /&gt;
&lt;br /&gt;
Ministry of Energy and Mines [http://www.mem.gov.la/index.php]&lt;br /&gt;
&lt;br /&gt;
Ministry of Health [http://www.moh.gov.la]&lt;br /&gt;
&lt;br /&gt;
National Authority of Science and Technology [http://nast.gov.la]&lt;br /&gt;
&lt;br /&gt;
National Authority of Post and Telecommunications [http://www.napt.gov.la/]&lt;br /&gt;
&lt;br /&gt;
Statistics Bureau [http://www.nsc.gov.la/]&lt;br /&gt;
&lt;br /&gt;
= Latvia =&lt;br /&gt;
&lt;br /&gt;
Main government website [http://www.li.lv/]&lt;br /&gt;
&lt;br /&gt;
= Lesotho =&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://www.education.gov.ls]&lt;br /&gt;
&lt;br /&gt;
= Madagascar =&lt;br /&gt;
&lt;br /&gt;
Ministère des Finances et du Budget [http://www.mfb.gov.mg/]&lt;br /&gt;
&lt;br /&gt;
= Mali =&lt;br /&gt;
&lt;br /&gt;
Primature [http://www.primature.gov.ml/]&lt;br /&gt;
&lt;br /&gt;
Ministère de l&#039;Economie et des Finances [http://www.finances.gov.ml/]&lt;br /&gt;
&lt;br /&gt;
Direction Générale des Marchés Public et des Délegations de Service Public [http://www.dgmp.gov.ml/]&lt;br /&gt;
&lt;br /&gt;
Direction Nationale des Domaines et du Cadastre [http://www.dndc.gov.ml/]&lt;br /&gt;
&lt;br /&gt;
= Mexico = &lt;br /&gt;
&lt;br /&gt;
Bicentenary Celebrations [http://www.bicentenario.gob.mx]&lt;br /&gt;
&lt;br /&gt;
Ministry of Foreign Affairs [http://www.sre.gob.mx]&lt;br /&gt;
&lt;br /&gt;
National Fund for the Promotion of the Crafts [http://www.fonart.gob.mx]&lt;br /&gt;
&lt;br /&gt;
= Mongolia =&lt;br /&gt;
&lt;br /&gt;
200+ Government Websites [http://community.joomla.org/blogs/community/1210-mongolia.html]&lt;br /&gt;
&lt;br /&gt;
= Netherlands =&lt;br /&gt;
&lt;br /&gt;
De Sociale Inlichtingen [http://www.siod.nl/]&lt;br /&gt;
&lt;br /&gt;
e-overheid [http://www.prod.joomla.ictu.asp4all.nl/]&lt;br /&gt;
&lt;br /&gt;
Stichting ICTU [http://www.ictu.nl/] &lt;br /&gt;
&lt;br /&gt;
Patent Office [http://www.octrooicentrum.nl/]&lt;br /&gt;
&lt;br /&gt;
= Samoa =&lt;br /&gt;
&lt;br /&gt;
Ministry of Education [http://www.mesc.gov.ws]&lt;br /&gt;
&lt;br /&gt;
= Singapore =&lt;br /&gt;
&lt;br /&gt;
National Parks Singapore [http://www.nparks.gov.sg/cms/]&lt;br /&gt;
&lt;br /&gt;
= Spain =&lt;br /&gt;
&lt;br /&gt;
Castilla-La Mancha [http://edu.jccm.es]&lt;br /&gt;
&lt;br /&gt;
= Sri Lanka =&lt;br /&gt;
&lt;br /&gt;
University Grants Commission [http://www.ugc.ac.lk/]&lt;br /&gt;
&lt;br /&gt;
= South Africa =&lt;br /&gt;
&lt;br /&gt;
City of Johannesburg [http://joburg.org.za]&lt;br /&gt;
&lt;br /&gt;
= Thailand =&lt;br /&gt;
&lt;br /&gt;
Ministry of Science and Technology [http://www.most.go.th/main]&lt;br /&gt;
&lt;br /&gt;
Mae Hong Son Province [http://www.maehongsorn.go.th]&lt;br /&gt;
&lt;br /&gt;
National Science and Technology Development Agency [http://www.nstda.or.th]&lt;br /&gt;
&lt;br /&gt;
National Electronics and Computer Technology Center [http://www.nectec.or.th]&lt;br /&gt;
&lt;br /&gt;
The National Telecommunications Commission [http://eng.ntc.or.th]&lt;br /&gt;
&lt;br /&gt;
Krabi Prolice [http://www.krabipolice.go.th]&lt;br /&gt;
&lt;br /&gt;
The Secondary Education Service Area 20 [http://www.sesa20.go.th/]&lt;br /&gt;
&lt;br /&gt;
National Research Counil of Thailand [http://www.nrct.go.th]&lt;br /&gt;
&lt;br /&gt;
Department of Medical Sciences [http://www.dmsc.moph.go.th/dmsc2010/]&lt;br /&gt;
&lt;br /&gt;
Chiangmai Provincial Labour Protection and Welfare Office [http://chiangmai.labour.go.th]&lt;br /&gt;
&lt;br /&gt;
= Tonga =&lt;br /&gt;
&lt;br /&gt;
Main government website [https://www.pmo.gov.to/]&lt;br /&gt;
&lt;br /&gt;
Ministry of Commerce [http://mlci.gov.to/]&lt;br /&gt;
&lt;br /&gt;
= Tunisia =&lt;br /&gt;
&lt;br /&gt;
Main country website [http://www.ministeres.tn/]&lt;br /&gt;
President of Tunisia [http://www.carthage.tn/en/index.php]]&lt;br /&gt;
&lt;br /&gt;
= Turkey =&lt;br /&gt;
&lt;br /&gt;
Governorship of Kocaeli - EU Projects Coordination Center [http://www.kocaeliab.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
Governorship of Ordu [http://www.ordu.gov.tr/]&lt;br /&gt;
&lt;br /&gt;
= Ukraine =&lt;br /&gt;
&lt;br /&gt;
Lviv City [http://www.city-adm.lviv.ua]&lt;br /&gt;
&lt;br /&gt;
= United Kingdom =&lt;br /&gt;
&lt;br /&gt;
Ministry of Defense [http://www.stabilisationunit.gov.uk]&lt;br /&gt;
&lt;br /&gt;
Serious Organised Crime Agency [http://SOCA.gov.uk]&lt;br /&gt;
&lt;br /&gt;
UK Foreign Office Awards ceremony [http://www.foreignofficeawards.co.uk/]&lt;br /&gt;
&lt;br /&gt;
UK Parliamentary Press Gallery [http://www.pressgallery.org.uk/]&lt;br /&gt;
&lt;br /&gt;
= United States of America =&lt;br /&gt;
&lt;br /&gt;
== Federal Agencies ==&lt;br /&gt;
&lt;br /&gt;
US Air Force AFPIMS Resource Center [http://training.afnews.af.mil]&lt;br /&gt;
&lt;br /&gt;
Interagency Resources Management Conference [http://www.irmco.gov]&lt;br /&gt;
&lt;br /&gt;
NASA Laser Vegetation Imaging Sensor [https://lvis.gsfc.nasa.gov]&lt;br /&gt;
&lt;br /&gt;
NASA Virtual Magnetospheric Observatory [http://vmo.nasa.gov]&lt;br /&gt;
&lt;br /&gt;
Standard Labor Data Collection and Distribution Application [https://www.sldcada.disa.mil]&lt;br /&gt;
&lt;br /&gt;
US Commission on International Religious Freedom [http://www.uscirf.gov]&lt;br /&gt;
&lt;br /&gt;
NOAA Large Marine Ecosystems of the World [http://www.lme.noaa.gov]&lt;br /&gt;
&lt;br /&gt;
US Group on Earth Observations [http://www.usgeo.gov]&lt;br /&gt;
&lt;br /&gt;
US Department of Agriculture - Coastal Commission [http://www.coastalamerica.gov]&lt;br /&gt;
&lt;br /&gt;
US Bankruptcy Court District of Kansas [http://www.ksb.uscourts.gov]&lt;br /&gt;
&lt;br /&gt;
US Army Architecture [http://architecture.army.mil/]&lt;br /&gt;
&lt;br /&gt;
US Army Corp of Engineers, Los Angeles [http://www.spl.usace.army.mil]&lt;br /&gt;
&lt;br /&gt;
US Army Enterprise Solutions Competency Center [http://escc.army.mil]&lt;br /&gt;
&lt;br /&gt;
US Navy Standard Labor Data Collection and Distribution Application [https://www.sldcada.disa.mil]&lt;br /&gt;
&lt;br /&gt;
US Central Command [http://www.centcom.mil]&lt;br /&gt;
&lt;br /&gt;
US Military Leadership Diversity Commission [http://mldc.whs.mil]&lt;br /&gt;
&lt;br /&gt;
US Department of Defense Sexual Assault Prevention and Response Office [http://www.sapr.mil]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Alaska ==&lt;br /&gt;
&lt;br /&gt;
Denali Commission [http://www.denali.gov]&lt;br /&gt;
&lt;br /&gt;
== California ==&lt;br /&gt;
&lt;br /&gt;
Commission on the Status of Women [http://women.ca.gov/]&lt;br /&gt;
&lt;br /&gt;
Calexico [http://www.calexico.ca.gov]&lt;br /&gt;
&lt;br /&gt;
Port of San Diego [http://www.portofsandiego.org/]&lt;br /&gt;
&lt;br /&gt;
== Colorado ==&lt;br /&gt;
&lt;br /&gt;
City of Boulder [http://www.bouldercolorado.gov/]&lt;br /&gt;
&lt;br /&gt;
== Florida ==&lt;br /&gt;
&lt;br /&gt;
Orange County Comptroller [http://www.occompt.com]&lt;br /&gt;
&lt;br /&gt;
Space Florida [http://www.spaceflorida.gov/]&lt;br /&gt;
&lt;br /&gt;
City of Sebastian [http://www.cityofsebastian.org/]&lt;br /&gt;
&lt;br /&gt;
Sebastian Police Department [http://www.sebastianpd.org/]&lt;br /&gt;
&lt;br /&gt;
City of Sebastian Economic Development [http://sebastianbusiness.org/]&lt;br /&gt;
&lt;br /&gt;
City of Sebastian Municipal Golf Course [http://www.sebastiangolfcourse.org/]&lt;br /&gt;
&lt;br /&gt;
City of Sebastian Municipal Airport [http://www.sebastianairport.org/]&lt;br /&gt;
&lt;br /&gt;
City of Sebastian Retirement Site [http://sebastianretirement.com/]&lt;br /&gt;
&lt;br /&gt;
== Georgia ==&lt;br /&gt;
&lt;br /&gt;
City of Atlanta Geographic Information System (GIS) [http://gis.atlantaga.gov/gishome/]&lt;br /&gt;
&lt;br /&gt;
City of Dalton [http://www.cityofdalton-ga.gov/]&lt;br /&gt;
&lt;br /&gt;
Counsil of State Court Judges [http://www.statecourt.georgiacourts.gov/]&lt;br /&gt;
&lt;br /&gt;
== Guam ==&lt;br /&gt;
&lt;br /&gt;
Department of Labor [http://www.dol.guam.gov]&lt;br /&gt;
&lt;br /&gt;
== Hawaii ==&lt;br /&gt;
&lt;br /&gt;
City and County of Honolulu&#039;s Department of Transportation Services (DTS) [http://citytransportationhonolulu.com/]&lt;br /&gt;
&lt;br /&gt;
== Iowa ==&lt;br /&gt;
&lt;br /&gt;
Iowa Department of Education [http://www.iowa.gov/educate]&lt;br /&gt;
&lt;br /&gt;
Iowa Insurance Division - Flood Awareness [http://www.donttestthewatersiowa.gov]&lt;br /&gt;
&lt;br /&gt;
Iowa College Student Aid Commission [http://www.iowacollegeaid.gov]&lt;br /&gt;
&lt;br /&gt;
== Illinois ==&lt;br /&gt;
&lt;br /&gt;
Heyworth [http://www.heyworth-il.gov]&lt;br /&gt;
&lt;br /&gt;
Mattoon [http://mattoon.illinois.gov]&lt;br /&gt;
&lt;br /&gt;
== Indiana ==&lt;br /&gt;
&lt;br /&gt;
City of Richmond [http://richmondindiana.gov]&lt;br /&gt;
&lt;br /&gt;
== Kansas ==&lt;br /&gt;
&lt;br /&gt;
City of Emporia [http://www.emporia-kansas.gov/]&lt;br /&gt;
&lt;br /&gt;
== Kentucky ==&lt;br /&gt;
&lt;br /&gt;
Frankfort Transit [http://transit.frankfort.ky.gov]&lt;br /&gt;
&lt;br /&gt;
== Maryland ==&lt;br /&gt;
&lt;br /&gt;
Baltimore Police [http://www.baltimorepolice.org/]&lt;br /&gt;
&lt;br /&gt;
== Mississippi ==&lt;br /&gt;
&lt;br /&gt;
Bay St. Louis [http://www.baystlouis-ms.gov]&lt;br /&gt;
&lt;br /&gt;
== Native American ==&lt;br /&gt;
&lt;br /&gt;
Burns Paiute Reservation [http://www.burnspaiute-nsn.gov]&lt;br /&gt;
&lt;br /&gt;
Hualapai Tribal Nation [http://www.hualapai-nsn.gov]&lt;br /&gt;
&lt;br /&gt;
== Nevada ==&lt;br /&gt;
&lt;br /&gt;
Department of Health and Human Services [https://dwss.nv.gov/]&lt;br /&gt;
&lt;br /&gt;
Division of Mental Health and Development Services [http://mhds.nv.gov]&lt;br /&gt;
&lt;br /&gt;
== New Hampshire ==&lt;br /&gt;
&lt;br /&gt;
Town of Goffstown [http://www.goffstown.com/]&lt;br /&gt;
&lt;br /&gt;
Town of Milton [http://www.miltonnh-us.com/]&lt;br /&gt;
&lt;br /&gt;
Town of New Castle [http://www.newcastlenh.org/]&lt;br /&gt;
&lt;br /&gt;
Town of Newmarket [http://www.newmarketnh.gov/]&lt;br /&gt;
&lt;br /&gt;
Town of Northwood [http://www.northwoodnh.org/]&lt;br /&gt;
&lt;br /&gt;
Town of Plymouth [http://www.plymouth-nh.org/]&lt;br /&gt;
&lt;br /&gt;
Town of Strafford [http://www.strafford.nh.gov/]&lt;br /&gt;
&lt;br /&gt;
== New York ==&lt;br /&gt;
&lt;br /&gt;
City of Henrietta [http://www.henrietta.org/]&lt;br /&gt;
&lt;br /&gt;
== North Carolina ==&lt;br /&gt;
&lt;br /&gt;
Alleghany County [http://www.alleghanycounty-nc.gov/]&lt;br /&gt;
&lt;br /&gt;
County of Moore [http://www.moorecountync.gov/]&lt;br /&gt;
&lt;br /&gt;
== Ohio ==&lt;br /&gt;
&lt;br /&gt;
Brown County [http://www.browncountyohio.gov/]&lt;br /&gt;
&lt;br /&gt;
City of Bexley [http://bexley.org/]&lt;br /&gt;
&lt;br /&gt;
Jackson Township [http://www.jacksontwp.org/]&lt;br /&gt;
&lt;br /&gt;
== Oklahoma ==&lt;br /&gt;
&lt;br /&gt;
Comanche County [http://comanchecounty.us/]&lt;br /&gt;
&lt;br /&gt;
Oklahoma Department of Commerce [http://www.okcommerce.gov]&lt;br /&gt;
&lt;br /&gt;
== Pennsylvania ==&lt;br /&gt;
&lt;br /&gt;
Borough of Greencastle [http://www.greencastlepa.gov]&lt;br /&gt;
&lt;br /&gt;
== Texas ==&lt;br /&gt;
&lt;br /&gt;
Texas Commission on the Arts [http://www.arts.texas.gov/index.php]&lt;br /&gt;
&lt;br /&gt;
== Tennessee ==&lt;br /&gt;
&lt;br /&gt;
Sevier County [http://www.seviercountytn.gov]&lt;br /&gt;
&lt;br /&gt;
== Utah ==&lt;br /&gt;
&lt;br /&gt;
Department of Human Services News [http://www.news.hs.utah.gov]&lt;br /&gt;
&lt;br /&gt;
Utah GIS Portal [http://gis.utah.gov/]&lt;br /&gt;
&lt;br /&gt;
== Washington ==&lt;br /&gt;
&lt;br /&gt;
Washington State Criminal Justice Training Commission [http://www.cjtc.state.wa.us]&lt;br /&gt;
&lt;br /&gt;
== Washington D.C. ==&lt;br /&gt;
&lt;br /&gt;
Destination DC [http://washington.org]&lt;br /&gt;
&lt;br /&gt;
== West Virginia ==&lt;br /&gt;
&lt;br /&gt;
City of Fairmont [http://www.fairmontwv.gov/]&lt;br /&gt;
&lt;br /&gt;
== Wyoming ==&lt;br /&gt;
&lt;br /&gt;
State of Wyoming Department of Agriculture [http://agriculture.wy.gov/]&lt;br /&gt;
&lt;br /&gt;
== Virginia ==&lt;br /&gt;
&lt;br /&gt;
Madison County [http://www.madisonco.virginia.gov/]&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Archived:Adapting_a_Joomla_1.5_extension_to_Joomla_2.5&amp;diff=37533</id>
		<title>Archived:Adapting a Joomla 1.5 extension to Joomla 2.5</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Archived:Adapting_a_Joomla_1.5_extension_to_Joomla_2.5&amp;diff=37533"/>
		<updated>2011-02-24T09:53:08Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Adding detailed ACL information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}&lt;br /&gt;
&lt;br /&gt;
This article is written to help developers upgrade their extensions from Joomla 1.5 to Joomla 1.6. If you have any further tips, feel free to add them onto this wiki article.&lt;br /&gt;
&lt;br /&gt;
== System setup ==&lt;br /&gt;
This document assumes that you are running the program eclipse for your development. This will allow you to automate most of the Joomla conversion process. For more instructions on how to setup eclipse, see [[Setting up your workstation for Joomla! development]].&lt;br /&gt;
&lt;br /&gt;
== Background reading ==&lt;br /&gt;
[[What&#039;s new in Joomla 1.6#Developers]] describes most changes of Joomla 1.6 and how this affect developers. Please note that the API documentation on the joomla wiki is incomplete/inaccurate. Therefore the best way to look at the Joomla 1.6 API is to look directly at the joomla source code.&lt;br /&gt;
&lt;br /&gt;
== Updating your Joomla 1.5 language files to work on Joomla 1.6 ==  &lt;br /&gt;
Using the native php ini parser for language files has many benefits including much faster performace. Converting your exisiting Joomla 1.5 into the new format is very easy if you use a coding platform like eclipse. Search your file for *.ini in your project of choice. Then use the following search/replace values to automatically, replace exisiting quotes, add quotes to string values and update your comments.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Double quotes are NOT allowed inside the string value&#039;&#039;&#039;, except when using &amp;quot;_QQ_&amp;quot; to represent them. In case of js use, better use html entities or single quotes.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Single quotes are allowed. &lt;br /&gt;
#Put a closing double quote at end of line if not empty or a comment.  Find ^((?!#).+)\R  replace with $1&amp;quot;\R&lt;br /&gt;
#Put an opening double quote at start of translated string if not empty or comment. Find ^((?!#).+?\=)(.+)\R replace with $1&amp;quot;$2\R&lt;br /&gt;
#Now replace the hash comments with the new semi colon. Find ^# and replace with ;&lt;br /&gt;
#Remove any illegal strings that can prevent files loading. Find ^(null|yes|no|true|false|on|off|none)=(.+)\R and replace with nothing.&lt;br /&gt;
&lt;br /&gt;
Enabling Debug System in Global configuration will display the parsing errors per file and lines.&lt;br /&gt;
&lt;br /&gt;
If you do not remove the illegal strings, then your language file will load until one of them is reached. The now &amp;quot;illegal&amp;quot; strings in the language file like NO, are handled by adding a &#039;J&#039; in-front of them.  Just make sure you change these language strings in your XML files as well. You can include in your language file:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
;forbidden words&lt;br /&gt;
JNULL=&amp;quot;Null&amp;quot;&lt;br /&gt;
JYES=&amp;quot;Yes&amp;quot;&lt;br /&gt;
JNO=&amp;quot;No&amp;quot;&lt;br /&gt;
JTRUE=&amp;quot;True&amp;quot;&lt;br /&gt;
JFALSE=&amp;quot;False&amp;quot;&lt;br /&gt;
JON=&amp;quot;On&amp;quot;&lt;br /&gt;
JOFF=&amp;quot;Off&amp;quot;&lt;br /&gt;
JNONE=&amp;quot;None&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Legacy mode removed ==&lt;br /&gt;
More information needed....&lt;br /&gt;
&lt;br /&gt;
== New installer XML system ==&lt;br /&gt;
Changes have been made to the Joomla 1.6 extension installer XML.  More information is required.&lt;br /&gt;
&lt;br /&gt;
== Load language in plugins ==&lt;br /&gt;
On the day of release, the way Language files are loaded for Joomla! 1.6 Plugins was changed. As a result, all Plugins must add the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
 public function __construct(&amp;amp; $subject, $config)&lt;br /&gt;
        {&lt;br /&gt;
&lt;br /&gt;
                parent::__construct($subject, $config);&lt;br /&gt;
&lt;br /&gt;
                $this-&amp;gt;loadLanguage();&lt;br /&gt;
&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== change in BuildRoute logic ==&lt;br /&gt;
In Joomla! 1.6, the router BuildRoute logic for each Component was changed to require a Menu Item in order to build the link.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        // we need a menu item.  Either the one specified in the query, or the current active one if none specified&lt;br /&gt;
        if (empty($query[&#039;Itemid&#039;])) {&lt;br /&gt;
                $menuItem = $menu-&amp;gt;getActive();&lt;br /&gt;
&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        else {&lt;br /&gt;
&lt;br /&gt;
                $menuItem = $menu-&amp;gt;getItem($query[&#039;Itemid&#039;]);&lt;br /&gt;
&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There continue to be problems with the router. It is not uncommon to see a URL that bears the existing page URL as the &amp;quot;base&amp;quot; (if you will), followed by it&#039;s real URL. Look for these situations and report them on the tracker.&lt;br /&gt;
&lt;br /&gt;
For those who have been around long enough, forcing the Menu Item on the URL was done in 1.0.12 and it turned out poorly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Accessing component parameters in front-end ==&lt;br /&gt;
&lt;br /&gt;
Accessing component parameters in frontend for specific menu item, we will use com_content as example : in 1.5 this was done with&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?php&lt;br /&gt;
    $mycom_params =  JComponentHelper::getParams(&#039;com_content&#039;);&lt;br /&gt;
&lt;br /&gt;
    echo $mycom_params-&amp;gt;get(&#039;num_leading_articles&#039;);&lt;br /&gt;
&lt;br /&gt;
    ?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
above code in joomla 1.6will output the DEFAULT com_content params , not affected with menu item so the new code for 1.6 would be&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?php&lt;br /&gt;
    $app = JFactory::getApplication(&#039;site&#039;);&lt;br /&gt;
&lt;br /&gt;
    mycom_params =  &amp;amp; $app-&amp;gt;getParams(&#039;com_content&#039;);&lt;br /&gt;
&lt;br /&gt;
    echo $mycom_params-&amp;gt;get(&#039;num_leading_articles&#039;);&lt;br /&gt;
&lt;br /&gt;
    ?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plugin parameters ==&lt;br /&gt;
&lt;br /&gt;
In 1.5, you had to use the Plugin Helper to retrieve the Plugin object and then JParameter to retrieve the Parameter Object. Following those steps, you could work with a single parameter.&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;
&lt;br /&gt;
$plugin = &amp;amp; JPluginHelper::getPlugin(&#039;content&#039;, &#039;emailcloak&#039;);&lt;br /&gt;
&lt;br /&gt;
$pluginParams = new JParameter($plugin-&amp;gt;params);&lt;br /&gt;
&lt;br /&gt;
$mode = $pluginParams-&amp;gt;def(&#039;mode&#039;, 1);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In 1.6,Joomla makes the parameter object automatically available to you.&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;
&lt;br /&gt;
$mode = $this-&amp;gt;params-&amp;gt;def(&#039;mode&#039;, 1);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changing Javascript function overrides ==&lt;br /&gt;
Joomla now has some of its Javascript functions prefixed with &amp;quot;Joomla&amp;quot;. This means the functions are always unique and won&#039;t clash with other javascript functions on your server/webpage. However, you now need a different method to override the default Joomla Javascript. The Joomla 1.5 method was:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
function submitbutton(pressbutton) {&lt;br /&gt;
var form = document.adminForm;&lt;br /&gt;
    if (pressbutton == &#039;applyconfig&#039;) {&lt;br /&gt;
        //do something unique&lt;br /&gt;
        form.action.value = &#039;apply&#039;&lt;br /&gt;
        submitform(&#039;saveconfig&#039;);&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    submitform(pressbutton);&lt;br /&gt;
    return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
For Joomla 1.6 you need to copy your exisiting function but modify your top line to:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
Joomla.submitbutton = function(pressbutton) {&lt;br /&gt;
var form = document.adminForm;&lt;br /&gt;
    if (pressbutton == &#039;applyconfig&#039;) {&lt;br /&gt;
        //do something unique&lt;br /&gt;
        form.action.value = &#039;apply&#039;&lt;br /&gt;
        submitform(&#039;saveconfig&#039;);&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    submitform(pressbutton);&lt;br /&gt;
    return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changing removed functions ==&lt;br /&gt;
Some functions were removed for various reasons. You can find a list of them on [[What&#039;s new in Joomla_1.6#Removed_features]].&lt;br /&gt;
&lt;br /&gt;
Note that the ADODB compatibility methods included function like $db-&amp;gt;Execute($query) which now need a separate $db-&amp;gt;setQuery($query);$db-&amp;gt;Query();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Renamed events ==&lt;br /&gt;
&lt;br /&gt;
A large number of the Joomla 1.5 events have been renamed. Here is the list of renamed events.&lt;br /&gt;
*onContentAfterSave&lt;br /&gt;
*onContentAfterTitle&lt;br /&gt;
*onContentAfterDisplay&lt;br /&gt;
*onContentBeforeDisplay&lt;br /&gt;
*onContentBeforeSave&lt;br /&gt;
*onContentSearch&lt;br /&gt;
*onContentSearchAreas&lt;br /&gt;
*onUserAuthenticate&lt;br /&gt;
*onUserAfterDelete&lt;br /&gt;
*onUserAfterSave&lt;br /&gt;
*onUserBeforeDelete&lt;br /&gt;
*onUserBeforeSave&lt;br /&gt;
*onUserLogin&lt;br /&gt;
*onUserLogout&lt;br /&gt;
*All content events (except for search and search areas) now pass a &#039;context&#039; as the first argument to alert the plugin as to what type of content is being passed.  The plugin event may or may not heed this context.&lt;br /&gt;
&lt;br /&gt;
This means that if you use Joomla events you have two options:&amp;lt;br/&amp;gt;&lt;br /&gt;
1) rename the event and your extension can only be used on Joomla 1.6&amp;lt;br/&amp;gt;&lt;br /&gt;
2) create your own &amp;quot;legacy layer&amp;quot; and add the new event function name to your plugin. Here is an example of the user plugin:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    //joomla 1.6 compatibility code &lt;br /&gt;
 	public function onUserLogin($user, $options){&lt;br /&gt;
 	    $result = $this-&amp;gt;onLoginUser($user, $options);&lt;br /&gt;
 	    return $result;&lt;br /&gt;
 	}&lt;br /&gt;
	public function onUserLogout($user)	{&lt;br /&gt;
 	    $result = $this-&amp;gt;onLogoutUser($user);&lt;br /&gt;
 	    return $result;&lt;br /&gt;
	}&lt;br /&gt;
	public function onUserAfterDelete($user, $succes, $msg)	{&lt;br /&gt;
 	    $result = $this-&amp;gt;onAfterDeleteUser($user, $succes, $msg);&lt;br /&gt;
 	    return $result;&lt;br /&gt;
	}&lt;br /&gt;
	public function onUserBeforeSave($user, $isnew, $new){&lt;br /&gt;
 	    $result = $this-&amp;gt;onBeforeStoreUser($user, $isnew, $new);&lt;br /&gt;
 	    return $result;	&lt;br /&gt;
	}&lt;br /&gt;
	public function onUserAfterSave($user, $isnew, $success, $msg){&lt;br /&gt;
 	    $result = $this-&amp;gt;onAfterStoreUser($user, $isnew, $success, $msg);&lt;br /&gt;
 	    return $result;			&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changing name=&amp;quot;adminForm&amp;quot; to id=&amp;quot;adminForm&amp;quot; ==&lt;br /&gt;
To create your own admin forms in joomla you now need to use id=&amp;quot;adminForm&amp;quot;. This is because the use of the tag &amp;quot;name&amp;quot; is not valid HTML strict and has compatibility issues when used in XHTML served as XML.\. Although there is build in compatibility check to look for the old name=&amp;quot;adminForm&amp;quot; tag, it is best to add the new id tag. Depending on the features you want to use you may need to include both, name=&amp;quot;adminForm&amp;quot; and id=&amp;quot;adminForm&amp;quot; because not all core functionality has been updated to use id&#039;s.  An example of the new form code is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&amp;lt;form method=&amp;quot;post&amp;quot; action=&amp;quot;index.php&amp;quot; name=&amp;quot;adminForm&amp;quot; id=&amp;quot;adminForm&amp;quot;&amp;gt;&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removing references to index2.php and index3.php ==&lt;br /&gt;
Joomla 1.0 had different index files to serve admin content in different manners. Joomla 1.6 has now got better way to handle this and you need to search your codebase for &amp;quot;index2.php&amp;quot; and &amp;quot;index3.php&amp;quot; to ensure you don&#039;t have any Joomla 1.0 style links. If you need to display your component without any of the other Joomla 1.6 admin content (menus, etc) then add the following to the url: &amp;quot;&amp;amp;tmpl=component&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Upgrading core table and field name usage ==&lt;br /&gt;
Many of the core Joomla tables have been simplified, combined or renamed. This was needed to get rid of some limitation dating back to Joomla 1.0. This means however that if you have code that directly manipulates Joomla tables, that you need to add a function that detects Joomla 1.6 and had different SQL queries based on the joomla version. Plase note that both tables and field names have been renamed or removed. An example is the following function that can find if a plugin is published on both Joomla 1.5 and 1.6:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;		&lt;br /&gt;
function getPluginStatus($element, $folder) {&lt;br /&gt;
    //get joomla specs&lt;br /&gt;
    $db = &amp;amp; JFactory::getDBO();		&lt;br /&gt;
    $version = new JVersion;&lt;br /&gt;
    $joomla = $version-&amp;gt;getShortVersion();&lt;br /&gt;
    if(substr($joomla,0,3) == &#039;1.6&#039;){&lt;br /&gt;
        //Joomla 1.6 code&lt;br /&gt;
        $query = &#039;SELECT published FROM #__extensions WHERE element=&#039; . $db-&amp;gt;Quote($element) . &#039; AND folder=&#039; . $db-&amp;gt;Quote($folder);&lt;br /&gt;
    } else {&lt;br /&gt;
        //Joomla 1.0/1.5 code&lt;br /&gt;
        $query = &#039;SELECT published FROM #__plugins WHERE element=&#039; . $db-&amp;gt;Quote($element) . &#039; AND folder=&#039; .   $db-&amp;gt;Quote($folder); &lt;br /&gt;
    }&lt;br /&gt;
    $db-&amp;gt;setQuery($query);&lt;br /&gt;
    $result = $db-&amp;gt;loadResult();&lt;br /&gt;
    return $result;&lt;br /&gt;
}	&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changing in the XML installer manifest file ==&lt;br /&gt;
Joomla 1.6 now uses a more streamlined approach to the XML file inside the ZIP file that installs Joomla extentions.&lt;br /&gt;
&lt;br /&gt;
== New mootools version ==&lt;br /&gt;
Most important is that the Ajax class has been depreciated and replaced by the Request class. That means that if you use ajax calls you need to have a version switcher (below a sample code)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$version = new JVersion;&lt;br /&gt;
$joomla = $version-&amp;gt;getShortVersion();&lt;br /&gt;
&lt;br /&gt;
..... (your code) ....&lt;br /&gt;
&lt;br /&gt;
    /* our ajax istance for starting the sync */&lt;br /&gt;
    &amp;lt;?php  if(substr($joomla,0,3) == &#039;1.6&#039;){&lt;br /&gt;
 echo &#039;var ajax = new Request.HTML({&lt;br /&gt;
           url: url,&#039;;&lt;br /&gt;
    } else {&lt;br /&gt;
 echo &#039;var ajax = new Ajax(url, {&#039;;&lt;br /&gt;
    }?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.... your code .....&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;?php  if(substr($joomla,0,3) == &#039;1.6&#039;){&lt;br /&gt;
     echo &#039;var ajaxsync = new Request.HTML({&lt;br /&gt;
        url: url, &#039;;&lt;br /&gt;
    } else {&lt;br /&gt;
echo &#039;var ajaxsync = new Ajax(url, {&#039;;&lt;br /&gt;
    }?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.... your code .....&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also another common usuage of mootools in  Joomla is the popup box. The Joomla 1.5 javascript code to close this box is:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;document.getElementById(&#039;sbox-window&#039;).close();&amp;lt;/source&amp;gt;&lt;br /&gt;
in Joomla 1.6 you need to use:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;window.parent.SqueezeBox.close();&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Converting your JParameters to JForms ==&lt;br /&gt;
Joomla 1.6 now uses the JForms class to handle parameters and it has also changed the way parameters are defined in your XML files. To make menu/component/module/plugin parameters work, first you need to update the XML file. Here is an automated way to handle the bulk of the conversion. (added &amp;quot;&amp;quot; to the examples below so you can see spaces in the search query as well). Use eclipse to search and replace parameters in *.xml files&lt;br /&gt;
&lt;br /&gt;
replace &amp;quot;&amp;lt;param &amp;quot; with &amp;quot;&amp;lt;field &amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
replace &amp;quot;&amp;lt;/param&amp;gt;&amp;quot; with &amp;lt;/field&amp;gt;&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
replace &amp;quot;&amp;lt;params&amp;gt; with &amp;quot;&amp;lt;config&amp;gt;&amp;lt;fields name=&amp;quot;params&amp;quot;&amp;gt;&amp;lt;fieldset name=&amp;quot;basic&amp;quot;&amp;gt;&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
replace &amp;quot;&amp;lt;params*?&amp;gt; with &amp;quot;&amp;lt;config&amp;gt;&amp;lt;fields name=&amp;quot;params&amp;quot;&amp;gt;&amp;lt;fieldset name=&amp;quot;basic&amp;quot;&amp;gt;&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
replace &amp;quot;&amp;lt;/params&amp;gt;&amp;quot; with &amp;quot;&amp;lt;/fieldset&amp;gt;&amp;lt;/fields&amp;gt;&amp;lt;/config&amp;gt;&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
replace &amp;quot;&amp;lt;install &amp;quot; with &amp;quot;&amp;lt;extension &amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
replace &amp;quot;&amp;lt;/install&amp;gt;&amp;quot; with &amp;quot;&amp;lt;/extension&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Change the &amp;quot;extension&amp;quot; node to add the following attributes:&lt;br /&gt;
* Keep the existing &amp;quot;type&amp;quot; attribute&lt;br /&gt;
* version=&amp;quot;1.6.0&amp;quot;&lt;br /&gt;
* client=&amp;quot;site&amp;quot;&lt;br /&gt;
* method=&amp;quot;upgrade&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example for a module:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;extension type=&amp;quot;module&amp;quot; version=&amp;quot;1.6.0&amp;quot; client=&amp;quot;site&amp;quot; method=&amp;quot;upgrade&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now if you want to use your joomla extension on both Joomla 1.5 and 1.6 you will need to go to your &amp;quot;team synchronising&amp;quot; view in eclipse. Double click on your changed xml file, which will open the compare editor. Then simply copy-paste back your old Joomla 1.5 params into your new Joomla 1.6 xml file and save.&lt;br /&gt;
&lt;br /&gt;
If you have custom parameter types, you will need to do some additional work. In Joomla 1.5 you would use the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;params addpath=&amp;quot;/administrator/components/com_yourname/elements&amp;quot;&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
In joomla 1.6 JParameter classes won&#039;t work and you will need to convert your jparameter fields into JForm fields. Create a new directory and copy your &amp;quot;old elements&amp;quot; into them. Then you need to load these new fields with the individual parameter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;sample&amp;quot; type=&amp;quot;sampleField&amp;quot; size=&amp;quot;5&amp;quot; default=&amp;quot;&amp;quot;			label=&amp;quot;sampleField&amp;quot; description=&amp;quot;sampleField&amp;quot; addfieldpath=&amp;quot;/administrator/components/com_yourname/fields&amp;quot;/&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use eclipse to search and replace files in your newly created fields directory.&lt;br /&gt;
replace &amp;quot;JElement&amp;quot; with &amp;quot;JFormField&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
replace &amp;quot;var $_name =&amp;quot; with &amp;quot;public $type =&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
replace &amp;quot;function fetchElement($name, $value, &amp;amp;$node, $control_name)&amp;quot; with &amp;quot;protected function getInput()&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you still need to replace the references to $control_name and others in your new JForm field, but at least the bulk of the work has been done automatically&lt;br /&gt;
&lt;br /&gt;
== renamed core component names and login form parameters ==&lt;br /&gt;
A login module for Joomla 1.5 will not work without modifications on Joomla 1.6. Here is a part of the logout module that will work on both Joomla 1.5 and Joomla 1.6. You can compare the two to see the difference in input names.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        $version = new JVersion;&lt;br /&gt;
        $joomla = $version-&amp;gt;getShortVersion();&lt;br /&gt;
        if(substr($joomla,0,3) == &#039;1.6&#039;){&lt;br /&gt;
            //joomla 1.6 format          &lt;br /&gt;
            $output .= &#039;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;task&amp;quot; value=&amp;quot;user.logout&amp;quot; /&amp;gt;&#039;;&lt;br /&gt;
            $output .= &#039;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;option&amp;quot; value=&amp;quot;com_users&amp;quot; /&amp;gt;&#039;;&lt;br /&gt;
        } else {    &lt;br /&gt;
            //joomla 1.5 format&lt;br /&gt;
            $output .= &#039;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;task&amp;quot; value=&amp;quot;logout&amp;quot; /&amp;gt;&#039;;&lt;br /&gt;
            $output .= &#039;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;option&amp;quot; value=&amp;quot;com_user&amp;quot; /&amp;gt;&#039;;            &lt;br /&gt;
        } &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
here is the code for the login module&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
        $version = new JVersion;&lt;br /&gt;
        $joomla = $version-&amp;gt;getShortVersion();&lt;br /&gt;
        if(substr($joomla,0,3) == &#039;1.6&#039;){        &lt;br /&gt;
            //joomla 1.6 format     &lt;br /&gt;
            $output .= &#039;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;task&amp;quot; value=&amp;quot;user.login&amp;quot; /&amp;gt;&#039;;&lt;br /&gt;
            $output .= &#039;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;option&amp;quot; value=&amp;quot;com_users&amp;quot; /&amp;gt;&#039;;&lt;br /&gt;
            $output .= &#039;&amp;lt;input id=&amp;quot;modlgn_passwd&amp;quot; type=&amp;quot;password&amp;quot; name=&amp;quot;password&amp;quot; class=&amp;quot;inputbox&amp;quot; size=&amp;quot;18&amp;quot; alt=&amp;quot;password&amp;quot; /&amp;gt; &#039;;&lt;br /&gt;
        } else {&lt;br /&gt;
            //joomla 1.5 format&lt;br /&gt;
            $output .= &#039;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;task&amp;quot; value=&amp;quot;login&amp;quot; /&amp;gt;&#039;;&lt;br /&gt;
            $output .= &#039;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;option&amp;quot; value=&amp;quot;com_user&amp;quot; /&amp;gt;&#039;;     &lt;br /&gt;
            $output .= &#039;&amp;lt;input id=&amp;quot;modlgn_passwd&amp;quot; type=&amp;quot;password&amp;quot; name=&amp;quot;passwd&amp;quot; class=&amp;quot;inputbox&amp;quot; size=&amp;quot;18&amp;quot; alt=&amp;quot;password&amp;quot; /&amp;gt; &#039;;               	&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These changes might also apply to front-end forms of other Joomla core components (more information needed)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ACL changes ==&lt;br /&gt;
Joomla 1.6 now has an advanced ACL system. It is unknown how this affects people that have previously used the ACL API in their extension.&lt;br /&gt;
&lt;br /&gt;
In order to allow your component&#039;s Options page to display the ACL settings editor, you need to create a file named access.xml in your component&#039;s administrator directory, e.g. administrator/components/com_example/access.xml. The syntax of the file is fairly easy to understand:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;access component=&amp;quot;com_example&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;section name=&amp;quot;component&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Joomla! core privileges --&amp;gt;&lt;br /&gt;
		&amp;lt;action name=&amp;quot;core.admin&amp;quot; title=&amp;quot;JACTION_ADMIN&amp;quot; description=&amp;quot;JACTION_ADMIN_COMPONENT_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;action name=&amp;quot;core.manage&amp;quot; title=&amp;quot;JACTION_MANAGE&amp;quot; description=&amp;quot;JACTION_MANAGE_COMPONENT_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;!-- Custom privileges --&amp;gt;&lt;br /&gt;
		&amp;lt;action name=&amp;quot;example.something&amp;quot; title=&amp;quot;COM_EXAMPLE_ACL_SOMETHING_TITLE&amp;quot; description=&amp;quot;COM_EXAMPLE_ACL_SOMETHING_DESC&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/access&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Important things to notice:&lt;br /&gt;
* The root tag is called access and you must specify the component=&amp;quot;com_yourComponentName&amp;quot; attribute&lt;br /&gt;
* The section tag is mandatory&lt;br /&gt;
* No ACL privilege will display on the list unless you &#039;&#039;&#039;explicitly&#039;&#039;&#039; add it. This means that you do have to add the core privileges that concern your component&lt;br /&gt;
* You can create custom privileges! You don&#039;t have to register them anywhere except your access.xml file. The name format is liberal, but no two components should use the same key for a different purpose (all components&#039; privileges share the same namespace). As a rule of thumb use the convention componentName.privilegeName. You must NEVER use core.* names as they are reserved by Joomla!.&lt;br /&gt;
&lt;br /&gt;
In order to apply ACLs, you have to override your controller&#039;s constructor:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
	public function __construct($config = array())&lt;br /&gt;
	{&lt;br /&gt;
		parent::__construct($config);&lt;br /&gt;
		// This conditional lets the ACL check run only on Joomla! 1.6+&lt;br /&gt;
		if( version_compare( JVERSION, &#039;1.6.0&#039;, &#039;ge&#039; ) ) {&lt;br /&gt;
			$user = JFactory::getUser();&lt;br /&gt;
			if (!$user-&amp;gt;authorise(&#039;example.something&#039;, &#039;com_example&#039;)) {&lt;br /&gt;
				return JError::raiseWarning(403, JText::_(&#039;JERROR_ALERTNOAUTHOR&#039;));&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		// Place anything else you need in the constructor below this line&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The heavy lifting is done by the authorise() method of the JUser class. The first parameter is the privilege name, the second one is the &amp;quot;section&amp;quot;, i.e. your component&#039;s name. As you can see, this allows for great flexibility. You can check any privilege, for any component, for any user, from anywhere in your code.&lt;br /&gt;
&lt;br /&gt;
== Plugin files now in different locations ==&lt;br /&gt;
Joomla 1.6 now creates a different hierarchy structure for plugins.  Files are no longer placed where they used to be, so if your other parts of your application (comp, mods, etc.) expects them to be in a certain position, it won&#039;t work. The change has been that now plugins are in an additional subdirectory. If you only load your plugins via the 1.5 API you should be fine.&lt;br /&gt;
* Joomla 1.5 example location &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;JPATH_SITE . DS . &#039;plugins&#039; . DS . &#039;authentication&#039; . DS . &#039;example.php&#039;;&amp;lt;/source&amp;gt;&lt;br /&gt;
* Joomla 1.6 example location&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;JPATH_SITE . DS . &#039;plugins&#039; . DS . &#039;authentication&#039; . DS . &#039;example&#039;. DS . &#039;example.php&#039;;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changes to view parameters ==&lt;br /&gt;
J!1.6 has a strict new way of specifying parameters for views.  J!1.5 allowed a bit of freedom where the parameters could be defined at the view.html.php level but now ithas to be at the tmpl level.  AE believes the view paramters were removed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation process - preflight, postflight, etc ==&lt;br /&gt;
These are new events that can screw up an existing installlation process.  -1 on me for not documenting the process while stepping through xdebug.&lt;br /&gt;
They should be totally optional access points to the installation process.  But if your 1.5 install process is tricky for some reason, then these can be used to do clean up activities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Admin template changes ==&lt;br /&gt;
Admin functions that depended on certain functions, naming conventions etc no longer work.  Khepri has been removed.  Other admin functions/libraries may have changed.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ACL ==&lt;br /&gt;
gid and aid have been removed.  Significant changes to ACL archtecture.  Bricking refers to totally locking your self and everyone else out - Last chance backdoor involves adding a emergency pw to the config file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==sys.ini language translation file==&lt;br /&gt;
This file has 3 purposes:&lt;br /&gt;
&lt;br /&gt;
1. It is used for installation process translations, when a folder language is included in the pack.&lt;br /&gt;
&lt;br /&gt;
pack/language/en-gb/en-gb.extension.ini&lt;br /&gt;
&lt;br /&gt;
pack/language/en-gb/en-gb.extension.sys.ini&lt;br /&gt;
&lt;br /&gt;
In this case, the &amp;lt;description&amp;gt;COM_MYCOMPONENT_XML_DESCRIPTION&amp;lt;/description&amp;gt; used in the sys.ini will display on installing/updating the extension.&lt;br /&gt;
&lt;br /&gt;
When editing the extension in administration, it will be the .ini version of COM_MYCOMPONENT_XML_DESCRIPTION which will display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. It is used to replace the former .menu.ini&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. It is used to display the translated extension name in many managers.&lt;br /&gt;
&lt;br /&gt;
== removed include folders ==&lt;br /&gt;
Most of the 3rd party libraries (Archive, domit, js, PEAR, etc) in the include folder have been removed in J!1.6. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use paths defined in defines.php. ==&lt;br /&gt;
(Note they are different for the site and the administration)&lt;br /&gt;
&lt;br /&gt;
[[Category:Joomla! 1.6]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Module Development]]&lt;br /&gt;
[[Category:Component Development]]&lt;br /&gt;
[[Category:Plugin Development]]&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Joomla_info_page/el-GR&amp;diff=30106</id>
		<title>Joomla info page/el-GR</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Joomla_info_page/el-GR&amp;diff=30106"/>
		<updated>2010-08-26T22:16:46Z</updated>

		<summary type="html">&lt;p&gt;Nikosdion: Translated content to Greek (el-GR)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RightTOC}}&lt;br /&gt;
= Greek / Ελληνικά =&lt;br /&gt;
&lt;br /&gt;
== Τι είναι το Joomla? ==&lt;br /&gt;
Το Joomla είναι ένα βραβευμένο Σύστημα Διαχείρισης Περιεχομένων (ΣΔΠ) το οποίο σας επιτρέπει να δημιουργήσετε ιστοχώρους και πανίσχυρες διαδικτυακές εφαρμογές. Πολλές απόψεις του, συμπεριλαμβανομένης της ευχρηστίας του και της επεκτασιμότητάς του, έκανα το Joomla το πιο δημοφιλές λογισμικό δημιουργίας ιστοχώρων που είναι διαθέσιμο. Το καλύτερο είναι ότι το Joomla είναι μια λύση Ανοικτού Κώδικα που είναι ελεύθερα διαθέσιμη στον καθένα. Τα πλεονεκτήματα της χρήσης του Joomla! συμπεριλαμβάνουν:&lt;br /&gt;
&lt;br /&gt;
* Εύκολη εγκατάσταση&lt;br /&gt;
* Απλή συντήρηση του ιστοχώρου&lt;br /&gt;
* Κορυφαία ασφάλεια και σταθερότητα&lt;br /&gt;
* Πανίσχυρες δωρεάν και εμπορικές επεκτάσεις&lt;br /&gt;
* Πληθώρα προτύπων ώστε να αλλάξετε με ευκολία την εμφάνιση του ιστοχώρου σας&lt;br /&gt;
&lt;br /&gt;
== Που μπορώ να βρω το Joomla; ==&lt;br /&gt;
* Κατεβάστε το Joomla: http://www.joomla.org/download.html&lt;br /&gt;
* Κατεβάστε το πακέτο Ελληνικής γλώσσας (el-GR) για το Joomla : http://joomlacode.org/gf/project/jtranslation/frs/?action=FrsReleaseView&amp;amp;release_id=12189&lt;br /&gt;
&lt;br /&gt;
== Που μπορώ να βρω επεκτάσεις; ==&lt;br /&gt;
* Κατεβάστε επεκτάσεις: http://extensions.joomla.org/&lt;br /&gt;
* Κατεβάστε πακέτα Ελληνικής γλώσσας για δημοφιλείς επεκτάσεις: http://joomlacode.org/gf/project/greek_joomla/frs/?action=FrsReleaseBrowse&amp;amp;frs_package_id=1241&lt;br /&gt;
&lt;br /&gt;
== Που μπορώ να βρω τεκμηρίωση για το Joomla; ==&lt;br /&gt;
* Αγγλική τεκμηρίωση: http://docs.joomla.org/&lt;br /&gt;
&lt;br /&gt;
== Που μπορώ να βρω υποστήριξη για το Joomla; ==&lt;br /&gt;
* Δωρεάν Αγγλική υποστήριξη: http://forum.joomla.org/&lt;br /&gt;
* Δωρεάν Ελληνική υποστήριξη: &lt;br /&gt;
** http://forum.joomla.org/viewforum.php?f=50&lt;br /&gt;
** http://forum.joomla.gr/&lt;br /&gt;
* Εμπορική υποστήριξη: http://resources.joomla.org/ (ιστοχώρος διαθέσιμος μόνο στα Αγγλικά)&lt;br /&gt;
&lt;br /&gt;
== Τοπικές Εκδηλώσεις / Ημερίδες Joomla (Joomladays) ==&lt;br /&gt;
Οι τοπικές κοινότητες ανά τον κόσμο οργανώνουν Ημερίδες Joomla. Μια Ημερίδα Joomla είναι μια εκδήλωση που δημιουργείται αποκλειστικά για χρήστες και έργα του Joomla και συνήθως προσελκύει τοπικό ακροατήριο. Για περισσότερες πληροφορίες: http://community.joomla.org/events/joomla-days.html (στα Αγγλικά)&lt;br /&gt;
&lt;br /&gt;
== Ομάδες Χρηστών Joomla (JUG) ==&lt;br /&gt;
Οι τοπικές Ομάδες Χρηστών Joomla (JUG) αποτελούν έναν εξαιρετικό τρόπο να συναντήσετε νέους ανθρώπους, να λάβετε βοήθεια για ένα έργο, ή να μοιραστείτε την γνώση σας με άλλους χρήστες του Joomla. Το Joomla είναι παντού γι&#039; αυτό ελέγξτε εάν υπάρχει μια Ομάδα Χρηστών στην περιοχή σας. Εάν όχι, μπορείτε να ξεκινήστε μία.&lt;br /&gt;
* Ομάδες Χρηστών Joomla στην Ελλάδα: http://community.joomla.org/user-groups/europe/greece.html&lt;br /&gt;
* Συχνές Ερωτήσεις για τις Ομάδες Χρηστών Joomla: http://community.joomla.org/user-groups/jug-faq.html (στα Αγγλικά)&lt;br /&gt;
&lt;br /&gt;
== Πως μπορώ να συνεισφέρω στο Joomla; ==&lt;br /&gt;
* Απαντήστε σε ερωτήσεις σε οποιοδήποτε Φόρουμ του Joomla! (link to: Where to get support for Joomla?)&lt;br /&gt;
* Γράψτε ή μεταφράστε ένα Παιδαγωγικό Άρθρο ή Τεκμηρίωση (link to: Where to get documentation for Joomla?)&lt;br /&gt;
* Αναπτύξτε μια Επέκταση ή ένα Πρότυπο&lt;br /&gt;
* Δοκιμάστε ή Σχολιάστε σε μια Αναφορά Σφάλματος&lt;br /&gt;
* Γίνετε Μέλος σε μια Ομάδα Εργασίας του Joomla!&lt;br /&gt;
* Βοηθείστε σε μια Εκδήλωση του Joomla!&lt;br /&gt;
* Συνεισφέρετε με Άλλους Τρόπους, δείτε το http://contribute.joomla.org/ (στα Αγγλικά)&lt;/div&gt;</summary>
		<author><name>Nikosdion</name></author>
	</entry>
</feed>