Our background and experience

3D HR Ltd, trading as Three Dimensional Human Resources,  was set up in 2007.  The Director and founder is Peter Kenworthy.  In the past 17 years 3D HR has worked on HR Projects for:-

  • Currently, as the Sage People Specialist for Insights, an international learning provider based in Scotland, to review and develop the HRIS and integrate with other systems.
  • HCMS Implementation Lead for the Solicitors Regulation Authority (SRA), implementing Ceridian Dayforce for 700 employees over 3 sites.
  • People Data & Systems Specialist Contractor for Phlexglobal, managing and developing Sage People HCM and Recruit across the international business working in UK, US, Poland, India and Germany.  Managing the implementation of SAP Litmos Learning Management System and Awardco Recognition and Reward platform, both integrating with Sage People.
  • Sage People HRIS implementations as an Associate Consultant with Silver Cloud HR, an official Sage People Implementation Partner - for various clients including legal partnerships, financial and insurance companies, media organisations and building contractor firms
  • EMAP and Metropolis Group media publishing company - to implement OpenHR as a new HRIS, including data migration, system configuration, HR processes analysis, workflow and report design and user training
  • SUEZ R&R waste management company - to project manage the implementation of iTrent HRIS, analyse HR processes, write required management information reports with BusinessObjects and user training
  • Aster Group housing association - to project manage the implementation of iTrent HRIS, write required management information reports with SAP BusinessObjects and provide user training
  • Outward Housing and the Newlon Group - to review payroll processes, project manage implementation of online time recording and installation of new HR database

Prior to a focus on HRIS implementation, we have worked with, for example:-

  • Christian Aid - to review international salaries across all 34 countries of operation, with the HR team and international programmes team
  • Pump Aid - as HR Consultant Director on a part-time weekly basis, providing strategic and operational HR support including senior recruitment, development of UK and international policies and procedures, and working with the CEO and Board on organisational development
  • A Rocha International - working with the CEO and Finance Director on recruitment issues, policy development and salary reviews
  • CWM - providing general and specific HR advice to an international network of churches on a retainer basis
  • as a retained HR consultant with e.g. Premier Media Group, Prison Fellowship, Stewardship and the Moravian Church GB
  • various groups to deliver workshops on email management and appraisal processes in-house and as open sessions
  • a number of clients to facilitate disciplinary and grievance procedures

Peter is a Chartered Fellow of the Chartered Institute of Personnel and Development (CIPD) and has been involved in Human Resources (HR) management and development for over 20 years, including being the Interim HR Director of the international development charity WaterAid and previously their International HR Manager in a new HR team, and before that as Personnel and Training Manager at the Church Mission Society (CMS).

Peter is a Registered Practitioner with PRINCE2 project management, Certified Practitioner with PRINCE2 Agile and is qualified in Business Analysis.  His academic background includes an MSc in Agricultural Development, Postgraduate Certificate in Development Management and a Postgraduate Diploma in Human Resource Management. 

Jan Kenworthy is a Company Director and the Company Secretary.

3D HR Ltd trading as Three Dimensional Human Resources.  Registered Company in England & Wales: 6294703. Director: Peter Kenworthy, CFCIPD, MSc

 

6MBMemory Usage358msRequest Duration
Joomla! Version4.2.6
PHP Version8.0.30
Identityguest
Response200
Templatecassiopeia
Database
Server
mysql
Version
10.11.11-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
[]
$_COOKIE
[]
$_SERVER
array:62 [ "CONTEXT_DOCUMENT_ROOT" => "/home/hradvise/public_html" "CONTEXT_PREFIX" => "" "DOC...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1747088839 "last" => 1747088839...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
PHPDEBUGBAR_STACK_DATA
[]
  • afterLoad (874.67KB) (55.45ms)
  • afterInitialise (2.23MB) (122ms)
  • afterRoute (60.23KB) (9.27ms)
  • beforeRenderComponent com_content (256.77KB) (20.3ms)
  • Before Access::preloadComponents (all components) (197.27KB) (11.33ms)
  • After Access::preloadComponents (all components) (112.01KB) (2.13ms)
  • Before Access::preloadPermissions (com_content) (2.76KB) (82μs)
  • After Access::preloadPermissions (com_content) (9.67KB) (2.01ms)
  • Before Access::getAssetRules (id:71 name:com_content.article.9) (56B) (21μs)
  • After Access::getAssetRules (id:71 name:com_content.article.9) (9.95KB) (568μs)
  • afterRenderComponent com_content (602.05KB) (51.64ms)
  • afterDispatch (3.08KB) (259μs)
  • beforeRenderRawModule mod_finder (smart search) (345.92KB) (11.04ms)
  • afterRenderRawModule mod_finder (smart search) (160.88KB) (17.97ms)
  • beforeRenderRawModule mod_menu (Main Menu) (2.71KB) (76μs)
  • afterRenderRawModule mod_menu (Main Menu) (104.88KB) (7.13ms)
  • beforeRenderRawModule mod_rssocial (RSSocial!) (48.89KB) (136μs)
  • afterRenderRawModule mod_rssocial (RSSocial!) (121.02KB) (3.15ms)
  • beforeRenderRawModule mod_footer (Footer) (49.47KB) (111μs)
  • afterRenderRawModule mod_footer (Footer) (7.6KB) (915μs)
  • beforeRenderModule mod_footer (Footer) (2.25KB) (705μs)
  • afterRenderModule mod_footer (Footer) (2.93KB) (293μs)
  • beforeRenderModule mod_finder (smart search) (464B) (69μs)
  • afterRenderModule mod_finder (smart search) (3.38KB) (354μs)
  • beforeRenderModule mod_menu (Main Menu) (2.68KB) (109μs)
  • afterRenderModule mod_menu (Main Menu) (2.8KB) (72μs)
  • beforeRenderModule mod_rssocial (RSSocial!) (47.84KB) (119μs)
  • afterRenderModule mod_rssocial (RSSocial!) (2.45KB) (65μs)
  • afterRender (151.19KB) (16.19ms)
  • 1 x afterInitialise (2.23MB) (33.99%)
    121.79ms
    1 x afterLoad (874.67KB) (15.48%)
    55.45ms
    1 x afterRenderComponent com_content (602.05KB) (14.41%)
    51.64ms
    1 x beforeRenderComponent com_content (256.77KB) (5.67%)
    20.30ms
    1 x afterRenderRawModule mod_finder (smart search) (160.88KB) (5.02%)
    17.97ms
    1 x afterRender (151.19KB) (4.52%)
    16.19ms
    1 x Before Access::preloadComponents (all components) (197.27KB) (3.16%)
    11.33ms
    1 x beforeRenderRawModule mod_finder (smart search) (345.92KB) (3.08%)
    11.04ms
    1 x afterRoute (60.23KB) (2.59%)
    9.27ms
    1 x afterRenderRawModule mod_menu (Main Menu) (104.88KB) (1.99%)
    7.13ms
    1 x afterRenderRawModule mod_rssocial (RSSocial!) (121.02KB) (0.88%)
    3.15ms
    1 x After Access::preloadComponents (all components) (112.01KB) (0.6%)
    2.13ms
    1 x After Access::preloadPermissions (com_content) (9.67KB) (0.56%)
    2.01ms
    1 x afterRenderRawModule mod_footer (Footer) (7.6KB) (0.26%)
    915μs
    1 x beforeRenderModule mod_footer (Footer) (2.25KB) (0.2%)
    705μs
    1 x After Access::getAssetRules (id:71 name:com_content.article.9) (9.95KB) (0.16%)
    568μs
    1 x afterRenderModule mod_finder (smart search) (3.38KB) (0.1%)
    354μs
    1 x afterRenderModule mod_footer (Footer) (2.93KB) (0.08%)
    293μs
    1 x afterDispatch (3.08KB) (0.07%)
    259μs
    1 x beforeRenderRawModule mod_rssocial (RSSocial!) (48.89KB) (0.04%)
    136μs
    1 x beforeRenderModule mod_rssocial (RSSocial!) (47.84KB) (0.03%)
    119μs
    1 x beforeRenderRawModule mod_footer (Footer) (49.47KB) (0.03%)
    111μs
    1 x beforeRenderModule mod_menu (Main Menu) (2.68KB) (0.03%)
    109μs
    1 x Before Access::preloadPermissions (com_content) (2.76KB) (0.02%)
    82μs
    1 x beforeRenderRawModule mod_menu (Main Menu) (2.71KB) (0.02%)
    76μs
    1 x afterRenderModule mod_menu (Main Menu) (2.8KB) (0.02%)
    72μs
    1 x beforeRenderModule mod_finder (smart search) (464B) (0.02%)
    69μs
    1 x afterRenderModule mod_rssocial (RSSocial!) (2.45KB) (0.02%)
    65μs
    1 x Before Access::getAssetRules (id:71 name:com_content.article.9) (56B) (0.01%)
    21μs
27 statements were executed, 2 of which were duplicates, 25 unique36.46ms158.25KB
  • SELECT @@SESSION.sql_mode;151μs1.59KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:293Copy
  • SELECT `data` FROM `josog_session` WHERE `session_id` = ?207μs1.61KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `josog_session` WHERE `session_id` = :session_id LIMIT 1762μs1.61KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `josog_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)1.85ms944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `josog_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1391μs5.36KB/libraries/src/Component/ComponentHelper.php:393Copy
  • SELECT `id`,`rules` FROM `josog_viewlevels`176μs1.11KB/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `josog_usergroups` AS `a` LEFT JOIN `josog_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest314μs1.67KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `josog_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`731μs11.8KBParams/libraries/src/Plugin/PluginHelper.php:283Copy
  • SELECT `value` FROM `josog_admintools_storage` WHERE `key` = 'cparams'170μs2.07KB/administrator/components/com_admintools/src/Helper/Storage.php:119Copy
  • SELECT `option`,`view`,`query` FROM `josog_admintools_wafexceptions`133μs960B/plugins/system/admintools/src/Utility/Cache.php:195Copy
  • 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 `josog_menu` AS `m` LEFT JOIN `josog_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`603μs28.86KBParams/libraries/src/Menu/SiteMenu.php:166Copy
  • SELECT * FROM `josog_languages` WHERE `published` = 1 ORDER BY `ordering` ASC2.17ms2.44KB/libraries/src/Language/LanguageHelper.php:142Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `josog_template_styles` AS `s` LEFT JOIN `josog_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` = 1448μs1.22KB/administrator/components/com_templates/src/Model/StyleModel.php:771Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `josog_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,:preparedArray42)1.45ms10.25KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `josog_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 01.71ms3.36KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `josog_content`977μs10.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:584Copy
  • UPDATE josog_content SET `hits` = (`hits` + 1) WHERE `id` = '9'5.25ms2.55KB/libraries/src/Table/Table.php:1319Copy
  • 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 `josog_content` AS `a` INNER JOIN `josog_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `josog_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `josog_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `josog_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `josog_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)3.03ms33.38KBParams/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 `josog_categories` AS `s` INNER JOIN `josog_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`1.87ms6.03KBParams/libraries/src/Categories/Categories.php:360Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `josog_contentitem_tag_map` AS `m` INNER JOIN `josog_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)2.55ms5.22KBParams/libraries/src/Helper/TagsHelper.php:364Copy
  • 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 `josog_categories` AS `s` INNER JOIN `josog_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`562μs6.03KBParams/libraries/src/Categories/Categories.php:360Copy
  • 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 josog_fields AS a LEFT JOIN `josog_languages` AS l ON l.lang_code = a.language LEFT JOIN josog_users AS uc ON uc.id=a.checked_out LEFT JOIN josog_viewlevels AS ag ON ag.id = a.access LEFT JOIN josog_users AS ua ON ua.id = a.created_user_id LEFT JOIN josog_fields_groups AS g ON g.id = a.group_id LEFT JOIN `josog_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 ASC3.08ms6KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:165Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `josog_modules` AS `m` LEFT JOIN `josog_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `josog_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`640μs2.97KBParams/libraries/src/Cache/Controller/CallbackController.php:52Copy
  • SELECT `name`,`element` FROM `josog_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1443μs1.06KB/administrator/components/com_finder/src/Helper/LanguageHelper.php:134Copy
  • SELECT `title` FROM `josog_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)3.83ms968B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`type`,`a`.`execution_rules`,`a`.`state`,`a`.`last_exit_code`,`a`.`locked`,`a`.`last_execution`,`a`.`next_execution`,`a`.`times_executed`,`a`.`times_failed`,`a`.`priority`,`a`.`ordering`,`a`.`note`,`a`.`checked_out`,`a`.`checked_out_time`,`uc`.`name` AS `editor` FROM `josog_scheduler_tasks` AS `a` LEFT JOIN `josog_users` AS `uc` ON `uc`.`id` = `a`.`checked_out` WHERE `a`.`state` = :state AND `a`.`next_execution` <= :now ORDER BY `a`.`title` asc1.74ms4.45KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:391Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`type`,`a`.`execution_rules`,`a`.`state`,`a`.`last_exit_code`,`a`.`locked`,`a`.`last_execution`,`a`.`next_execution`,`a`.`times_executed`,`a`.`times_failed`,`a`.`priority`,`a`.`ordering`,`a`.`note`,`a`.`checked_out`,`a`.`checked_out_time`,`uc`.`name` AS `editor` FROM `josog_scheduler_tasks` AS `a` LEFT JOIN `josog_users` AS `uc` ON `uc`.`id` = `a`.`checked_out` WHERE `a`.`state` = :state AND `a`.`locked` IS NOT NULL ORDER BY `a`.`title` asc1.22ms4.43KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:391Copy