Skip to main content

Written By Wendy Hobday  |  Photos provided by Charles Annibale

Charles Annibale is well-known throughout the Saratoga region as the friendly, hardworking owner/operator of Clean and Clear Windows. But there’s another whole side to this industrious dynamo—and it, too, involves glass! Over the past seven years, Annibale has earned a thriving reputation as a mosaic artist whose abstract masterpieces are made exclusively from fragments of glass rather than traditional mosaic tiles. Annibale’s Adirondack home-based studio, Mosaic of the Muses, is located in Chestertown. But for a few months each winter he heads to Naples, FL, to participate in The Sunshine State’s bustling art show circuit.

The artist studied mosaic art at The Pratt Institute in SoHo. But after earning his Fine Arts degree, he veered away from art for a number of years to raise his family. “I’m kind of a jack of all trades,” he muses. “I worked at several Marriott’s for about five years, and I’d step up whenever artistic input was needed. But after moving up here in 2004, I became heavily involved in the work of Bittersweet Herb Farm in Shelburne, MA. I began taking their homemade oils, sauces, jams, and herbs to festivals and craft fairs all over the northeast.”

When the Great Recession of 2007-2009 caused a lag in his traveling business, Annibale filled the gap by utilizing the window-washing skills he’d acquired as a teen in one of his first jobs. Although Clean and Clear Windows was an instant success, Annibale found himself longing to return to the art world in some meaningful way. Seven years ago, he did just that when he began experimenting with mosaics. 

“I tell people, I clean glass, and I break it down,” he quips. “Initially, I tried using mosaic tiles, but I just didn’t like it. Then I got into glass—and loved it! I’d always been drawn to abstract art, so I began combining the two to create abstract glass mosaics.”

Annibale’s works generally run 3’x4’ in size, but he has created pieces as large as 4’x6’ and as small as 12”x12.” It takes him about three weeks to make a 3’x4’ mosaic. “I make the plywood frame first,” he explains, “gluing it and letting it set, then painting it and letting it set. Meanwhile, I get all the sheets of glass and start cutting them. I do all the cutting by hand with a mosaic nipper. I don’t use hammers to shatter the glass, and I don’t use grinders to smooth out sharp edges. I just want to be a true mosaic artist and do everything by hand. Cutting the glass is the easy part. The hard part is shaping it. That can take a couple of days. I tend to use five or six colors in each of my pieces, seldom more and often less.”

Annibale has traveled to Greece several times to study the country’s rich mosaic history. “I learned that all the beautiful old mosaics seen in cathedrals were done, not by artists, but by slaves, working under the worst conditions with the very worst lighting. That gave me even more respect for the art.”

After his most recent trip, Annibale challenged himself to start making pieces without any sharp edges. “I wanted to round out all the sharp corners by hand with just the nipper, so I experimented extensively. I also learned a lot from artist Kate Hartley, who runs the HART Gallery up in North Creek. She taught me a lot—but there’s always so much more to learn!

When he first returned to mosaics, Annibale’s biggest challenge was the grout, the cement-like substance that holds all the pieces in place. “Initially, I just didn’t know how to work it. But now, after generously covering a piece with grout, I take a big wet sponge and just keep going over and over and over an area. Then, when the grout is low between all pieces, and hardened, I begin buffing the glass to get the shine back. I’ve learned that the best way to get rid of grout residue is to use those green dishwashing pads and white vinegar. That combination works really well.”

Today, Charles Annibale actually enjoys working with grout. “I like adding different colors and different textures to it, and I’ve learned to let the grout tell the story. When I add grout to hundreds of pieces of glass, it creates this little web that ties everything together and almost tells a story. It’s pretty amazing.”

The artist is an avid glass-hunter, forever on the lookout. “I’ve found sheets of glass hidden in an old Mom & Pop store near Poughkeepsie. I’ve found gold-colored glass, which is very rare, in Tennessee. I’ve gotten glass from an old church in Brewster, NY, and a Johnsburg lamp-maker saves all his scrap pieces for me.”     

Annibale’s many clients continually inspire him to try new techniques. “One client wanted some gold leaf on a piece, so I decided to try mixing the gold paint into the grout. After the glass was glued down, I took a toothpick-like instrument and glued between the pieces, working the gold leaf into the glue. The glue acted as the grout, in this case, which is a very different way of looking at grout. Generally, people think of it as cement or concrete. But I’m always trying to put a different spin on it, and people really seem to like the results.”

Recalling how his daughter loved drawing leaves as a child, Annibale was inspired to add crushed leaves to one of his fall-themed mosaics. “I wanted to add some browns to the piece, so I crushed up some dried leaves in a Cuisinart and added them to the grout. They kind of got buried in it, but it was still a pretty neat effect. I want to experiment even more with adding different colors and textures to grout, clumping it sometimes rather than smoothing it out.”

When asked how he manages to juggle a bustling window-washing business and a thriving art career, Annibale admits it isn’t easy. “It’s tough—really tough sometimes. After work, I’ll spend weekends and evenings doing my mosaics. I don’t sleep much, maybe 4-5 hours a night, and I get up early to get working. But I really don’t consider mosaic art ‘work’ at all,” he adds. “I enjoy it that much. There’s always more to learn. The creative possibilities are endless.”    

 

To learn more, visit Mosaic of the Muses by Charles Annibale on Facebook or call (518) 763-1808.

7.949MBMemory Usage91.19msRequest Duration
Joomla! Version4.4.13
PHP Version8.3.21
Identityguest
Response200
Templateyootheme
Database
Server
mysql
Version
8.0.42
Collation
utf8mb3_unicode_ci
Conn Collation
utf8mb4_0900_ai_ci
$_GET
array:3 [ "catid" => "9" "id" => "703" "view" => "article" ]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:74 [ "USER" => "fivetowers" "HOME" => "/home/fivetowers" "SCRIPT_NAME" => "/index.php" ...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1748698437 "last" => 1748698437...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (444.69KB) (2.05ms)
  • afterInitialise (1.96MB) (24.47ms)
  • afterRoute (375.95KB) (4.6ms)
  • beforeRenderComponent com_content (49.2KB) (696μs)
  • Before Access::preloadComponents (all components) (47.72KB) (1.47ms)
  • After Access::preloadComponents (all components) (116.7KB) (912μs)
  • Before Access::preloadPermissions (com_content) (1.63KB) (23μs)
  • After Access::preloadPermissions (com_content) (514.33KB) (1.04ms)
  • Before Access::getAssetRules (id:878 name:com_content.article.703) (18.65KB) (25μs)
  • After Access::getAssetRules (id:878 name:com_content.article.703) (7.38KB) (92μs)
  • afterRenderComponent com_content (1.58MB) (31.68ms)
  • afterDispatch (29.42KB) (966μs)
  • beforeRenderRawModule mod_finder () (376.75KB) (7.9ms)
  • afterRenderRawModule mod_finder () (1.95MB) (6.08ms)
  • beforeRenderModule mod_finder () (704B) (11μs)
  • afterRenderModule mod_finder () (1.44KB) (237μs)
  • beforeRenderRawModule mod_menu () (1.66KB) (216μs)
  • afterRenderRawModule mod_menu () (12.58KB) (1.18ms)
  • beforeRenderModule mod_menu () (696B) (4μs)
  • afterRenderModule mod_menu () (3.63KB) (115μs)
  • beforeRenderRawModule mod_custom () (920B) (79μs)
  • afterRenderRawModule mod_custom () (320.07KB) (1.22ms)
  • beforeRenderModule mod_custom () (704B) (4μs)
  • afterRenderModule mod_custom () (3.15KB) (55μs)
  • beforeRenderRawModule mod_menu () (24B) (77μs)
  • afterRenderRawModule mod_menu () (552B) (403μs)
  • beforeRenderModule mod_menu () (696B) (3μs)
  • afterRenderModule mod_menu () (2.76KB) (58μs)
  • beforeRenderRawModule mod_custom () (920B) (56μs)
  • afterRenderRawModule mod_custom () (1.03KB) (136μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (1.23KB) (57μs)
  • beforeRenderRawModule mod_menu () (1.8KB) (85μs)
  • afterRenderRawModule mod_menu () (4.45KB) (414μs)
  • beforeRenderModule mod_menu () (696B) (3μs)
  • afterRenderModule mod_menu () (1.34KB) (71μs)
  • beforeRenderRawModule mod_finder () (96B) (8μs)
  • afterRenderRawModule mod_finder () (7.28KB) (590μs)
  • beforeRenderModule mod_finder () (704B) (4μs)
  • afterRenderModule mod_finder () (1.34KB) (71μs)
  • beforeRenderRawModule mod_custom () (288B) (8μs)
  • afterRenderRawModule mod_custom () (912B) (150μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (1.23KB) (72μs)
  • beforeRenderRawModule mod_custom () (6.27KB) (168μs)
  • afterRenderRawModule mod_custom () (1008B) (122μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (2.77KB) (46μs)
  • beforeRenderRawModule mod_custom () (472B) (59μs)
  • afterRenderRawModule mod_custom () (1008B) (111μs)
  • beforeRenderModule mod_custom () (704B) (2μs)
  • afterRenderModule mod_custom () (2.43KB) (42μs)
  • afterRender (290.95KB) (2.81ms)
  • 1 x afterRenderComponent com_content (1.58MB) (34.74%)
    31.68ms
    1 x afterInitialise (1.96MB) (26.83%)
    24.47ms
    1 x beforeRenderRawModule mod_finder () (376.75KB) (8.67%)
    7.90ms
    1 x afterRenderRawModule mod_finder () (1.95MB) (6.66%)
    6.08ms
    1 x afterRoute (375.95KB) (5.04%)
    4.60ms
    1 x afterRender (290.95KB) (3.08%)
    2.81ms
    1 x afterLoad (444.69KB) (2.24%)
    2.05ms
    1 x Before Access::preloadComponents (all components) (47.72KB) (1.61%)
    1.47ms
    1 x afterRenderRawModule mod_custom () (320.07KB) (1.34%)
    1.22ms
    1 x afterRenderRawModule mod_menu () (12.58KB) (1.29%)
    1.18ms
    1 x After Access::preloadPermissions (com_content) (514.33KB) (1.14%)
    1.04ms
    1 x afterDispatch (29.42KB) (1.06%)
    966μs
    1 x After Access::preloadComponents (all components) (116.7KB) (1%)
    912μs
    1 x beforeRenderComponent com_content (49.2KB) (0.76%)
    696μs
    1 x afterRenderRawModule mod_finder () (7.28KB) (0.65%)
    590μs
    1 x afterRenderRawModule mod_menu () (4.45KB) (0.45%)
    414μs
    1 x afterRenderRawModule mod_menu () (552B) (0.44%)
    403μs
    1 x afterRenderModule mod_finder () (1.44KB) (0.26%)
    237μs
    2 x afterRenderRawModule mod_custom () (1008B) (0.26%)
    233μs
    1 x beforeRenderRawModule mod_menu () (1.66KB) (0.24%)
    216μs
    1 x beforeRenderRawModule mod_custom () (6.27KB) (0.18%)
    168μs
    1 x afterRenderRawModule mod_custom () (912B) (0.16%)
    150μs
    1 x afterRenderRawModule mod_custom () (1.03KB) (0.15%)
    136μs
    2 x beforeRenderRawModule mod_custom () (920B) (0.15%)
    135μs
    2 x afterRenderModule mod_custom () (1.23KB) (0.14%)
    129μs
    1 x afterRenderModule mod_menu () (3.63KB) (0.13%)
    115μs
    1 x After Access::getAssetRules (id:878 name:com_content.article.703) (7.38KB) (0.1%)
    92μs
    1 x beforeRenderRawModule mod_menu () (1.8KB) (0.09%)
    85μs
    1 x beforeRenderRawModule mod_menu () (24B) (0.08%)
    77μs
    1 x afterRenderModule mod_finder () (1.34KB) (0.08%)
    71μs
    1 x afterRenderModule mod_menu () (1.34KB) (0.08%)
    71μs
    1 x beforeRenderRawModule mod_custom () (472B) (0.06%)
    59μs
    1 x afterRenderModule mod_menu () (2.76KB) (0.06%)
    58μs
    1 x afterRenderModule mod_custom () (3.15KB) (0.06%)
    55μs
    1 x afterRenderModule mod_custom () (2.77KB) (0.05%)
    46μs
    1 x afterRenderModule mod_custom () (2.43KB) (0.05%)
    42μs
    1 x Before Access::getAssetRules (id:878 name:com_content.article.703) (18.65KB) (0.03%)
    25μs
    1 x Before Access::preloadPermissions (com_content) (1.63KB) (0.03%)
    23μs
    2 x beforeRenderModule mod_finder () (704B) (0.02%)
    15μs
    5 x beforeRenderModule mod_custom () (704B) (0.02%)
    15μs
    3 x beforeRenderModule mod_menu () (696B) (0.01%)
    10μs
    1 x beforeRenderRawModule mod_finder () (96B) (0.01%)
    8μs
    1 x beforeRenderRawModule mod_custom () (288B) (0.01%)
    8μs
53 statements were executed, 5 of which were duplicates, 48 unique10.61ms878.27KB
  • SELECT @@SESSION.sql_mode;88μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `jos_session` WHERE `session_id` = ?156μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = :session_id LIMIT 166μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `jos_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)294μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `jos_viewlevels`109μs976B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `jos_usergroups` AS `a` LEFT JOIN `jos_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest185μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_k2" AND e.type = "component"154μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_virtuemart" AND e.type = "component"119μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_easyblog" AND e.type = "component"83μs1.13KB/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jomclassifieds" AND e.type = "component"63μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_hikashop" AND e.type = "component"63μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_rseventspro" AND e.type = "component"92μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_zoo" AND e.type = "component"82μs536B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jticketing" AND e.type = "component"72μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_icagenda" AND e.type = "component"67μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_eventbooking" AND e.type = "component"57μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_eshop" AND e.type = "component"55μs1.76KB/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_rsblog" AND e.type = "component"57μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_mijovideos" AND e.type = "component"80μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_opencart" AND e.type = "component"62μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jcart" AND e.type = "component"56μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_djclassifieds" AND e.type = "component"61μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_j2store" AND e.type = "component"65μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_phocacart" AND e.type = "component"66μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jshopping" AND e.type = "component"69μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_igallery" AND e.type = "component"72μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_dpcalendar" AND e.type = "component"67μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SHOW FULL COLUMNS FROM `jos_tagz_config`477μs1.3KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • SELECT * FROM `jos_tagz_config` WHERE `name` = 'config'81μs592B/libraries/src/Table/Table.php:755Copy
  • SELECT id,template FROM jos_template_styles WHERE client_id=0 AND home=1189μs592B/administrator/components/com_widgetkit/widgetkit.php:28Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yooessentials' AND folder = 'system'139μs536B/plugins/system/yooessentials/helper.php:153Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yooessentials' AND folder = 'system' LIMIT 1136μs536B/plugins/system/yooessentials/modules/platform-joomla/src/Database.php:52Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jos_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,:preparedArray39,:preparedArray40,:preparedArray41)492μs9.94KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jos_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 0483μs49.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `jos_content`664μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `jos_content` SET `hits` = (`hits` + 1) WHERE `id` = '703'415μs48B/libraries/src/Table/Table.php:1325Copy
  • 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 `jos_content` AS `a` INNER JOIN `jos_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `jos_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `jos_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `jos_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `jos_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)427μs54.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 `jos_categories` AS `s` INNER JOIN `jos_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`279μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `jos_contentitem_tag_map` AS `m` INNER JOIN `jos_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)185μs3.97KBParams/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 `jos_categories` AS `s` INNER JOIN `jos_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`273μ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 jos_fields AS a LEFT JOIN `jos_languages` AS l ON l.lang_code = a.language LEFT JOIN jos_users AS uc ON uc.id=a.checked_out LEFT JOIN jos_viewlevels AS ag ON ag.id = a.access LEFT JOIN jos_users AS ua ON ua.id = a.created_user_id LEFT JOIN jos_fields_groups AS g ON g.id = a.group_id LEFT JOIN `jos_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 ASC474μs4.75KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • 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 `jos_content` AS `a` LEFT JOIN `jos_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 DESC1.39ms21.72KBParams/plugins/content/pagenavigation/src/Extension/PageNavigation.php:188Copy
  • 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 `jos_categories` AS `s` INNER JOIN `jos_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`266μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `params` FROM `jos_tagz` WHERE `component_id` = 122 AND `component_type` = "menu"173μs520B/plugins/system/tagz/tagz.php:650Copy
  • SELECT `params` FROM `jos_tagz` WHERE `component_id` = 703 AND `component_type` = "content"114μs520B/plugins/system/tagz/tagz.php:650Copy
  • SELECT `name`,`element` FROM `jos_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1157μs592B/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `jos_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)159μs584B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yootheme' AND folder = 'system' LIMIT 1330μs688.52KB/templates/yootheme/packages/platform-joomla/src/Storage.php:30Copy
  • 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 jos_fields AS a LEFT JOIN `jos_languages` AS l ON l.lang_code = a.language LEFT JOIN jos_users AS uc ON uc.id=a.checked_out LEFT JOIN jos_viewlevels AS ag ON ag.id = a.access LEFT JOIN jos_users AS ua ON ua.id = a.created_user_id LEFT JOIN jos_fields_groups AS g ON g.id = a.group_id WHERE ( (`a`.`context` = :context AND `a`.`access` IN (:preparedArray1,:preparedArray2)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray3,:preparedArray4)) 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 ASC292μs4.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `title` FROM `jos_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)133μs584B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • 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 `jos_scheduler_tasks` AS `a` WHERE `a`.`state` = 1120μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = ?89μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `jos_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?210μs592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy