Cookie tracking notice
Are we allowed to crumble with cookies and anonymous tracking?

We use cookies on our website. Some of them are essential for the operation of the site (so called session cookies), while others help us to improve this site and the user experience (tracking cookies). We use the application Matomo and the external service etracker to analyze your behavior on our website anonymously. Because we value your privacy, we are here with asking your permission to use the following technologies. You can change your settings any time via this link or the menu item in footer menu. For more information visit our Data Policy

Image generated with AI (DALL·E and ChatGPT)

Disclaimer: To read the article in Spanish click here.

The history of our struggles is intertwined with the management of our resources and the care of our land. In the face of the climate crisis, social inequalities and dependence on extractivist systems, it is time to look to our roots and adopt technologies that harmonize with nature. The implementation of dry toilets is not only a technical solution, but an act of cultural resistance and affirmation of sovereignty.

Article written by

Juan Gabriel Urrego

Founder of Colombian Community for Water Management,

Sanitary engineer, researcher and critic on integrated water management in the basin and participatory processes. Also, a lover of mountaineering and cooking.

Share this article on

Reading Time: 4 min.

Impact of Colonialism and Historical Resistance

Since the 16th century, colonialism in the Americas brought exploitation and dispossession. Millions of Africans were kidnapped, enslaved and forced to work in inhuman conditions. In the face of this violence, forms of resistance emerged, such as the Palenques, where maroons preserved their cultures and generated autonomy in hostile territories. At the same time, indigenous peoples faced genocide, loss of land and the imposition of foreign structures.

Throughout the centuries, Afro-descendants and indigenous peoples have led struggles for territorial sovereignty. Movements such as the Community Councils in the Colombian Pacific have protected their territories from extractivism, achieving milestones such as Law 70 of 1993. These victories reflect a constant quest to defend the connection to the land and community autonomy.

Dry toilets as sustainable resistance

The water toilet, designed in the 16th century by Sir John Harington, transformed excreta management and became a symbol of modernity when it became popular in Europe during the 19th century. In Colombia, its implementation came in the 20th century. However, this system, which relies on high consumption of potable water and costly infrastructure, has accentuated dependence on extractivist models and contributed significantly to environmental degradation.

In contrast, dry toilets are a simple and efficient technology that rescues ancestral practices such as the Amazonian terra preta. By transforming excreta into resources for agriculture, these solutions not only reduce pollution, but also strengthen food and cultural sovereignty.

International Cases Validate their Effectiveness

In Vietnam, double-vault latrines have been fertilizing soils for centuries (Esrey et al., 1998). In Bolivia, more than 4,000 dry toilets have been installed in rural communities, integrating ancestral knowledge with modern technologies (IDB, 2022).

Adopting dry toilets is an opportunity to challenge imposed paradigms, promote regenerative practices and recover our autonomy from practices.

Towards a Systemic Transformation

The dry toilet is the first step towards a profound change in our communities. Its implementation can inspire other actions such as regenerative agriculture, local food consumption and reduction of overconsumption. It also strengthens resilience in the face of climate and economic shocks, especially in rural contexts.

Inspired by the struggles of our ancestral communities, we can build a sustainable and just future. History shows that resilience is possible. Now it is our turn to act. Will you join the transformation?

Have you Considered Implementing Modern Dry Toilets?

In rural contexts: The conditions are often ideal for adopting this sustainable solution, taking advantage of the proximity to agricultural activities and large spaces.

In urban contexts: We currently manage waste from pets such as dogs and cats. The next step is to establish special collection systems, in coordination with utility companies, to apply the principles of dry sanitation in a safe and efficient manner. It is also essential to design spaces for communal collection in urban communities.

In urban areas with water scarcity: Dry toilets are a practical response. For example, in Ipiales (Nariño), limited access to water and recurrent sanitation problems highlight the need to adopt sustainable alternatives. Excessive use of groundwater for sanitation exacerbates these situations, and dry sanitation offers a viable and environmentally friendly solution.

References


Tags

Share this page on

Share your experience in an own blog article

Do you have valuable insights or a unique perspective on WASH? We welcome article submissions from experts, researchers, practitioners, and anyone passionate about the field.

Make an impact and reach our global audience by contributing your article. Whether it's an innovative project, best practices, or personal stories, we value diverse perspectives. Join us in advancing the conversation and driving positive change in sustainable sanitation.

To submit your article or learn more about the process, contact us at info@susana.org

Settings3.481MBMemory Usage50.45msRequest Duration
Theme
Open Button Position
Hide Empty Tabs
Autoshow
Reset to defaults
Joomla! Version5.3.0
PHP Version8.3.14
Identityguest
Response200
Templatesusanablog
Database
Server
mysql
Version
8.0.41-32
Collation
utf8mb4_general_ci
Conn Collation
utf8mb4_0900_ai_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:65 [ "MAGICK_C0DER_MODULE_PATH" => "/usr/local/php/lib64/ImageMagick-7.1.1/modules-Q16HDRI/c...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1748005105 "last" => 1748005105...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (91.4KB) (767μs)
  • afterInitialise (1.1MB) (9.31ms)
  • afterRoute (100.01KB) (2.72ms)
  • beforeRenderComponent com_content (100.52KB) (1.33ms)
  • Before Access::preloadComponents (all components) (33.16KB) (279μs)
  • After Access::preloadComponents (all components) (113.12KB) (589μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (13μs)
  • After Access::preloadPermissions (com_content) (47KB) (445μs)
  • Before Access::getAssetRules (id:253 name:com_content.article.50) (1.15KB) (13μs)
  • After Access::getAssetRules (id:253 name:com_content.article.50) (8.57KB) (48μs)
  • afterRenderComponent com_content (690.49KB) (12.98ms)
  • afterDispatch (2.28KB) (54μs)
  • beforeRenderRawModule mod_tags_popular (Popular Topic Tags) (363.55KB) (2.21ms)
  • afterRenderRawModule mod_tags_popular (Popular Topic Tags) (107.8KB) (5.22ms)
  • beforeRenderRawModule mod_tags_popular (Popular Format Tags) (720B) (23μs)
  • afterRenderRawModule mod_tags_popular (Popular Format Tags) (37.68KB) (4.39ms)
  • beforeRenderRawModule mod_tags_popular (Popular Geographical Tags) (720B) (22μs)
  • afterRenderRawModule mod_tags_popular (Popular Geographical Tags) (33.98KB) (4.5ms)
  • beforeRenderRawModule mod_menu (Footer SuSanA Menu) (296B) (74μs)
  • afterRenderRawModule mod_menu (Footer SuSanA Menu) (50.4KB) (455μs)
  • beforeRenderModule mod_menu (Footer SuSanA Menu) (72B) (107μs)
  • afterRenderModule mod_menu (Footer SuSanA Menu) (3.88KB) (102μs)
  • beforeRenderRawModule mod_custom (Prefooter - Publish hint) (1.7KB) (34μs)
  • afterRenderRawModule mod_custom (Prefooter - Publish hint) (3.83KB) (97μs)
  • beforeRenderModule mod_custom (Prefooter - Publish hint) (736B) (2μs)
  • afterRenderModule mod_custom (Prefooter - Publish hint) (3.17KB) (27μs)
  • beforeRenderModule mod_tags_popular (Popular Geographical Tags) (1.68KB) (22μs)
  • afterRenderModule mod_tags_popular (Popular Geographical Tags) (3.7KB) (16μs)
  • beforeRenderModule mod_tags_popular (Popular Format Tags) (472B) (16μs)
  • afterRenderModule mod_tags_popular (Popular Format Tags) (3.7KB) (13μs)
  • beforeRenderModule mod_tags_popular (Popular Topic Tags) (472B) (14μs)
  • afterRenderModule mod_tags_popular (Popular Topic Tags) (3.94KB) (12μs)
  • afterRender (206.66KB) (4.34ms)
  • 1 x afterRenderComponent com_content (690.49KB) (25.73%)
    12.98ms
    1 x afterInitialise (1.1MB) (18.46%)
    9.31ms
    1 x afterRenderRawModule mod_tags_popular (Popular Topic Tags) (107.8KB) (10.35%)
    5.22ms
    1 x afterRenderRawModule mod_tags_popular (Popular Geographical Tags) (33.98KB) (8.92%)
    4.50ms
    1 x afterRenderRawModule mod_tags_popular (Popular Format Tags) (37.68KB) (8.71%)
    4.39ms
    1 x afterRender (206.66KB) (8.61%)
    4.34ms
    1 x afterRoute (100.01KB) (5.39%)
    2.72ms
    1 x beforeRenderRawModule mod_tags_popular (Popular Topic Tags) (363.55KB) (4.39%)
    2.21ms
    1 x beforeRenderComponent com_content (100.52KB) (2.64%)
    1.33ms
    1 x afterLoad (91.4KB) (1.52%)
    767μs
    1 x After Access::preloadComponents (all components) (113.12KB) (1.17%)
    589μs
    1 x afterRenderRawModule mod_menu (Footer SuSanA Menu) (50.4KB) (0.9%)
    455μs
    1 x After Access::preloadPermissions (com_content) (47KB) (0.88%)
    445μs
    1 x Before Access::preloadComponents (all components) (33.16KB) (0.55%)
    279μs
    1 x beforeRenderModule mod_menu (Footer SuSanA Menu) (72B) (0.21%)
    107μs
    1 x afterRenderModule mod_menu (Footer SuSanA Menu) (3.88KB) (0.2%)
    102μs
    1 x afterRenderRawModule mod_custom (Prefooter - Publish hint) (3.83KB) (0.19%)
    97μs
    1 x beforeRenderRawModule mod_menu (Footer SuSanA Menu) (296B) (0.15%)
    74μs
    1 x afterDispatch (2.28KB) (0.11%)
    54μs
    1 x After Access::getAssetRules (id:253 name:com_content.article.50) (8.57KB) (0.09%)
    48μs
    1 x beforeRenderRawModule mod_custom (Prefooter - Publish hint) (1.7KB) (0.07%)
    34μs
    1 x afterRenderModule mod_custom (Prefooter - Publish hint) (3.17KB) (0.05%)
    27μs
    1 x beforeRenderRawModule mod_tags_popular (Popular Format Tags) (720B) (0.05%)
    23μs
    1 x beforeRenderRawModule mod_tags_popular (Popular Geographical Tags) (720B) (0.04%)
    22μs
    1 x beforeRenderModule mod_tags_popular (Popular Geographical Tags) (1.68KB) (0.04%)
    22μs
    1 x afterRenderModule mod_tags_popular (Popular Geographical Tags) (3.7KB) (0.03%)
    16μs
    1 x beforeRenderModule mod_tags_popular (Popular Format Tags) (472B) (0.03%)
    16μs
    1 x beforeRenderModule mod_tags_popular (Popular Topic Tags) (472B) (0.03%)
    14μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.03%)
    13μs
    1 x Before Access::getAssetRules (id:253 name:com_content.article.50) (1.15KB) (0.03%)
    13μs
    1 x afterRenderModule mod_tags_popular (Popular Format Tags) (3.7KB) (0.03%)
    13μs
    1 x afterRenderModule mod_tags_popular (Popular Topic Tags) (3.94KB) (0.02%)
    12μs
    1 x beforeRenderModule mod_custom (Prefooter - Publish hint) (736B) (0%)
    2μs
41 statements were executed, 11 of which were duplicates, 30 unique20.66ms160.66KB
  • SELECT @@SESSION.sql_mode;75μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:259Copy
  • SELECT `data` FROM `ssblg_session` WHERE `session_id` = ?145μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:250Copy
  • SELECT `session_id` FROM `ssblg_session` WHERE `session_id` = :session_id LIMIT 1111μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `ssblg_session` (`session_id`,`guest`,`time`,`userid`,`username`) VALUES (:session_id, :guest, :time, :user_id, :username)145μs912BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `ssblg_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1259μs1.61KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `ssblg_viewlevels`88μs656B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `ssblg_usergroups` AS `a` LEFT JOIN `ssblg_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest168μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `ssblg_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`512μs3.98KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component` FROM `ssblg_menu` AS `m` LEFT JOIN `ssblg_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id` WHERE ( (`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2) ORDER BY `m`.`lft`393μs4.17KBParams/libraries/src/Menu/SiteMenu.php:166Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `ssblg_categories` AS `s` INNER JOIN `ssblg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`290μs3.86KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id` FROM `ssblg_content` WHERE `alias` = :segment AND `catid` = :id167μs1.34KBParams/components/com_content/src/Service/Router.php:270Copy
  • SELECT * FROM `ssblg_languages` WHERE `published` = 1 ORDER BY `ordering` ASC153μs1.59KB/libraries/src/Language/LanguageHelper.php:179Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `ssblg_template_styles` AS `s` LEFT JOIN `ssblg_extensions` AS `e` ON `e`.`element` = `s`.`template` AND `e`.`type` = 'template' AND `e`.`client_id` = `s`.`client_id` WHERE `s`.`client_id` = 0 AND `e`.`enabled` = 1199μs848B/administrator/components/com_templates/src/Model/StyleModel.php:718Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `ssblg_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38)337μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `ssblg_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 0235μs3.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `ssblg_content`608μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:539Copy
  • UPDATE `ssblg_content` SET `hits` = (`hits` + 1) WHERE `id` = '50'133μs1.3KB/libraries/src/Table/Table.php:1348Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `ssblg_content` AS `a` INNER JOIN `ssblg_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `ssblg_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `ssblg_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `ssblg_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `ssblg_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)319μs22.13KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `ssblg_categories` AS `s` INNER JOIN `ssblg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`336μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `ssblg_contentitem_tag_map` AS `m` INNER JOIN `ssblg_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)288μs4.02KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `ssblg_categories` AS `s` INNER JOIN `ssblg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`317μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM ssblg_fields AS a LEFT JOIN `ssblg_languages` AS l ON l.lang_code = a.language LEFT JOIN ssblg_users AS uc ON uc.id=a.checked_out LEFT JOIN ssblg_viewlevels AS ag ON ag.id = a.access LEFT JOIN ssblg_users AS ua ON ua.id = a.created_user_id LEFT JOIN ssblg_fields_groups AS g ON g.id = a.group_id LEFT JOIN `ssblg_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2)) AND `a`.`access` IN (:preparedArray3,:preparedArray4)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray5,:preparedArray6)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC615μs21.19KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `field_id`,`value` FROM `ssblg_fields_values` WHERE `field_id` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25) AND `item_id` = :itemid231μs3.86KBParams/administrator/components/com_fields/src/Model/FieldModel.php:739Copy
  • SELECT id AS value, name AS text FROM ssblg_contact_details ORDER BY name ASC175μs1.31KB/plugins/fields/sql/tmpl/sql.php:38Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`catid`,`a`.`language`, CASE WHEN CHAR_LENGTH(`a`.`alias`) != 0 THEN CONCAT_WS(':', `a`.`id`, `a`.`alias`) ELSE a.id END AS `slug`, CASE WHEN CHAR_LENGTH(`cc`.`alias`) != 0 THEN CONCAT_WS(':', `cc`.`id`, `cc`.`alias`) ELSE cc.id END AS `catslug` FROM `ssblg_content` AS `a` LEFT JOIN `ssblg_categories` AS `cc` ON `cc`.`id` = `a`.`catid` WHERE `a`.`catid` = :catid AND `a`.`state` = :state AND `a`.`access` IN (:preparedArray1,:preparedArray2) AND (`publish_up` IS NULL OR `publish_up` <= :nowDate1) AND (`publish_down` IS NULL OR `publish_down` >= :nowDate2) ORDER BY CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END DESC370μs2.34KBParams/plugins/content/pagenavigation/src/Extension/PageNavigation.php:205Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `ssblg_categories` AS `s` INNER JOIN `ssblg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`314μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT * FROM `ssblg_contact_details` WHERE `id` = 43 ORDER BY `name` ASC156μs4.97KB/components/com_newsbox/src/Helper/SusanaHelper.php:107Copy
  • SELECT `alias`,`catid` FROM ssblg_contact_details WHERE `id` = :key115μs1.35KBParams/libraries/src/Component/Router/Rules/PreprocessRules.php:123Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `ssblg_categories` AS `s` INNER JOIN `ssblg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`323μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `ssblg_modules` AS `m` LEFT JOIN `ssblg_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `ssblg_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id` WHERE ( ( (`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1,:preparedArray2)) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND (`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0) ORDER BY `m`.`position`,`m`.`ordering`443μs1.97KBParams/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • SELECT MAX(`tag_id`) AS `tag_id`,COUNT(*) AS `count`,MAX(`t`.`title`) AS `title`,MAX(`t`.`access`) AS `access`,MAX(`t`.`alias`) AS `alias`,MAX(`t`.`params`) AS `params`,MAX(`t`.`language`) AS `language` FROM `ssblg_contentitem_tag_map` AS `m` INNER JOIN `ssblg_ucm_content` AS `ucm` ON `m`.`content_item_id` = `ucm`.`core_content_item_id` AND `m`.`type_id` = `ucm`.`core_type_id` INNER JOIN `ssblg_categories` AS `cat` ON `ucm`.`core_catid` = `cat`.`id` INNER JOIN `ssblg_tags` AS `t` ON `tag_id` = `t`.`id` INNER JOIN `ssblg_ucm_content` AS `c` ON `m`.`core_content_id` = `c`.`core_content_id` WHERE `t`.`access` IN (:preparedArray1,:preparedArray2) AND `t`.`published` = 1 AND `t`.`parent_id` IN (:preparedArray3) AND `cat`.`published` > 0 AND `m`.`type_alias` = `c`.`core_type_alias` AND `c`.`core_state` = 1 AND (`c`.`core_access` IN (:preparedArray4,:preparedArray5) OR `c`.`core_access` = 0) AND (`c`.`core_publish_up` IS NULL OR `c`.`core_publish_up` = :nullDate2 OR `c`.`core_publish_up` <= :nowDate2) AND (`c`.`core_publish_down` IS NULL OR `c`.`core_publish_down` = :nullDate3 OR `c`.`core_publish_down` >= :nowDate3) GROUP BY `tag_id`,`t`.`title`,`t`.`access`,`t`.`alias` ORDER BY `count` DESC LIMIT 52.17ms2.55KBParams/modules/mod_tags_popular/src/Helper/TagsPopularHelper.php:188Copy
  • SELECT MAX(`tag_id`) AS `tag_id`,COUNT(*) AS `count`,MAX(`t`.`title`) AS `title`,MAX(`t`.`access`) AS `access`,MAX(`t`.`alias`) AS `alias`,MAX(`t`.`params`) AS `params`,MAX(`t`.`language`) AS `language` FROM `ssblg_contentitem_tag_map` AS `m` INNER JOIN `ssblg_ucm_content` AS `ucm` ON `m`.`content_item_id` = `ucm`.`core_content_item_id` AND `m`.`type_id` = `ucm`.`core_type_id` INNER JOIN `ssblg_categories` AS `cat` ON `ucm`.`core_catid` = `cat`.`id` INNER JOIN `ssblg_tags` AS `t` ON `tag_id` = `t`.`id` INNER JOIN `ssblg_ucm_content` AS `c` ON `m`.`core_content_id` = `c`.`core_content_id` WHERE `t`.`access` IN (:preparedArray1,:preparedArray2) AND `t`.`published` = 1 AND `t`.`parent_id` IN (:preparedArray3) AND `cat`.`published` > 0 AND `m`.`type_alias` = `c`.`core_type_alias` AND `c`.`core_state` = 1 AND (`c`.`core_access` IN (:preparedArray4,:preparedArray5) OR `c`.`core_access` = 0) AND (`c`.`core_publish_up` IS NULL OR `c`.`core_publish_up` = :nullDate2 OR `c`.`core_publish_up` <= :nowDate2) AND (`c`.`core_publish_down` IS NULL OR `c`.`core_publish_down` = :nullDate3 OR `c`.`core_publish_down` >= :nowDate3) GROUP BY `tag_id`,`t`.`title`,`t`.`access`,`t`.`alias` ORDER BY `count` DESC LIMIT 52.06ms2.55KBParams/modules/mod_tags_popular/src/Helper/TagsPopularHelper.php:188Copy
  • SELECT MAX(`tag_id`) AS `tag_id`,COUNT(*) AS `count`,MAX(`t`.`title`) AS `title`,MAX(`t`.`access`) AS `access`,MAX(`t`.`alias`) AS `alias`,MAX(`t`.`params`) AS `params`,MAX(`t`.`language`) AS `language` FROM `ssblg_contentitem_tag_map` AS `m` INNER JOIN `ssblg_ucm_content` AS `ucm` ON `m`.`content_item_id` = `ucm`.`core_content_item_id` AND `m`.`type_id` = `ucm`.`core_type_id` INNER JOIN `ssblg_categories` AS `cat` ON `ucm`.`core_catid` = `cat`.`id` INNER JOIN `ssblg_tags` AS `t` ON `tag_id` = `t`.`id` INNER JOIN `ssblg_ucm_content` AS `c` ON `m`.`core_content_id` = `c`.`core_content_id` WHERE `t`.`access` IN (:preparedArray1,:preparedArray2) AND `t`.`published` = 1 AND `t`.`parent_id` IN (:preparedArray3) AND `cat`.`published` > 0 AND `m`.`type_alias` = `c`.`core_type_alias` AND `c`.`core_state` = 1 AND (`c`.`core_access` IN (:preparedArray4,:preparedArray5) OR `c`.`core_access` = 0) AND (`c`.`core_publish_up` IS NULL OR `c`.`core_publish_up` = :nullDate2 OR `c`.`core_publish_up` <= :nowDate2) AND (`c`.`core_publish_down` IS NULL OR `c`.`core_publish_down` = :nullDate3 OR `c`.`core_publish_down` >= :nowDate3) GROUP BY `tag_id`,`t`.`title`,`t`.`access`,`t`.`alias` ORDER BY `count` DESC LIMIT 51.91ms5.05KBParams/modules/mod_tags_popular/src/Helper/TagsPopularHelper.php:188Copy
  • SELECT MAX(`tag_id`) AS `tag_id`,COUNT(*) AS `count`,MAX(`t`.`title`) AS `title`,MAX(`t`.`access`) AS `access`,MAX(`t`.`alias`) AS `alias`,MAX(`t`.`params`) AS `params`,MAX(`t`.`language`) AS `language` FROM `ssblg_contentitem_tag_map` AS `m` INNER JOIN `ssblg_ucm_content` AS `ucm` ON `m`.`content_item_id` = `ucm`.`core_content_item_id` AND `m`.`type_id` = `ucm`.`core_type_id` INNER JOIN `ssblg_categories` AS `cat` ON `ucm`.`core_catid` = `cat`.`id` INNER JOIN `ssblg_tags` AS `t` ON `tag_id` = `t`.`id` INNER JOIN `ssblg_ucm_content` AS `c` ON `m`.`core_content_id` = `c`.`core_content_id` WHERE `t`.`access` IN (:preparedArray1,:preparedArray2) AND `t`.`published` = 1 AND `t`.`parent_id` IN (:preparedArray3) AND `cat`.`published` > 0 AND `m`.`type_alias` = `c`.`core_type_alias` AND `c`.`core_state` = 1 AND (`c`.`core_access` IN (:preparedArray4,:preparedArray5) OR `c`.`core_access` = 0) AND (`c`.`core_publish_up` IS NULL OR `c`.`core_publish_up` = :nullDate2 OR `c`.`core_publish_up` <= :nowDate2) AND (`c`.`core_publish_down` IS NULL OR `c`.`core_publish_down` = :nullDate3 OR `c`.`core_publish_down` >= :nowDate3) GROUP BY `tag_id`,`t`.`title`,`t`.`access`,`t`.`alias` ORDER BY `count` DESC LIMIT 51.78ms2.55KBParams/modules/mod_tags_popular/src/Helper/TagsPopularHelper.php:188Copy
  • SELECT MAX(`tag_id`) AS `tag_id`,COUNT(*) AS `count`,MAX(`t`.`title`) AS `title`,MAX(`t`.`access`) AS `access`,MAX(`t`.`alias`) AS `alias`,MAX(`t`.`params`) AS `params`,MAX(`t`.`language`) AS `language` FROM `ssblg_contentitem_tag_map` AS `m` INNER JOIN `ssblg_ucm_content` AS `ucm` ON `m`.`content_item_id` = `ucm`.`core_content_item_id` AND `m`.`type_id` = `ucm`.`core_type_id` INNER JOIN `ssblg_categories` AS `cat` ON `ucm`.`core_catid` = `cat`.`id` INNER JOIN `ssblg_tags` AS `t` ON `tag_id` = `t`.`id` INNER JOIN `ssblg_ucm_content` AS `c` ON `m`.`core_content_id` = `c`.`core_content_id` WHERE `t`.`access` IN (:preparedArray1,:preparedArray2) AND `t`.`published` = 1 AND `t`.`parent_id` IN (:preparedArray3) AND `cat`.`published` > 0 AND `m`.`type_alias` = `c`.`core_type_alias` AND `c`.`core_state` = 1 AND (`c`.`core_access` IN (:preparedArray4,:preparedArray5) OR `c`.`core_access` = 0) AND (`c`.`core_publish_up` IS NULL OR `c`.`core_publish_up` = :nullDate2 OR `c`.`core_publish_up` <= :nowDate2) AND (`c`.`core_publish_down` IS NULL OR `c`.`core_publish_down` = :nullDate3 OR `c`.`core_publish_down` >= :nowDate3) GROUP BY `tag_id`,`t`.`title`,`t`.`access`,`t`.`alias` ORDER BY `count` DESC LIMIT 51.92ms2.55KBParams/modules/mod_tags_popular/src/Helper/TagsPopularHelper.php:188Copy
  • SELECT MAX(`tag_id`) AS `tag_id`,COUNT(*) AS `count`,MAX(`t`.`title`) AS `title`,MAX(`t`.`access`) AS `access`,MAX(`t`.`alias`) AS `alias`,MAX(`t`.`params`) AS `params`,MAX(`t`.`language`) AS `language` FROM `ssblg_contentitem_tag_map` AS `m` INNER JOIN `ssblg_ucm_content` AS `ucm` ON `m`.`content_item_id` = `ucm`.`core_content_item_id` AND `m`.`type_id` = `ucm`.`core_type_id` INNER JOIN `ssblg_categories` AS `cat` ON `ucm`.`core_catid` = `cat`.`id` INNER JOIN `ssblg_tags` AS `t` ON `tag_id` = `t`.`id` INNER JOIN `ssblg_ucm_content` AS `c` ON `m`.`core_content_id` = `c`.`core_content_id` WHERE `t`.`access` IN (:preparedArray1,:preparedArray2) AND `t`.`published` = 1 AND `t`.`parent_id` IN (:preparedArray3) AND `cat`.`published` > 0 AND `m`.`type_alias` = `c`.`core_type_alias` AND `c`.`core_state` = 1 AND (`c`.`core_access` IN (:preparedArray4,:preparedArray5) OR `c`.`core_access` = 0) AND (`c`.`core_publish_up` IS NULL OR `c`.`core_publish_up` = :nullDate2 OR `c`.`core_publish_up` <= :nowDate2) AND (`c`.`core_publish_down` IS NULL OR `c`.`core_publish_down` = :nullDate3 OR `c`.`core_publish_down` >= :nowDate3) GROUP BY `tag_id`,`t`.`title`,`t`.`access`,`t`.`alias` ORDER BY `count` DESC LIMIT 51.89ms2.55KBParams/modules/mod_tags_popular/src/Helper/TagsPopularHelper.php:188Copy
  • SELECT * FROM `ssblg_schemaorg` WHERE `itemId` = :itemId AND `context` = :context140μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:406Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `ssblg_content` AS `a` INNER JOIN `ssblg_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `ssblg_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `ssblg_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `ssblg_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `ssblg_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)349μs22.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `ssblg_scheduler_tasks` AS `a` WHERE `a`.`state` = 1143μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `session_id` FROM `ssblg_session` WHERE `session_id` = ?111μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:277Copy
  • UPDATE `ssblg_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?152μs592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:301Copy