I’ve recently implemented an intranet site using the Joomla (version 1.013) CMS
We’re up and running and all is well, however we’re now seeing a backend performance issue with the module manager
It’s worth noting that we have a relatively large site with many menu modules defined.
Checking the MySQL tables I can see that we have 4147 records in jos_menu and 3525 records in jos_modules_menu
After some analysis I’ve isolated the menu manager performance bottleneck.
Here’s a summary:
After entering the module manager in the Joomla backend and then selecting a particular menu module we are now seeing around a 12 second delay between selecting the module and the module details/editing screen actually appearing
Looking at the source code, it’s now clear that this delay is caused by a code loop in the MenuLinks() function which can be found in ..\includes\joomla.php:
/**
* build the multiple select list for Menu Links/Pages
*/
function MenuLinks( &$lookup, $all=NULL, $none=NULL, $unassigned=1 )
I’ve injected some debug code directly into the MenuLinks() function to reveal the timings for various sections of code in this function with the following results
time required to collect sql data : 0.12906908988953 seconds
// get a list of the menu items
$query = "SELECT m.*"
. "\n FROM #__menu AS m"
. "\n WHERE m.published = 1"
//. "\n AND m.type != 'separator'"
//. "\n AND NOT ("
// . "\n ( m.type = 'url' )"
// . "\n AND ( m.link LIKE '%index.php%' )"
// . "\n AND ( m.link LIKE '%Itemid=%' )"
//. "\n )"
. "\n ORDER BY m.menutype, m.parent, m.ordering"
;
time required for first pass - collect child menu records: 1.6271748542786 seconds
// establish the hierarchy of the menu
$children = array();
// first pass - collect children
foreach ( $mitems as $v ) {
$id = $v->id;
$pt = $v->parent;
$list = @$children[$pt] ? $children[$pt] : array();
array_push( $list, $v );
$children[$pt] = $list;
}
time required to run mosTreeRecurse() function : 0.15198202690155 seconds
// second pass - get an indent list of the items
$list = mosTreeRecurse( intval( $mitems[0]->parent ), '', array(), $children, 20, 0, 0 );
time required to add menu name to Display of Page(s) : 10.289244890213 seconds
// Code that adds menu name to Display of Page(s)
$text_count = 0;
$mitems_spacer = $mitems_temp[0]->menutype;
foreach ($list as $list_a) {
foreach ($mitems_temp as $mitems_a) {
if ($mitems_a->id == $list_a->id) {
// Code that inserts the blank line that seperates different menus
if ($mitems_a->menutype != $mitems_spacer) {
$list_temp[] = mosHTML::makeOption( -999, '----' );
$mitems_spacer = $mitems_a->menutype;
}
// do not display `url` menu item types that contain `index.php` and `Itemid`
if (!($mitems_a->type == 'url' && strpos($mitems_a->link, 'index.php') !== false && strpos($mitems_a->link, 'Itemid=') !== false)) {
$text = $mitems_a->menutype .' | '. $list_a->treename;
$list_temp[] = mosHTML::makeOption( $list_a->id, $text );
if ( strlen($text) > $text_count) {
$text_count = strlen($text);
}
}
}
}
}
For anyone interested, I’ve collected the above timings by injecting a few lines of code into the function to record the before and after time and then display the elapsed time in the module page as follows (note, this will only work with PHP5.x only, previous versions of PHP have a slightly modified way of collecting the time data)
Put this line before the code segment where timings are being collected
$mytime_start = microtime(true);
Put these lines after the code segment where timings are being collected
$mytime_end = microtime(true);
$myelapsedtime = $mytime_end - $mytime_start;
I also added these lines to show me the elapsed time as an item in the pages/items list box
if ( $unassigned ) {
// prepare an array with 'all' as the first item
$mitems[] = mosHTML::makeOption( 999999999, 'Elasped time: '. $myelapsedtime.' seconds');
// adds space, in select box which is not saved
$mitems[] = mosHTML::makeOption( -999, '----' );
}
As you can see the bottle neck is clearly in the loop which “adds menu name to Display of Page(s)”
Looking at this section of the code, it appears, to me at least, to be an expensive way to execute this list processing.
If I’m reading the code correctly, an initial pass of all menu modules is made to identify all menu modules that have a parent menu module.
A subsequent pass is then made taking each menu module that is found and then looping through every menu module again for each menu module to identify a parent menu module, if one exists
I think I have this right, although my head is starting to hurt now working out the logic. I think I’m close though
By posting this analysis here on the forum, I’m hoping to see here if anyone has come across this as a bottleneck and whether there have been any hacks/fixes to improve the list processing code here
My initial thoughts are to see if there’s a way to recode this (without breaking anything else in the process) so that the list processing does not occur before the module manager screen opens. One suggestion would be to introduce a new list control where the user has the option to expand those sections of the list that have child records at run time.
This way the list processing penalty is not incurred whilst the module manager screen is opening
Last night I started to look at how J1.5 manages the list processing in the module manager and can see that the old J1.013 MenuLinks() function has been deprecated.
With further analysis of the J1.5 code, I’m hoping to find that a new improved list processing technique has been implemented from which I can get some clues on how to improve the J1.013 code
I've read the post here: http://forum.joomla.org/viewtopic.php?f=500&t=266002 : "Additional logic in Module Manager Menu Item Assignment" which references a suggestion for adding new functionality in the module manager re assigning modules to pages/items but this is very much a different request. It would be interesting to see if that particular request is taken up by the Joomla dev team or other parties whilsts at the same time looking at the performance issue I've described above
All constructive comments on this are gratefully received…
guidance on improving Joomla 1013 module manager performance
Discussion regarding Joomla! Performance issues.
Moderator: General Support Moderators
Forum rules
Forum Rules
Absolute Beginner's Guide to Joomla! <-- please read before posting, this means YOU.
Security and Performance FAQs
Forum Post Assistant - If you are serious about wanting help, you will use this tool to help you post.
Forum Rules
Absolute Beginner's Guide to Joomla! <-- please read before posting, this means YOU.
Security and Performance FAQs
Forum Post Assistant - If you are serious about wanting help, you will use this tool to help you post.
-
- Joomla! Apprentice
- Posts: 24
- Joined: Tue Jul 17, 2007 10:58 pm
guidance on improving Joomla 1013 module manager performance
Post by Cheeky Monkey » Sun Apr 06, 2008 9:53 am
-
- Joomla! Fledgling
- Posts: 1
- Joined: Mon Jun 30, 2008 12:38 pm
Re: guidance on improving Joomla 1013 module manager performance
Post by abhineshm » Mon Jun 30, 2008 2:00 pm
I changed the block of code which was taking more than 10 seconds. Now it takes maximum of 0.18 seconds.
The inner loop with a condition check was removed as it was just being used to fetch outer loop's current record by looping through another array. The changed and removed code is in bold as below. As a whole, in loading the Menu List, the prformance is increased 400% . All comments on this reply are thankfully received…
foreach ($list as $list_a) {
foreach ($mitems_temp as $mitems_a) { // Removed
if ($mitems_a->id == $list_a->id) { // Removed
// Code that inserts the blank line that seperates different menus
if ($list_a->menutype != $mitems_spacer) {
$list_temp[] = mosHTML::makeOption( -999, '----' );
$mitems_spacer = $list_a->menutype;
}
// do not display `url` menu item types that contain `index.php` and `Itemid`
if (!($list_a->type == 'url' && strpos($list_a->link, 'index.php') !== false && strpos($list_a->link, 'Itemid=') !== false)) {
$text = $list_a->menutype .' | '. $list_a->treename;
$list_temp[] = mosHTML::makeOption( $list_a->id, $text );
if ( strlen($text) > $text_count) {
$text_count = strlen($text);
}
}
} // Removed
} // Removed
}
The inner loop with a condition check was removed as it was just being used to fetch outer loop's current record by looping through another array. The changed and removed code is in bold as below. As a whole, in loading the Menu List, the prformance is increased 400% . All comments on this reply are thankfully received…
foreach ($list as $list_a) {
foreach ($mitems_temp as $mitems_a) { // Removed
if ($mitems_a->id == $list_a->id) { // Removed
// Code that inserts the blank line that seperates different menus
if ($list_a->menutype != $mitems_spacer) {
$list_temp[] = mosHTML::makeOption( -999, '----' );
$mitems_spacer = $list_a->menutype;
}
// do not display `url` menu item types that contain `index.php` and `Itemid`
if (!($list_a->type == 'url' && strpos($list_a->link, 'index.php') !== false && strpos($list_a->link, 'Itemid=') !== false)) {
$text = $list_a->menutype .' | '. $list_a->treename;
$list_temp[] = mosHTML::makeOption( $list_a->id, $text );
if ( strlen($text) > $text_count) {
$text_count = strlen($text);
}
}
} // Removed
} // Removed
}
-
- Joomla! Apprentice
- Posts: 24
- Joined: Tue Jul 17, 2007 10:58 pm
Re: guidance on improving Joomla 1013 module manager performance
Post by Cheeky Monkey » Mon Jun 30, 2008 9:41 pm
I should add the following comments on the above notes:
We have been recently seeing that it can take up to 60 seconds now to enter the
module manager editor with the Apache httpd process also showing a 47% cpu
utilisation at the point where the double loop (shown in the first post) is doing it's processing
This in turn has a knock on effect on the webserver performance, making the site slow to access
My php developer has made a modification to the double 'foreach' loop as described in the post above
and now we see a signifcant speed benefit of some 400%
Where it would previously take around 1 minute to enter the module manager editor
screen it is now only taking around 15 seconds!
webserver CPU load is also improved with the loop code now only taking the cpu load up to 19%
Can the Joomla devs please take a look at the above code suggestion and give us feedback if the code enhancement is sound
For reference, there is a similar code loop in the template manager processing, which
would also significantly benefit fro the code enhancement
All constructive comments gratefully received
We have been recently seeing that it can take up to 60 seconds now to enter the
module manager editor with the Apache httpd process also showing a 47% cpu
utilisation at the point where the double loop (shown in the first post) is doing it's processing
This in turn has a knock on effect on the webserver performance, making the site slow to access
My php developer has made a modification to the double 'foreach' loop as described in the post above
and now we see a signifcant speed benefit of some 400%
Where it would previously take around 1 minute to enter the module manager editor
screen it is now only taking around 15 seconds!
webserver CPU load is also improved with the loop code now only taking the cpu load up to 19%
Can the Joomla devs please take a look at the above code suggestion and give us feedback if the code enhancement is sound
For reference, there is a similar code loop in the template manager processing, which
would also significantly benefit fro the code enhancement
All constructive comments gratefully received
- dhuelsmann
- Joomla! Master
- Posts: 19659
- Joined: Sun Oct 02, 2005 12:50 am
- Location: Omaha, NE
- Contact:
Re: guidance on improving Joomla 1013 module manager performance
Post by dhuelsmann » Tue Jul 01, 2008 12:30 pm
My question is: Is 1.0.15 the same code??
Regards, Dave
Past Treasurer Open Source Matters, Inc.
Past Global Moderator
http://www.kiwaniswest.org
Past Treasurer Open Source Matters, Inc.
Past Global Moderator
http://www.kiwaniswest.org
Return to “Performance - 1.0.x”
Jump to
- Joomla! Announcements
- ↳ Announcements
- ↳ Announcements Discussions
- Joomla! 5.x - Ask Support Questions Here
- ↳ General Questions/New to Joomla! 5.x
- ↳ Installation Joomla! 5.x
- ↳ Administration Joomla! 5.x
- ↳ Migrating and Upgrading to Joomla! 5.x
- ↳ Security in Joomla! 5.x
- ↳ Extensions for Joomla! 5.x
- ↳ Templates for Joomla! 5.x
- ↳ Search Engine Optimization (Joomla! SEO) in Joomla! 5.x
- ↳ Language - Joomla! 5.x
- ↳ Performance - Joomla! 5.x
- ↳ Joomla! 5.x Coding
- Joomla! 4.x - Ask Support Questions Here
- ↳ General Questions/New to Joomla! 4.x
- ↳ Installation Joomla! 4.x
- ↳ Administration Joomla! 4.x
- ↳ Migrating and Upgrading to Joomla! 4.x
- ↳ Extensions for Joomla! 4.x
- ↳ Security in Joomla! 4.x
- ↳ Templates for Joomla! 4.x
- ↳ Search Engine Optimization (Joomla! SEO) in Joomla! 4.x
- ↳ Language - Joomla! 4.x
- ↳ Performance - Joomla! 4.x
- ↳ Joomla! 4.x Coding
- Joomla! Versions which are End of Life
- ↳ Joomla! 3.x - End of Life 17 Aug 2023
- ↳ General Questions/New to Joomla! 3.x
- ↳ Installation Joomla! 3.x
- ↳ Joomla! 3.x on IIS webserver
- ↳ Administration Joomla! 3.x
- ↳ Access Control List (ACL) in Joomla! 3.x
- ↳ Migrating and Upgrading to Joomla! 3.x
- ↳ Security in Joomla! 3.x
- ↳ Extensions for Joomla! 3.x
- ↳ Templates for Joomla! 3.x
- ↳ Search Engine Optimization (Joomla! SEO) in Joomla! 3.x
- ↳ Language - Joomla! 3.x
- ↳ Performance - Joomla! 3.x
- ↳ Joomla! 3.x Coding
- ↳ Joomla! 2.5 - End of Life 31 Dec 2014
- ↳ General Questions/New to Joomla! 2.5
- ↳ Installation Joomla! 2.5
- ↳ Joomla! 2.5 on IIS webserver
- ↳ Administration Joomla! 2.5
- ↳ Access Control List (ACL) in Joomla! 2.5
- ↳ Migrating and Upgrading to Joomla! 2.5
- ↳ Security in Joomla! 2.5
- ↳ Extensions for Joomla! 2.5
- ↳ Templates for Joomla! 2.5
- ↳ Search Engine Optimization (Joomla! SEO) in Joomla! 2.5
- ↳ Language - Joomla! 2.5
- ↳ Performance - Joomla! 2.5
- ↳ Joomla! 1.5 - End of Life Sep 2012
- ↳ General Questions/New to Joomla! 1.5
- ↳ Installation 1.5
- ↳ Joomla! 1.5 on IIS webserver
- ↳ Administration 1.5
- ↳ Migrating and Upgrading to Joomla! 1.5
- ↳ Security in Joomla! 1.5
- ↳ Extensions for Joomla! 1.5
- ↳ Templates for Joomla! 1.5
- ↳ Search Engine Optimization (Joomla! SEO) in Joomla! 1.5
- ↳ Language - Joomla! 1.5
- ↳ Performance - Joomla! 1.5
- ↳ Joomla! 1.0 - End of Life 22 July 2009
- ↳ Installation - 1.0.x
- ↳ Upgrading - 1.0.x
- ↳ Security - 1.0.x
- ↳ 3rd Party/Non Joomla! Security Issues
- ↳ Administration - 1.0.x
- ↳ Extensions - 1.0.x
- ↳ Components
- ↳ Modules
- ↳ Plugins/Mambots
- ↳ WYSIWYG Editors - 1.0.x
- ↳ Integration & Bridges - 1.0.x
- ↳ phpbb - Joomla! Integration
- ↳ Templates & CSS - 1.0.x
- ↳ Language - 1.0.x
- ↳ Joom!Fish and Multilingual Sites
- ↳ Performance - 1.0.x
- ↳ General Questions - 1.0.x
- Joomla! International Language Support
- ↳ International Zone
- ↳ Arabic Forum
- ↳ تنبيهات هامة
- ↳ الدروس
- ↳ 5.x جوملا!
- ↳ 4.x جوملا!
- ↳ جوملا! 1.6/1.7
- ↳ الأسئلة الشائعة
- ↳ التثبيت و الترقية
- ↳ الحماية - و تحسين السرعة والأداء
- ↳ لوحة التحكم
- ↳ الإضافات البرمجية
- ↳ تعريب جوملا! و الإضافات البرمجية
- ↳ القوالب و التصميم
- ↳ صداقة محركات البحث
- ↳ القسم العام
- ↳ 1.5 !جوملا
- ↳ الأسئلة الشائعة
- ↳ التثبيت و الترقية
- ↳ الحماية - و تحسين السرعة والأداء
- ↳ لوحة التحكم
- ↳ الإضافات البرمجية
- ↳ تعريب جوملا! و الإضافات البرمجية
- ↳ القوالب و التصميم
- ↳ صداقة محركات البحث
- ↳ القسم العام
- ↳ جوملا! 1.0
- ↳ الأسئلة الشائـعة
- ↳ التثبيت
- ↳ لوحة التحكم
- ↳ الإضافات البرمجية
- ↳ الإضافات المعرّبة
- ↳ القوالب و التصميم
- ↳ الحماية - تحسين السرعة والأداء - صداقة محركات البحث
- ↳ القسم العام
- ↳ القسم العام
- ↳ !عرض موقعك بجوملا
- ↳ الأرشيف
- ↳ Bengali Forum
- ↳ Bosnian Forum
- ↳ Joomla! 1.5
- ↳ Instalacija i prvi koraci
- ↳ Ekstenzije
- ↳ Templejti
- ↳ Moduli
- ↳ Prevodi i dokumentacija
- ↳ Joomla! 1.7 / Joomla! 1.6
- ↳ Catalan Forum
- ↳ Notícies
- ↳ Temes sobre l'administració
- ↳ Temes sobre la traducció
- ↳ Components, mòduls i joombots
- ↳ Temes de disseny
- ↳ Webs realitzades amb Joomla!
- ↳ Offtopics
- ↳ Chinese Forum
- ↳ Croatian Forum
- ↳ Danish Forum
- ↳ Meddelelser
- ↳ Joomla! 5.x
- ↳ Joomla! 4.x
- ↳ Joomla! 3.x (Anbefalet til nye installationer. Nyeste funktionalitet)
- ↳ Installation, backup, opdatering og flytning - Godt igang
- ↳ Administration - Generel brug
- ↳ Komponenter, Moduler og Plugins
- ↳ Template, CSS og Design
- ↳ Nethandel, betaling m.m.
- ↳ Ældre versioner (disse vedligeholdes ikke længere fra officiel side)
- ↳ Joomla! 2.5 (Supporteres indtil 31. dec. 2014)
- ↳ Installation, backup, opdatering og flytning - Godt igang
- ↳ Administration - Generel brug
- ↳ Komponenter, Moduler og Plugins
- ↳ Template, CSS og Design
- ↳ Nethandel, betaling m.m.
- ↳ Joomla 1.5 (Tidligere langtidssupporteret version indtil sep. 2012)
- ↳ Installation, backup, opdatering og flytning - Godt igang
- ↳ Administration - Generel brug
- ↳ Komponenter, Moduler og Plugins
- ↳ Template, CSS og Design
- ↳ Nethandel, betaling m.m.
- ↳ Joomla 1.0 (Udgået version, der blev afløst af 1.5 i 2008)
- ↳ Installation, backup, opdatering og flytning - Godt igang
- ↳ Administration - Generel brug
- ↳ Komponenter, Moduler og Mambots
- ↳ Template, CSS og Design
- ↳ Nethandel, betaling m.m.
- ↳ Oversættelser (lokalisering)
- ↳ Joomla brugergrupper i Danmark
- ↳ JUG Kolding
- ↳ JUG København
- ↳ JUG Odense
- ↳ JUG Århus
- ↳ JUG Sorø
- ↳ Kommerciel (betalt) hjælp ønskes
- ↳ SEO
- ↳ FAQ - Dokumentation og vejledninger
- ↳ Vis dit websted
- ↳ Afviste 'Vis dit websted' indlæg
- ↳ Diverse (Off topic)
- ↳ Dutch Forum
- ↳ Aankondigingen
- ↳ Algemene vragen
- ↳ Joomla! 5.x
- ↳ Joomla! 4.x
- ↳ Joomla! 3.x
- ↳ Installatie 3.x
- ↳ Extensies 3.x
- ↳ Templates 3.x
- ↳ Joomla! 2.5
- ↳ Installatie 2.5
- ↳ Componenten 2.5
- ↳ Modules 2.5
- ↳ Plugins 2.5
- ↳ Templates 2.5
- ↳ Joomla! 1.5
- ↳ Installatie
- ↳ Componenten
- ↳ Modules
- ↳ Plugins
- ↳ Templates
- ↳ Joomla! 1.0
- ↳ Installatie 1.0.x
- ↳ Componenten 1.0.x
- ↳ Modules 1.0.x
- ↳ Mambots 1.0.x
- ↳ Templates 1.0.x
- ↳ Vertalingen
- ↳ Offtopic
- ↳ Show jouw website
- ↳ Filipino Forum
- ↳ International Support Center
- ↳ Pinoy General Discussion & Archives
- ↳ Site Showcase
- ↳ Events
- ↳ Design Tips and Tricks
- ↳ Tsismis Zone
- ↳ Pinoy Translation Zone
- ↳ Pinoy Forum Archives
- ↳ Joomla! Philippines Local Forum www.joomla.org.ph
- ↳ Finnish Forum
- ↳ French Forum
- ↳ Les annonces!
- ↳ Le bistrot!
- ↳ L'expo!
- ↳ J! 5.x - L'atelier!
- ↳ J! 4.x - L'atelier!
- ↳ J! 3.x - L'atelier!
- ↳ 3.x - Questions générales, nouvel utilisateur
- ↳ 3.x - Installation, migration et mise à jour
- ↳ 3.x - Sécurité et performances
- ↳ 3.x - Extensions tierce partie
- ↳ 3.x - Templates et design
- ↳ 3.x - Développement
- ↳ 3.x - Ressources
- ↳ J! 2.5.x - L'atelier!
- ↳ 2.5 - Questions générales
- ↳ 2.5 - Installation, migration et mise à jour
- ↳ 2.5 - Sécurité et performances
- ↳ 2.5 - Extensions tierce partie
- ↳ 2.5 - Templates et design
- ↳ 2.5 - Développement
- ↳ 2.5 - Ressources
- ↳ J! 1.5.x - L'atelier!
- ↳ 1.5 - Questions générales
- ↳ 1.5 - Installation, migration et mise à jour
- ↳ 1.5 - Sécurité et performances
- ↳ 1.5 - Extensions tierce partie
- ↳ 1.5 - Templates et design
- ↳ 1.5 - Développement
- ↳ 1.5 - Ressources
- ↳ J! 1.0.x - L'atelier!
- ↳ 1.0 - Questions générales
- ↳ 1.0 - Installation et mise à jour
- ↳ 1.0 - Sécurité
- ↳ 1.0 - Extensions tierce partie
- ↳ 1.0 - Templates et design
- ↳ 1.0 - Développement
- ↳ 1.0 - Ressources
- ↳ Besoin d'un professionel ?
- ↳ Extensions Open Source pour Joomla!
- ↳ German Forum
- ↳ Ankündigungen
- ↳ Joomla! 5.x
- ↳ Joomla! 4.x
- ↳ Joomla! 3.x
- ↳ Allgemeine Fragen
- ↳ Installation und erste Schritte
- ↳ Komponenten, Module, Plugins
- ↳ Template, CSS und Designfragen
- ↳ Entwicklerforum
- ↳ Zeige Deine Webseite
- ↳ Joomla! 2.5
- ↳ Allgemeine Fragen
- ↳ Installation und erste Schritte
- ↳ Komponenten, Module, Plugins
- ↳ Template, CSS und Designfragen
- ↳ Entwicklerforum
- ↳ Zeige Deine Webseite
- ↳ Joomla! 1.5
- ↳ Allgemeine Fragen
- ↳ Installation und erste Schritte
- ↳ Komponenten, Module, Plugins
- ↳ Template, CSS und Designfragen
- ↳ Entwicklerforum
- ↳ Zeige Deine Webseite
- ↳ Professioneller Service
- ↳ Sonstiges (Offtopic)
- ↳ Archiv
- ↳ Joomla! 1.0
- ↳ Allgemeine Fragen 1.0.x
- ↳ Installation und erste Schritte 1.0.x
- ↳ Komponenten, Module, Mambots 1.0.x
- ↳ Template, CSS und Designfragen 1.0.x
- ↳ Entwicklerforum 1.0.x
- ↳ Zeige Deine Webseite 1.0.x
- ↳ Greek Forum
- ↳ Joomla! 4.x
- ↳ Joomla! 3.x
- ↳ Joomla! 2.5.x
- ↳ Joomla! 1.5.x
- ↳ Joomla! 1.0.x
- ↳ Hebrew Forum
- ↳ Indic Languages Forum
- ↳ Indonesian Forum
- ↳ FAQ
- ↳ Bantuan
- ↳ Komponen
- ↳ Modul
- ↳ Template
- ↳ Diskusi
- ↳ Italian Forum
- ↳ Guide
- ↳ Traduzioni
- ↳ Componenti - Moduli - Plugins
- ↳ Template - Grafica
- ↳ Notizie
- ↳ Prodotti Open Source per Joomla!
- ↳ Richieste professionali
- ↳ Joomla! 5.x
- ↳ Joomla! 4.x
- ↳ Joomla! 3.x
- ↳ Joomla! 2.5.x
- ↳ Joomla! 1.x
- ↳ Latvian Forum
- ↳ Lithuanian Forum
- ↳ Joomla! 5.x
- ↳ Joomla! 4.x
- ↳ Joomla! 1.7 / Joomla! 1.6
- ↳ Joomla! 1.5
- ↳ Joomla! 1.0
- ↳ Vertimai ir Kalba
- ↳ Malaysian Forum
- ↳ Solved
- ↳ Norwegian Forum
- ↳ Informasjon
- ↳ Arkiverte annonseringer
- ↳ FAQ - Ofte spurte spørsmål
- ↳ Arkiv
- ↳ Joomla! 5.x
- ↳ Joomla! 4.x
- ↳ Joomla! 3.x
- ↳ Administrasjon/installasjon
- ↳ Migrering/Oppdatering
- ↳ Template, CSS og design
- ↳ Komponenter/moduler/programutvidelser
- ↳ Sikkerhet
- ↳ Generelt
- ↳ Netthandel, betaling m.m.
- ↳ VirtueMart
- ↳ Andre nettbutikkløsninger
- ↳ Generelt
- ↳ Oversettelser
- ↳ Fremvisning av sider (Show off)
- ↳ Avviste fremvisninger
- ↳ Diverse (off topic)
- ↳ Kommersiell hjelp ønskes
- ↳ Eldre versjoner av Joomla!
- ↳ Joomla! 1.0
- ↳ Administrasjon/installasjon
- ↳ Template, CSS og design
- ↳ Komponenter/moduler/mambots
- ↳ Sikkerhet
- ↳ Generelt
- ↳ Joomla! 1.5
- ↳ Administrasjon/installasjon
- ↳ Migrering/Oppdatering
- ↳ Template, CSS og design
- ↳ Komponenter/moduler/programutvidelser
- ↳ Sikkerhet
- ↳ Generelt
- ↳ Joomla! 2.5
- ↳ Administrasjon/installasjon
- ↳ Migrering/Oppdatering
- ↳ Template, CSS og design
- ↳ Komponenter/moduler/programutvidelser
- ↳ Sikkerhet
- ↳ Generelt
- ↳ Persian Forum
- ↳ قالب ها
- ↳ مدیریت
- ↳ سوالهای عمومی
- ↳ نصب
- ↳ مامبوت ها
- ↳ ماژولها
- ↳ کامپوننت ها
- ↳ Polish Forum
- ↳ Instalacja i aktualizacja
- ↳ Administracja
- ↳ Komponenty, moduły, wtyczki
- ↳ Szablony
- ↳ Paczta i Podziwiajta
- ↳ Modyfikacje i własne rozwiązania
- ↳ Tłumaczenia
- ↳ FAQ
- ↳ Tips&Tricks
- ↳ Dokumentacja
- ↳ Profesjonalne usługi
- ↳ Portuguese Forum
- ↳ Componentes, módulos e mambots
- ↳ Programação e desenvolvimento
- ↳ Segurança
- ↳ Sites dos usuários
- ↳ Off-topic
- ↳ Tradução
- ↳ Templates
- ↳ Romanian Forum
- ↳ Traduceri
- ↳ Russian Forum
- ↳ Объявления по Joomla!
- ↳ Безопасность Joomla!
- ↳ Joomla 5.x - Задайте здесь свой вопрос по поддержке
- ↳ Joomla 4.x - Задайте здесь свой вопрос по поддержке
- ↳ Joomla 3.x - Задайте здесь свой вопрос по поддержке
- ↳ Общие вопросы/Новичок в Joomla! 3.x
- ↳ Установка Joomla! 3.x
- ↳ Миграция и переход на Joomla! 3.x
- ↳ Расширения для Joomla! 3.x
- ↳ Многоязычные веб-сайты на Joomla 3.x
- ↳ Joomla 2.5 - Задайте здесь свой вопрос по поддержке
- ↳ Общие вопросы/Новичок в Joomla! 2.5
- ↳ Установка Joomla! 2.5
- ↳ Расширения для Joomla! 2.5
- ↳ Русский язык Joomla! 2.5
- ↳ Serbian/Montenegrin Forum
- ↳ Tehnička pitanja
- ↳ Instalacija i početnička pitanja
- ↳ Šabloni
- ↳ Prevod i dokumentacija
- ↳ Ćaskanje
- ↳ Bezbednost
- ↳ Joomla! dodaci
- ↳ Pravna pitanja
- ↳ Arhiva
- ↳ Joomla! Događaji i Zajednica
- ↳ Izlog (spisak) sajtova radjenih u Joomla! CMS-u
- ↳ Profesionalne usluge
- ↳ Slovak Forum
- ↳ Spanish Forum
- ↳ Joomla! 5.x
- ↳ Joomla! 4.x
- ↳ Joomla! 3.x
- ↳ Migración y actualización a Joomla 3.x
- ↳ Versiones de Joomla! obsoletas
- ↳ Joomla! 2.5
- ↳ Joomla! 1.5
- ↳ Extensiones
- ↳ Plantillas (templates) y diseño
- ↳ Idioma y traducciones
- ↳ SEO para Joomla!
- ↳ Seguridad y rendimiento
- ↳ Productos de Código Abierto para Joomla!
- ↳ Servicios profesionales
- ↳ Salón de la comunidad Ñ
- ↳ Swedish Forum
- ↳ Meddelanden
- ↳ Forum Joomla! 5.x
- ↳ Forum Joomla! 4.x
- ↳ Forum Joomla! 3.x
- ↳ Allmänna frågor
- ↳ Användning och administration
- ↳ Installation, backup och säkerhet
- ↳ Komponenter, moduler och plugin
- ↳ Mallar (templates) och design
- ↳ Äldre versioner
- ↳ Forum Joomla! 1.0
- ↳ Allmänna frågor
- ↳ Användning och administration
- ↳ Installation, backup och säkerhet
- ↳ Komponenter, moduler och Mambots
- ↳ Mallar (templates) och design
- ↳ Forum Joomla! 1.7 / Joomla! 1.6
- ↳ Allmänna frågor
- ↳ Användning och administration
- ↳ Installation, backup och säkerhet
- ↳ Komponenter, moduler och plugin
- ↳ Mallar (templates) och design
- ↳ Forum Joomla! 1.5
- ↳ Allmänna frågor
- ↳ Användning och administration
- ↳ Installation, backup och säkerhet
- ↳ Komponenter, moduler och plugin
- ↳ Mallar (templates) och design
- ↳ Forum Joomla! 2.5
- ↳ Allmänna frågor
- ↳ Användning och administration
- ↳ Installation, backup och säkerhet
- ↳ Komponenter, moduler och plugin
- ↳ Mallar (templates) och design
- ↳ Översättning
- ↳ Webbplatser gjorda i Joomla
- ↳ Webbplatser J! 3.x
- ↳ Webbplatser J! 2.5
- ↳ Webbplatser Joomla! 1.7 / Joomla! 1.6
- ↳ Webbplatser J! 1.5
- ↳ Webbplatser J! 1.0
- ↳ Kommersiell hjälp önskas
- ↳ Diverse (off topic)
- ↳ Tamil Forum
- ↳ Thai Forum
- ↳ โชว์เว็บไซต์ของคุณที่สร้างด้วยจูมล่า
- ↳ เคล็ดลับการใช้งานส่วนต่างๆ เกี่ยวกับจ&#
- ↳ คอมโพเน้นท์ โมดูล ปลักอิน ต่างๆ ที่ติดตั
- ↳ อับเดดข่าวสารเกี่ยวกับจูมล่าลายไทย
- ↳ Turkish Forum
- ↳ Duyurular
- ↳ Dersler
- ↳ Genel Sorular
- ↳ Bileşen, Modül, Bot
- ↳ Eklenti Haberleri
- ↳ Temalar
- ↳ Vietnamese Forum
- ↳ Gặp gỡ và giao lưu
- ↳ Joomla Tiếng Việt
- ↳ Cài đặt - Cấu hình
- ↳ Thành phần mở rộng cho Joomla!
- ↳ Hỏi đáp Joomla! 5.x
- ↳ Hỏi đáp Joomla! 4.x
- ↳ Hỏi đáp Joomla! 3.x
- ↳ Hỏi đáp Joomla! 2.5
- ↳ Hỗ trợ kỹ thuật
- ↳ Bài viết cũ
- ↳ Thiết kế Template
- ↳ Joomla! 1.5
- ↳ Welsh Forum
- Other Forums
- ↳ Open Source Products for Joomla!
- ↳ The Lounge
- ↳ Forum Post Assistant (FPA)
- Joomla! Development Forums
- Joomla! Official Sites & Infrastructure
- ↳ docs.joomla.org - Feedback/Information
- ↳ extensions.joomla.org - Feedback/Information
- ↳ joomla.com - Feedback/Information
- ↳ Sites & Infrastructure - Feedback/Information
- ↳ Archived Boards - All boards closed
- ↳ Design and Accessibility - Archived
- ↳ Quality and Testing - Locked and Archived
- ↳ Joomla! 1.0.x_Q&T
- ↳ Q&T 1.0.x Resolved
- ↳ Known Issues
- ↳ Superseded Issues
- ↳ Archive
- ↳ Q&T 1.0.x Resolved - Archived
- ↳ Known Issues - Archive
- ↳ Superseded Issues - Archive
- ↳ Joomla! 3.x Bug Reporting
- ↳ Third Party Testing for Joomla! 1.5
- ↳ Q&T 1.5.x Resolved
- ↳ Joomla! 1.5 BETA
- ↳ Joomla! 1.5 BETA 2
- ↳ Reaction to the 'Letter to the community'
- ↳ Reaction to New Project Name
- ↳ Logo Competition
- ↳ Humor, Fun and Games
- ↳ Libraries
- ↳ patTemplate
- ↳ com_connector - Multi Joomla Bridge
- ↳ CiviCRM Support
- ↳ CiviCRM Installation Issues
- ↳ FAQ Archive
- ↳ FAQ Discussion Board
- ↳ 3rd Party Extensions FAQ
- ↳ FAQs not moved
- ↳ 3rd Party/Non Joomla! Security FAQ
- ↳ Joomla! Coding 101
- ↳ Joombie Tools of the Trade
- ↳ Joombie Coding Q/A
- ↳ Joombie Think Tank
- ↳ Joombie Developer Lab
- ↳ Joomla Forge - Archived
- ↳ Non-Profit Organizations and Joomla!
- ↳ Schools and Universities
- ↳ Bangsamoro Forum
- ↳ Joomla! 1.5 Template Contest
- ↳ SMF - Simplemachines.org Forum
- ↳ GPL Discussion
- ↳ Security Announcements - Old
- ↳ Tips & Tricks - Moving
- ↳ Submit Your Suggested Tips & Tricks to Docs.joomla.org now please.
- ↳ Google Summer of Code and GHOP
- ↳ Google Summer of Code 2008
- ↳ Proposed projects
- ↳ Student area
- ↳ Past Google Summer of Code Editions
- ↳ Google's Highly Open Participation Contest
- ↳ Documentation
- ↳ Suggestions, Modifications, and Corrections
- ↳ Archive
- ↳ 1.5 Archive
- ↳ Suggestions, Modifications & Corrections
- ↳ Submit
- ↳ Feedback and Suggestions
- ↳ Applications for participation in the Development Workgroup
- ↳ Development
- ↳ 1.5 Site Showcase - Archived
- ↳ 1.0 x Site Showcase - Archived.
- ↳ Feature Requests - White Papers - Archived
- ↳ Under Review - Archived
- ↳ Accepted - Archived
- ↳ Not Accepted - Archived
- ↳ Wishlists and Feature Requests - Archive
- ↳ Wishlist Archives - Archived
- ↳ Spanish Forum - Archive
- ↳ Papelera
- ↳ Tutoriales
- ↳ General
- ↳ Salón de la Joomlaesfera hispanohablante
- ↳ Danish Forum - Archive
- ↳ Diskussion af Meddelelser + Sikkerhedsmeddelelser + FAQ
- ↳ Shop.Joomla.org
- ↳ Joomla! 1.6 RC Support [closed]
- ↳ Joomla! 1.0 Coding
- ↳ Core Hacks and Patches
- ↳ Joomla! 2.5 Beta Support
- ↳ People.joomla.org - Feedback/Information
- ↳ Joomla! 1.5 Bug Reporting
- ↳ Joomla! 1.5 Coding
- ↳ Joomla! 3 Beta Support
- ↳ Trending Topics
- ↳ Help wanted in the community
- ↳ templates.joomla.org - Feedback/Information
- ↳ Certification
- ↳ Albanian Forum
- ↳ Azeri Forum
- ↳ Urdu Forum
- ↳ Basque Forum
- ↳ Itzulpenaren inguruan
- ↳ Laguntza teknikoa
- ↳ Belarusian Forum
- ↳ Maltese Forum
- ↳ Hungarian Forum
- ↳ Slovenian Forum
- ↳ Japanese Forum
- ↳ Khmer Forum
- ↳ ពិពណ៌ស្ថានបណ្ដាញជុំឡា
- ↳ ជុំឡាខ្មែរមូលដ្ឋានីយកម្ម
- ↳ Community Blog Discussions
- ↳ JoomlaCode.org
- ↳ Joomla! Marketing and PR Team
- ↳ resources.joomla.org - Feedback/Information
- ↳ Training.Joomla.org
- ↳ OpenSourceMatters.org
- ↳ magazine.joomla.org - Feedback/Information
- ↳ Site Showcase
- ↳ Joomla! 4 Related
- ↳ Joomla! Events
- ↳ Joomla! Ideas Forum
- ↳ Registered Joomla! User Groups
- ↳ Joomla! 2.5 Coding
- ↳ Joomla! 2.5 Bug Reporting
- ↳ User eXperience (UX)
- ↳ Joomla! Working Groups
- ↳ Translations