Skip to main content

Written By Wendy Hobday Haugh
Photos Provided

[From the 2025 Summer Magazine]

Evolution of a Driftwood Sculptor

If you’ve always been drawn to the timeless beauty of driftwood, you’ll surely appreciate the exquisite elegance of Hope Falls artist Caitlin Roben’s driftwood sculptures. Roben’s work embodies the alluring mystique that beachcombers and river walkers alike savor when they stumble upon a piece of aged wood, worn smooth by the forces of Nature.

Cedar Vase Duo

"Heart Years" and "Carry"

A lifelong driftwood scavenger, Roben grew up on the banks of the Mohawk River in Glenville. “With access to the water from my parents’ house, I was always collecting interesting pieces. Going out and searching for driftwood is fun and definitely part of the inspiration for my artistic process.”

Roben credits her parents for exposing her early on to the arts and a variety of crafts. Her mother is a folk singer, so she grew up surrounded by music, and her father gave her a toolbox and a little whittling kit when she was quite young. “I always gravitated to art classes in school and enjoyed all different mediums. But it’s been a winding road to where I am now. In my teens and college, I trained as a dancer. But even while studying dance at Bennington College, I continued to study ceramics, painting, and other visual arts.”

After college, her love of dance led her to New York City for a decade. “Life took its twists and turns, and eventually, after working in hospitality for a number of years, I found myself itching to get back into the arts.”

Roben initially ventured into calligraphy and hand-lettering, doing custom work on driftwood for wedding signage. But the more she worked with the driftwood, cleaning it up and preparing it for lettering, the more fascinated she became with the material itself. “As my own interest in driftwood grew, I reached a point where I dropped the lettering work and pursued the sculptural bent of the wood.”

Many artists find inspiration in a blank page or canvas, but Roben’s artistic approach differs. “My work never starts from a place of, I have this idea and I’m going to build it. It’s more of, I am inspired by the piece of wood that I found, and I’m just going to listen to it, carve it down, patiently remove the outer layers, and just keep going. It evolves as I go, but I have to work slowly, using only hand tools.”

Although driftwood is often associated with the ocean, Roben enjoys working with driftwood formed by the mountains, forests, lakes, and rivers of upstate NY. “Driftwood comes from the trees but is shaped by the elements—the water, the rocks, the tumbling and movement—and for me, somewhere in that mix is its magic. Nature has already shaped the wood, and I’m just giving it one more round of shaping.”

Roben can never predict at the start what the end result will be. “But with the first round of carving, taking off the bulk with a big draw knife, there’s always a point at which the shape begins to show itself: a clear little moment when I think, ‘Oh, there you are!’ From that point on, guided by the wood, I just keep honing it down to its heart. By then, I may have taken away up to three-quarters of the original material.”

In her work, Roben finds hand tools “grounding, reassuring and satisfying. I prefer to pursue things that, thus far, machines have been unable to replicate. I think the handmade element adds value to an item, and I’m trying to fit into that space. There’s a magic to one-of-a-kind pieces that just isn’t there in mass-produced items.”

Collaborative cupboard by Caitlin Roben and Russ Gleaves

Roben enjoys creating sculptural series: numerous pieces bound together by a common theme. Her “Carry” series, she explains, represents “the things we carry within us, tucked inside, held, tenderly or not. Each piece includes one large anchoring piece of wood and one smaller, carved piece perched upon the larger, symbolizing in part our interdependence and how, at times, we carry and care for one another.”

To date, Roben has made over 600 Etsy sales alone, many to coastal California areas where appreciation for the natural beauty of driftwood runs high. Recently, in addition to her solo work, she has begun collaborating with fine Adirondack Rustic furniture maker Russ Gleaves at his Hope Falls Rustic workshop. “I feel an amazing kinship with the ADK rustic style of woodworking. It’s so similar to what I am doing, but in a different vein. Both start with an appreciation and utilization of unique natural pieces. But I just happen to be coming at it through driftwood whereas the Adirondack tradition is coming at it from the native-grown trees and their quirks.”

Sculpture from Caitlin Roben's “Carry” series. 

“Carry” series 

“Carry” series 

Six-ft. Ladder Blanket by Caitlin Roben and Russ Gleaves

Although Roben and Gleaves continue to pursue individual projects, they find strength in their ability to work together effectively. “I’m doing some carving in Russ’s furniture now, and he is helping me to build. Together, we recently completed a large blanket ladder. An Etsy client in South Carolina requested a six-foot blanket ladder made of driftwood. A year ago, I wouldn’t have taken on this commission but, thanks to Russ’s skills and shop, I was able to do so.

“I didn’t have enough driftwood in the light tone the client requested, but Russ had some weathered white pine that had some beautiful blushes, beiges, and gray streaks. The client agreed to the change and, after the ladder was built, I carved it down the way I carve my driftwood, following the natural grain of the wood.”

Cedar and Birch Vases

Under Gleaves’ tutelage, Roben also has ventured into twig work, another traditional aspect of the Adirondack Rustic style of furniture making. “I find the mosaic nature of twig work particularly fascinating because it reminds me of quilting in the sense that geometric shapes and patterns are made to fit into a predetermined space.”    

Today, between scavenging for driftwood along upstate riverbeds and creeks, creating masterful sculptures, and collaborating on rustic ADK furniture, Caitlin Roben has fashioned her own unique, fulfilling, and fun niche in the art world.

“Not to wax poetic about driftwood,” she muses, “but my work all comes out of a love for the natural world and its materials. When I’m carving down a piece of wood, I experience this amazing peace of mind, a level of peace I truly don’t get from anything else. I love working with a piece of driftwood to discover its inner integrity and figure out where it’s going to shine.”

 

 

To see more of the artist’s work, visit
www.CRobenDriftwoodWork.com; 518-878-1662.

To see her collaborative work, visit Northville Rotary’s annual Woodworking & Fine Arts Weekend, July 18-20.

8.251MBMemory Usage133msRequest Duration
Joomla! Version4.4.13
PHP Version8.3.23
Identityguest
Response200
Templateyootheme
Database
Server
mysql
Version
8.4.6
Collation
utf8mb3_unicode_ci
Conn Collation
utf8mb4_0900_ai_ci
$_GET
array:3 [ "catid" => "11" "id" => "867" "view" => "article" ]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:58 [ "USER" => "fivetowers" "HOME" => "/home/fivetowers" "SCRIPT_NAME" => "/index.php" ...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1753485617 "last" => 1753485617...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (444.73KB) (3.81ms)
  • afterInitialise (1.96MB) (35ms)
  • afterRoute (375.48KB) (5.24ms)
  • beforeRenderComponent com_content (49.04KB) (994μs)
  • Before Access::preloadComponents (all components) (43.72KB) (1.56ms)
  • After Access::preloadComponents (all components) (116.7KB) (2.56ms)
  • Before Access::preloadPermissions (com_content) (1.63KB) (14μs)
  • After Access::preloadPermissions (com_content) (527.41KB) (2.59ms)
  • Before Access::getAssetRules (id:1042 name:com_content.article.867) (18.65KB) (26μs)
  • After Access::getAssetRules (id:1042 name:com_content.article.867) (11.38KB) (100μs)
  • afterRenderComponent com_content (1.89MB) (52.34ms)
  • afterDispatch (29.42KB) (1.06ms)
  • beforeRenderRawModule mod_finder () (374.89KB) (9.04ms)
  • afterRenderRawModule mod_finder () (1.95MB) (8.3ms)
  • beforeRenderModule mod_finder () (704B) (5μs)
  • afterRenderModule mod_finder () (1.44KB) (171μs)
  • beforeRenderRawModule mod_menu () (1.66KB) (193μs)
  • afterRenderRawModule mod_menu () (12.58KB) (714μs)
  • beforeRenderModule mod_menu () (696B) (4μs)
  • afterRenderModule mod_menu () (3.63KB) (107μs)
  • beforeRenderRawModule mod_custom () (920B) (61μs)
  • afterRenderRawModule mod_custom () (320.1KB) (1.1ms)
  • beforeRenderModule mod_custom () (704B) (4μs)
  • afterRenderModule mod_custom () (3.15KB) (56μs)
  • beforeRenderRawModule mod_menu () (24B) (70μs)
  • afterRenderRawModule mod_menu () (552B) (323μs)
  • beforeRenderModule mod_menu () (696B) (4μs)
  • afterRenderModule mod_menu () (2.76KB) (55μs)
  • beforeRenderRawModule mod_custom () (920B) (49μs)
  • afterRenderRawModule mod_custom () (1.03KB) (148μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (1.23KB) (61μs)
  • beforeRenderRawModule mod_menu () (1.8KB) (75μs)
  • afterRenderRawModule mod_menu () (4.45KB) (368μs)
  • beforeRenderModule mod_menu () (696B) (4μs)
  • afterRenderModule mod_menu () (1.34KB) (97μs)
  • beforeRenderRawModule mod_finder () (96B) (12μs)
  • afterRenderRawModule mod_finder () (7.28KB) (533μs)
  • beforeRenderModule mod_finder () (704B) (4μs)
  • afterRenderModule mod_finder () (1.34KB) (76μs)
  • beforeRenderRawModule mod_custom () (288B) (9μs)
  • afterRenderRawModule mod_custom () (912B) (142μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (1.23KB) (55μs)
  • beforeRenderRawModule mod_custom () (4.23KB) (135μs)
  • afterRenderRawModule mod_custom () (1008B) (113μs)
  • beforeRenderModule mod_custom () (704B) (2μs)
  • afterRenderModule mod_custom () (2.77KB) (45μs)
  • beforeRenderRawModule mod_custom () (472B) (52μs)
  • afterRenderRawModule mod_custom () (1008B) (96μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (2.43KB) (38μs)
  • afterRender (306.95KB) (3.19ms)
  • 1 x afterRenderComponent com_content (1.89MB) (39.46%)
    52.34ms
    1 x afterInitialise (1.96MB) (26.38%)
    35.00ms
    1 x beforeRenderRawModule mod_finder () (374.89KB) (6.81%)
    9.04ms
    1 x afterRenderRawModule mod_finder () (1.95MB) (6.26%)
    8.30ms
    1 x afterRoute (375.48KB) (3.95%)
    5.24ms
    1 x afterLoad (444.73KB) (2.87%)
    3.81ms
    1 x afterRender (306.95KB) (2.4%)
    3.19ms
    1 x After Access::preloadPermissions (com_content) (527.41KB) (1.96%)
    2.59ms
    1 x After Access::preloadComponents (all components) (116.7KB) (1.93%)
    2.56ms
    1 x Before Access::preloadComponents (all components) (43.72KB) (1.17%)
    1.56ms
    1 x afterRenderRawModule mod_custom () (320.1KB) (0.83%)
    1.10ms
    1 x afterDispatch (29.42KB) (0.8%)
    1.06ms
    1 x beforeRenderComponent com_content (49.04KB) (0.75%)
    994μs
    1 x afterRenderRawModule mod_menu () (12.58KB) (0.54%)
    714μs
    1 x afterRenderRawModule mod_finder () (7.28KB) (0.4%)
    533μs
    1 x afterRenderRawModule mod_menu () (4.45KB) (0.28%)
    368μs
    1 x afterRenderRawModule mod_menu () (552B) (0.24%)
    323μs
    2 x afterRenderRawModule mod_custom () (1008B) (0.16%)
    209μs
    1 x beforeRenderRawModule mod_menu () (1.66KB) (0.15%)
    193μs
    1 x afterRenderModule mod_finder () (1.44KB) (0.13%)
    171μs
    1 x afterRenderRawModule mod_custom () (1.03KB) (0.11%)
    148μs
    1 x afterRenderRawModule mod_custom () (912B) (0.11%)
    142μs
    1 x beforeRenderRawModule mod_custom () (4.23KB) (0.1%)
    135μs
    2 x afterRenderModule mod_custom () (1.23KB) (0.09%)
    116μs
    2 x beforeRenderRawModule mod_custom () (920B) (0.08%)
    110μs
    1 x afterRenderModule mod_menu () (3.63KB) (0.08%)
    107μs
    1 x After Access::getAssetRules (id:1042 name:com_content.article.867) (11.38KB) (0.08%)
    100μs
    1 x afterRenderModule mod_menu () (1.34KB) (0.07%)
    97μs
    1 x afterRenderModule mod_finder () (1.34KB) (0.06%)
    76μs
    1 x beforeRenderRawModule mod_menu () (1.8KB) (0.06%)
    75μs
    1 x beforeRenderRawModule mod_menu () (24B) (0.05%)
    70μs
    1 x afterRenderModule mod_custom () (3.15KB) (0.04%)
    56μs
    1 x afterRenderModule mod_menu () (2.76KB) (0.04%)
    55μs
    1 x beforeRenderRawModule mod_custom () (472B) (0.04%)
    52μs
    1 x afterRenderModule mod_custom () (2.77KB) (0.03%)
    45μs
    1 x afterRenderModule mod_custom () (2.43KB) (0.03%)
    38μs
    1 x Before Access::getAssetRules (id:1042 name:com_content.article.867) (18.65KB) (0.02%)
    26μs
    5 x beforeRenderModule mod_custom () (704B) (0.01%)
    15μs
    1 x Before Access::preloadPermissions (com_content) (1.63KB) (0.01%)
    14μs
    3 x beforeRenderModule mod_menu () (696B) (0.01%)
    12μs
    1 x beforeRenderRawModule mod_finder () (96B) (0.01%)
    12μs
    2 x beforeRenderModule mod_finder () (704B) (0.01%)
    9μs
    1 x beforeRenderRawModule mod_custom () (288B) (0.01%)
    9μs
53 statements were executed, 5 of which were duplicates, 48 unique32.06ms906.27KB
  • SELECT @@SESSION.sql_mode;156μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `jos_session` WHERE `session_id` = ?1.17ms1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = :session_id LIMIT 1142μ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)807μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `jos_viewlevels`606μ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` = :guest608μ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"824μ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"129μ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"132μ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"107μ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"108μ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"97μ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"375μ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"124μ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"110μ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"98μ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"116μ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"152μ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"115μ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"109μ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"100μ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"119μ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"116μ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"108μ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"106μ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"98μ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"95μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SHOW FULL COLUMNS FROM `jos_tagz_config`1.25ms1.3KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • SELECT * FROM `jos_tagz_config` WHERE `name` = 'config'181μs592B/libraries/src/Table/Table.php:755Copy
  • SELECT id,template FROM jos_template_styles WHERE client_id=0 AND home=1818μs592B/administrator/components/com_widgetkit/widgetkit.php:28Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yooessentials' AND folder = 'system'246μs536B/plugins/system/yooessentials/helper.php:153Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yooessentials' AND folder = 'system' LIMIT 1132μ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)1.4ms9.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` = 01.15ms49.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `jos_content`1.23ms1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `jos_content` SET `hits` = (`hits` + 1) WHERE `id` = '867'905μ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)1.12ms62.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`649μ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)646μ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`311μ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 ASC741μ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 DESC8.99ms41.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`346μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `params` FROM `jos_tagz` WHERE `component_id` = 119 AND `component_type` = "menu"1.05ms520B/plugins/system/tagz/tagz.php:650Copy
  • SELECT `params` FROM `jos_tagz` WHERE `component_id` = 867 AND `component_type` = "content"135μs520B/plugins/system/tagz/tagz.php:650Copy
  • SELECT `name`,`element` FROM `jos_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1310μ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)469μs584B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yootheme' AND folder = 'system' LIMIT 11.93ms688.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 ASC347μ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)141μ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` = 1413μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = ?96μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `jos_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?227μs592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy