A Full-service Digital Research Environment for Ecotoxicology

Ecotoxicology researchers carry out complex, team-shared activities involving

  • Data: collection, organization, preservation and integration
  • Tools: writing and executing statistical models and computational software
  • Exploration: navigation, search and visualization of data and tool output
  • Analytics: synthesis of results to produce conclusions.
Using platforms that support only part of the workflow -- such as only data storage or only statistical services -- means that data, computing, and outcomes reside in separate environments. Fragmentation and lack of continuity in the research process make it error-prone, inefficient, difficult to share, and difficult to validate. It also compromises reproducibility of results and makes reuse and reinterpretation of data and algorithms more difficult.


DEEDS offers a powerful solution -- a platform where your data, computing and scientific workflows come together in datasets that you build, use and share across your entire investigation. DEEDS offers a full-service research environment for team-shared data, computing, and analytics, with built-in data provenance, reproducibility, exploration, visualization, and FAIR-compliant publication for reuse. [1][2][3] To find out more about DEEDS, contact Ann Christine Catlin acc@purdue.edu



Technology Transfer All "EcoTox" datasets created on the DEEDS platform for the Strategic Environmental Research and Development Program will be published with DOI for public access and use. The published datasets will make all data, statistical tools, and results collected, used, and produced through the EcoTox project fully available for research, education and practice.


Tour of EcoTox DEEDS datasets

Members of the EcoTox project [4] are creating DEEDS datasets to support their team-shared research investigations. EcoTox projects focus on evaluating the ecological risk posed by per- and polyfluorinated alkyl substances (PFAS). PFAS are a group of contaminants of emerging concern that are slow to break down in the environment, frequently detected in water, soil, animal and human tissues, and can adversely affect the health of humans and wildlife.

There is great interest in understanding PFAS toxicity from both ecological and public health perspectives, and many parties stand to benefit from their data, including academics, regulators, policymakers, and ultimately, the general public. Scroll down to see how DEEDS features and capabilities support the EcoTox workflows, data and tools during their investigations, followed by publication for use and reuse in research, education and practice when the investigation is complete.

dashboard An interactive dashboard manages our shared research activities through a sequence of tabs that connect Cases (organization of experimental units), Files (repository management), DataTables (management of spreadsheet-based data models), Tools (computing services and workflows) and Analytics (built-in ad hoc analysis).
dashboard DEEDS supports our internal workflows by providing a link between the raw data we upload to the platform and the tools we use to process and analyze the raw data.

DEEDS assigns comprehensive metadata and provides interactive exploration services for data, tools and workflows so that interested parties can understand and reproduce our work. Using DEEDS allows us to better serve other stakeholders by ensuring the quality, integrity, transparency, and accessibility of the data we collect.
dashboard Our dataset cases represent experimental units or aquaria, defined by study properties such as animal species, chemical, and concentration. Dataset files, data tables, tools, tool executions, results and analytics are directly connected to these cases.

Cases and their metadata can be entered and updated interactively in DEEDS and can also be uploaded and updated in DEEDS via spreadsheets.
dashboard All files associated with our cases-- such as protocols, scanned datasheets and control forms, standard operating procedures, and husbandry records -- are uploaded, classified and annotated with substantial metadata.

Raw data collection spreadsheets and raw measurement files generated by mass spectrometry instruments are also uploaded. These raw data files are processed by DEEDS pipeline scripts for transformation to interactive, searchable DEEDS data tables. All raw data files, pipeline tools, and transformation workflows are preserved for data provenance and results traceability.
dashboard The DEEDS file repository is rich in features, such as Custom category creation; File extension validation; Notifications for uploads so that workflows can be managed effectively; SFTP uploads for very large files or large numbers of files; Automatic metadata extraction; Case-based files, case-shared files and dataset-based files; File classification and annotation to support repository search.
dashboard
dashboard Our DEEDS file repository can be readily accessed and viewed from this top-level dataset Explorer display. Files are presented by category and can be filtered and searched by classification and description metadata. Interactive viewing and visualization applications are attached to file categories, such as media gallery viewing for video and image files. In the dataset Explorer, files can be filtered, viewed, searched and compared within and across cases.
dashboard Observations of endpoints from each experimental unit are recorded at different time points. From the top-level, each case is directly linked to a hierarchy of tables containing all data collected for various endpoints and at various phases of our study. These endpoints are divided into ‘phenotypic’ and ‘chemical’ data tables. Phenotypic data were always collected at the individual level, while chemical data can represent either a single individual or a pooled sample containing multiple individuals when individual masses were too small for analysis. Additionally, we also collected chemical data quantifying levels of PFAS in the media (i.e. water) of each aquaria to ensure the quality of the data and improve transparency. Phenotypic, animal chemical, and media chemical datasets are all further structured by sampling date.
dashboard Data tables are created by uploading spreadsheets to define columns and data types. Data tables can be updated interactively or through subsequent spreadsheet uploads. Since scientists use spreadsheets extensively in their work, DEEDS data tables interoperate seamlessly with spreadsheets -- both for upload to DEEDS (to create, update and preserve data for interactive searchable presentation) and for download from DEEDS.

We established standards for consistency in metadata across EcoTox datasets that encompassed naming conventions for data table column labels, descriptions, data typing, as well as representations for "not applicable / not available" values and data visibility.
dashboard Additional metdata standards were established for customized data viewing, which enhanced the end user experience when filtering, searching and navigating large data tables.
dashboard Due to the nature of our study and the associated experimental constraints, our data structure is quite complex. A key element of our work on DEEDS has been the ability to add and adjust functionalities in an adaptive and iterative fashion, as new needs arose or became apparent.

dashboard A key realization as we addressed repeated measures (defined here as instances where the same measures were quantified at multiple time points, which occurred for both phenotypic and chemical data) was that independently creating tables for multiple sampling dates containing data of the same formats was not only inefficient, but had potential to lead to inconsistencies in the metadata recorded with these observations. Per our request, DEEDS developed a feature that allowed us to build repeated measures tables once, and then clone data format, metadata requirements, and display features to create tables for other sampling dates. This not only saved us time in data entry, but also ensured that data structure and metadata were identical across repeated measures tables. In addition, DEEDS developers were able to provide a feature that tracks when copies of tables are created and modified, to ensure traceability of any changes to data or their structure during this process.
dashboard By moving through the hierarchy of tables in DEEDS, users can easily understand how the experiment was designed. For example, we measured concentrations of the focal PFAS compounds in aquaria media on specific days, which is immediately evident from the hierarchy . It is then possible to build "drill-down" DEEDS data tables for each of these days for access to the observation level data itself. Furthermore, a file storage feature has allowed us to upload scanned raw data sheets underlying data displayed in the tables, as detailed documents describing the methods used. .
dashboard In short, DEEDS has enabled us to preserve and communicate a complex and hierarchical dataset, while the adaptive and collaborative approach to designing the database has led to new DEEDS functionalities that serve our needs directly.
dashboard Pipeline scripts available in DEEDS can transform raw data to interactive searchable DEEDS data tables. Our EcoTox datasets have pipeline scripts to transform 1) manually collected spreadsheet observations & measurements and 2) mass spectrometry instrument-generated measurements & analytical codes. Once transformed to structured DEEDS data tables, all data are are linked together for user-friendly search, exploration and viewing. Data tables provide FAIR-compliant metadata, validation, data completeness, and customized viewing.
dashboard When tools are launched and run from the DEEDS dashboard, the computing workflows (input, tool, output) are captured and preserved, and DEEDS automatically uploads tool-generated results to the dataset. Workflow metadata is available for viewing through interfaces such as View Input, View Output, and views for tracking the process of executions (which can be run on the local server or on high performance computing facilities).
dashboard Our dataset consists of multiple endpoints measured at both the ‘case’, or experimental unit level, and at the individual level across multiple sampling dates. Our primary objective is to assess whether PFAS chemical treatments result in effects on the size (mass and snout-vent length), developmental stage, and bioaccumulation of PFAS (body burden). All analysis is conducted using R scripts and easily integrated into DEEDS Tools. DEEDS Tools allow us to maintain the original data structure, while providing the exact R-code and data used to calculate derived values. Together, Tools ensure our results are repeatable and transparent for others to easily assess how we determined effects.
dashboard After we wrote and validated R codes for analyzing our data, DEEDS generalized and configured these codes to run from the dashboard, with direct linkage to our data tables for input to the analyses. Ultimately, DEEDS provides publicly accessible tools that replicate analyses presented in publications and other work. DEEDS provides a point-and-click interface where any of the analyses we conducted can be recreated without downloading datasets to local disks or implementing the code. We see this as a major innovation relative to current practices, which often include publication of underlying statistical codes and/or raw data files in more traditional, static databases (e.g., supplemental sections of published manuscripts or open access databases). DEEDS functionality will also facilitate future analyses we conduct by allowing us to proceed through the entire process of data selection, analysis, and reporting without the need for downloaded data files or implementation of R code outside of the DEEDS environment, thus providing data provenance and results traceability.
dashboard Creating effective visual representations of our data is essential to the success of the project, as such figures are ideal for presenting summaries of results. Figures are generated by our R analysis tools, using the R-package ggplot2.

Providing open access to our data and code allows others to see exactly what data went into each figure and facilitates sharing and learning by others who may want to construct similar plots in their study. By using the open access package R, any person with access to a computer can use the resources we provide. Further, because DEEDS provides code execution through a point and click interface, users can also access and run the code directly within DEEDS, without downloading data or implementing R code externally.
dashboard Analytics is an R-based environment where we can create data frames from DEEDS data tables and/or CSV files from the Files repository. Data frames provide detailed summary statistics on any column of data, and data filters can be applied on any column before statistics are displayed. Statistics and graphical representations of the statistics can be generated for both categorical and numeric data. Uses can generate plots (e.g., scatter, line, box and whiskers) by selecting data columns and plot options -- the plots use data frames as input. Data table operations include merge, pivot, bind and transpose. R functions such as regression analysis can be applied to data frame plots.

The DEEDS platform provides integrated data and computing services to help us preserve, manage and share our work—with collaborators during the research investigations and with global communities after publication.




References

[1] Catlin AC, HewaNadungodage C, Clark S, Fernando S, Wickramaarachchi G, Bejarano A, Desigavinayagam P, Patil O, “Fully Integrating Data with Compute Workflows: A Platform to Better Serve Scientific Research,” The 13th Gateway Computing Environments, University of Texas at Austin, 2018.
[2] Catlin AC, HewaNadungodage C, Bejarano A, “Lifecycle Support for Scientific Investigations: Integrating Data, Computing, and Workflows,” Comput. Sci. Eng. Special Issue: Scientific Workflows. July/August 2019 doi: 10.1109/MCSE.2019.2901433
[3] C. HewaNadungodage , Catlin AC, Bejarano A, “The DEEDS platform: Support for integrated data and computing across the research lifecycle,” Futur. Gener. Comput. Syst., Nov. 2019.
[4] Sepulveda MS. [Online] Available at https://www.serdp-estcp.org/index.php//Program-Areas/Environmental-Restoration/Contaminated-Groundwater/Emerging-Issues/ER-2626



Acknowledgments

The DEEDS project is supported by the National Science Foundation CIF21 DIBBs: EI: #1724728. We would like to thank NSF Program Director Amy Walton and to acknowledge the work of our PI Ann Christine Catlin, co-PIs Ashraf Alam, Marisol Sepulveda, Kathleen Gallant, and Joseph Francisco. We are grateful for the efforts of all our post-doctoral fellows and graduate students who have worked closely with us on the creation and ongoing advances to DEEDS.

Debug Console

Close18 MBRequestSessionTimelineDatabase30Events23
$_GET
Array( ) Array(

)
$_POST
Array( ) Array(

)
$_COOKIE
Array( ) Array(

)
$_SERVER
Array( NO_PROXY => .s2.internal, https_proxy => http://10.8.63.5:3128, http_proxy => http:/... Array(
NO_PROXY => .s2.internal,
https_proxy => http://10.8.63.5:3128,
http_proxy => http://10.8.63.5:3128,
LD_LIBRARY_PATH => /usr/local/lib:/usr/lib64/:/opt/rh/rh-python36/root/usr/lib64/:/opt/remi/php56/root/usr/lib64,
PATH => /sbin:/usr/sbin:/bin:/usr/bin,
USER => apache,
HOME => /var/www,
FCGI_ROLE => RESPONDER,
REDIRECT_HTTP_AUTHORIZATION => ,
REDIRECT_SCRIPT_URL => /ecotox,
REDIRECT_SCRIPT_URI => https://datacenterhub.org/ecotox,
REDIRECT_HTTPS => on,
REDIRECT_SSL_TLS_SNI => datacenterhub.org,
REDIRECT_STATUS => 200,
HTTP_AUTHORIZATION => ,
SCRIPT_URL => /ecotox,
SCRIPT_URI => https://datacenterhub.org/ecotox,
HTTPS => on,
SSL_TLS_SNI => datacenterhub.org,
HTTP_USER_AGENT => CCBot/2.0 (https://commoncrawl.org/faq/),
HTTP_ACCEPT => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,
HTTP_ACCEPT_LANGUAGE => en-US,en;q=0.5,
HTTP_IF_MODIFIED_SINCE => Fri, 29 May 2020 20:21:36 GMT,
HTTP_ACCEPT_ENCODING => br,gzip,
HTTP_HOST => datacenterhub.org,
HTTP_CONNECTION => Keep-Alive,
SERVER_SIGNATURE => ,
SERVER_SOFTWARE => Apache,
SERVER_NAME => datacenterhub.org,
SERVER_ADDR => 10.111.11.100,
SERVER_PORT => 443,
REMOTE_ADDR => 3.228.220.31,
DOCUMENT_ROOT => /var/www/datacenterhub,
SERVER_ADMIN => root@localhost,
SCRIPT_FILENAME => /var/www/datacenterhub/index.php,
REMOTE_PORT => 39448,
REDIRECT_URL => /ecotox,
GATEWAY_INTERFACE => CGI/1.1,
SERVER_PROTOCOL => HTTP/1.1,
REQUEST_METHOD => GET,
QUERY_STRING => ,
REQUEST_URI => /ecotox,
SCRIPT_NAME => /index.php,
PHP_SELF => /index.php,
REQUEST_TIME_FLOAT => 1597320492.5048,
REQUEST_TIME => 1597320492,
argv => Array(

)
,
argc => 0
)
separator .
orderBy id
orderDir asc
1 registerIP
2 access
always
renew
tracker.sid 6bc7b52b2f2f90701f3807218f497054
tracker.ssid 6bc7b52b2f2f90701f3807218f497054
tracker.rsid 6bc7b52b2f2f90701f3807218f497054
  • site 0.051 seconds (+0.051); 12.25 MB (+12.250) - afterInitialise
  • site 0.075 seconds (+0.023); 13.50 MB (+1.250) - afterRoute
  • site 0.123 seconds (+0.048); 16.50 MB (+3.000) - afterDispatch
  • site 0.132 seconds (+0.010); 17.00 MB (+0.500) - beforeRenderModule mod_custom (Footer: info and navigation)
  • site 0.134 seconds (+0.002); 17.00 MB (0.000) - afterRenderModule mod_custom (Footer: info and navigation)
  • site 0.134 seconds (+0.000); 17.00 MB (0.000) - beforeRenderModule mod_menu (Main Menu)
  • site 0.149 seconds (+0.015); 17.25 MB (+0.250) - afterRenderModule mod_menu (Main Menu)
  • site 0.154 seconds (+0.005); 17.50 MB (+0.250) - onAfterRender
  • site 0.157 seconds (+0.002); 17.50 MB (0.000) - sessionStore
18 MB

30 Queries Logged: 0.0098192691802979 seconds

  1. SELECT data
      FROM `jos_session`
      WHERE `session_id` = '0708c9b0f1fa1d71a941944d93e66a2c'
  2. DELETE
      FROM `jos_session`
      WHERE `session_id` = '0708c9b0f1fa1d71a941944d93e66a2c'
  3. SELECT data
      FROM `jos_session`
      WHERE `session_id` = '6bc7b52b2f2f90701f3807218f497054'
  4. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_languages'
  5. SELECT session_id
      FROM `jos_session`
      WHERE `session_id` = '6bc7b52b2f2f90701f3807218f497054'
      LIMIT 1
  6. INSERT INTO `jos_session` (`session_id`,`client_id`,`time`,`ip`)
      VALUES ('6bc7b52b2f2f90701f3807218f497054','0','1597320492','3.228.220.31')
  7. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_members'
  8. 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` = '1'
  9. SELECT *
      FROM `jos_viewlevels`
  10. SELECT folder AS type,element AS name,protected,params
      FROM `jos_extensions`
      WHERE `enabled` >= '1'
      AND `type` = 'plugin'
      AND `state` >= '0'
      AND `access` IN ('1','1','4')
      ORDER BY `ordering` ASC
  11. SELECT m.id,m.menutype,m.title,m.alias,m.note,m.path AS route,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,e.element AS component
      FROM `jos_menu` AS `m`
      LEFT JOIN jos_extensions AS e
      ON e.extension_id = m.component_id
      WHERE `m`.`published` = '1'
      AND `m`.`parent_id` > '0'
      AND `m`.`client_id` = '0'
      ORDER BY `m`.`lft` ASC
  12. SELECT con.`id`, cat.`alias`, cat.`path`
      FROM `jos_content` AS con
      LEFT JOIN `jos_categories` AS cat
      ON con.catid = cat.id
      WHERE con.state=1
      AND con.`alias` = 'ecotox'
  13. SELECT jos_template_styles.id,jos_template_styles.home,jos_template_styles.template,jos_template_styles.params,jos_extensions.protected
      FROM `jos_template_styles`
      INNER JOIN jos_extensions
      ON jos_extensions.element = jos_template_styles.template
      WHERE `jos_template_styles`.`client_id` = '0'
      AND `jos_extensions`.`enabled` = '1'
      AND `jos_extensions`.`type` = 'template'
      AND jos_extensions.`client_id` = `jos_template_styles`.`client_id`
      ORDER BY `home` DESC
  14. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_content'
  15. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_categories'
  16. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_menus'
  17. SELECT a.rules
      FROM `jos_assets` AS `a`
      WHERE `a`.`id` = '1'
      GROUP BY a.id, a.rules, a.lft
  18. SELECT b.rules
      FROM `jos_assets` AS `a`
      LEFT JOIN jos_assets AS b
      ON b.lft <= a.lft
      AND b.rgt >= a.rgt
      WHERE `a`.`name` = 'com_content'
      GROUP BY b.id, b.rules, b.lft
      ORDER BY `b`.`lft` ASC
  19. SELECT a.*,a.id,a.asset_id,a.title,a.alias,a.title_alias,a.introtext,a.fulltext,
      CASE WHEN badcats.id IS NULL THEN a.state ELSE 0 END AS state,a.mask,a.catid,a.created,a.created_by,a.created_by_alias,
      CASE WHEN a.modified IS NULL THEN a.created ELSE a.modified END AS 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.parentid,a.ordering,a.metakey,a.metadesc,a.access,a.hits,a.metadata,a.featured,a.language,a.xreference,c.title AS category_title,c.alias AS category_alias,c.access AS category_access,u.name AS author,parent.title AS parent_title,parent.id AS parent_id,parent.path AS parent_route,parent.alias AS parent_alias,ROUND(v.rating_sum / v.rating_count, 0) AS rating,v.rating_count AS rating_count
      FROM `jos_content` AS `a`
      LEFT JOIN jos_categories AS c
      ON c.id = a.catid
      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
      LEFT
      OUTER JOIN (SELECT cat.id as id
      FROM jos_categories AS cat JOIN jos_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
      WHERE parent.extension = 'com_content'
      AND parent.published <= 0
      GROUP BY cat.id) AS badcats
      ON badcats.id = c.id
      WHERE `a`.`id` = '40'
      AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= '2020-08-13 12:08:12' )
      AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= '2020-08-13 12:08:12' )
      AND `a`.`state` IN ('1','2')
  20. SELECT c.*,
      CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
      FROM `jos_categories` AS `c`
      LEFT JOIN jos_categories AS s
      ON (s.lft <= c.lft
      AND s.rgt >= c.rgt) OR (s.lft > c.lft
      AND s.rgt < c.rgt)
      LEFT JOIN (SELECT cat.id as id
      FROM jos_categories AS cat JOIN jos_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
      WHERE parent.extension = 'com_content'
      AND parent.published != 1
      GROUP BY cat.id) AS badcats
      ON badcats.id = c.id
      WHERE (`c`.`extension` = 'com_content' OR `c`.`extension` = 'system' )
      AND `c`.`access` IN ('1','1','4')
      AND `c`.`published` = '1'
      AND `s`.`id` = '2'
      AND badcats.id is null
      GROUP BY 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
      ORDER BY `c`.`lft` ASC
  21. SELECT c.*,
      CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
      FROM `jos_categories` AS `c`
      LEFT JOIN jos_categories AS s
      ON (s.lft <= c.lft
      AND s.rgt >= c.rgt) OR (s.lft > c.lft
      AND s.rgt < c.rgt)
      LEFT JOIN (SELECT cat.id as id
      FROM jos_categories AS cat JOIN jos_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
      WHERE parent.extension = 'com_content'
      AND parent.published != 1
      GROUP BY cat.id) AS badcats
      ON badcats.id = c.id
      WHERE (`c`.`extension` = 'com_content' OR `c`.`extension` = 'system' )
      AND `c`.`access` IN ('1','1','4')
      AND `c`.`published` = '1'
      AND `s`.`id` = '2'
      AND badcats.id is null
      GROUP BY 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
      ORDER BY `c`.`lft` ASC
  22. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_users'
  23. SELECT m.id,m.title,m.module,m.position,m.content,m.showtitle,m.params,mm.menuid,e.protected
      FROM `jos_modules` AS `m`
      LEFT JOIN jos_modules_menu AS mm
      ON mm.moduleid = m.id
      LEFT JOIN jos_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`.`publish_up` IS NULL OR `m`.`publish_up` <= '2020-08-13 12:08:12' )
      AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= '2020-08-13 12:08:12' )
      AND `m`.`access` IN ('1','1','4')
      AND `m`.`client_id` = '0'
      AND (`mm`.`menuid` = '0' OR `mm`.`menuid` <= '0' )
      ORDER BY `m`.`position` ASC,`m`.`ordering` ASC
  24. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_resources'
  25. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_usage'
  26. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_groups'
  27. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_feedback'
  28. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_support'
  29. SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
      WHERE `type` = 'component'
      AND `element` = 'com_wishlist'
  30. UPDATE `jos_session`
      SET `data` = '__default|a:9:{s:15:\"session.counter\";i:1;s:19:\"session.timer.start\";i:1597320492;s:18:\"session.timer.last\";i:1597320492;s:17:\"session.timer.now\";i:1597320492;s:8:\"registry\";O:23:\"Hubzero\\Config\\Registry\":2:{s:7:\"\0*\0data\";O:8:\"stdClass\":1:{s:1:\"0\";s:7:\"session\";}s:9:\"separator\";s:1:\".\";}s:4:\"user\";C:17:\"Hubzero\\User\\User\":22:{a:1:{s:5:\"guest\";b:1;}}s:11:\"tracker.sid\";s:32:\"6bc7b52b2f2f90701f3807218f497054\";s:12:\"tracker.ssid\";s:32:\"6bc7b52b2f2f90701f3807218f497054\";s:12:\"tracker.rsid\";s:32:\"6bc7b52b2f2f90701f3807218f497054\";}',`time` = '1597320492',`ip` = '3.228.220.31'
      WHERE `session_id` = '6bc7b52b2f2f90701f3807218f497054'

17 Query Types Logged, Sorted by Occurrences.

SELECT Tables:
  1. 12 × SELECT extension_id AS id,element AS "option",params,enabled
      FROM `jos_extensions`
  2. 2 × SELECT data
      FROM `jos_session`
  3. 2 × SELECT c.*,
      CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(':', c.id, c.alias) ELSE c.id END as slug
      FROM `jos_categories` AS `c`
      LEFT JOIN jos_categories AS s
      ON (s.lft <= c.lft
      AND s.rgt >= c.rgt) OR (s.lft > c.lft
      AND s.rgt < c.rgt)
      LEFT JOIN (SELECT cat.id as id
      FROM jos_categories AS cat JOIN jos_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
  4. 1 × SELECT a.rules
      FROM `jos_assets` AS `a`
  5. 1 × SELECT m.id,m.title,m.module,m.position,m.content,m.showtitle,m.params,mm.menuid,e.protected
      FROM `jos_modules` AS `m`
      LEFT JOIN jos_modules_menu AS mm
      ON mm.moduleid = m.id
      LEFT JOIN jos_extensions AS e
      ON e.element = m.module
      AND e.client_id = m.client_id
  6. 1 × SELECT b.rules
      FROM `jos_assets` AS `a`
      LEFT JOIN jos_assets AS b
      ON b.lft <= a.lft
      AND b.rgt >= a.rgt
  7. 1 × SELECT a.*,a.id,a.asset_id,a.title,a.alias,a.title_alias,a.introtext,a.fulltext,
      CASE WHEN badcats.id IS NULL THEN a.state ELSE 0 END AS state,a.mask,a.catid,a.created,a.created_by,a.created_by_alias,
      CASE WHEN a.modified IS NULL THEN a.created ELSE a.modified END AS 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.parentid,a.ordering,a.metakey,a.metadesc,a.access,a.hits,a.metadata,a.featured,a.language,a.xreference,c.title AS category_title,c.alias AS category_alias,c.access AS category_access,u.name AS author,parent.title AS parent_title,parent.id AS parent_id,parent.path AS parent_route,parent.alias AS parent_alias,ROUND(v.rating_sum / v.rating_count, 0) AS rating,v.rating_count AS rating_count
      FROM `jos_content` AS `a`
      LEFT JOIN jos_categories AS c
      ON c.id = a.catid
      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
      LEFT
      OUTER JOIN (SELECT cat.id as id
      FROM jos_categories AS cat JOIN jos_categories AS parent
      ON cat.lft BETWEEN parent.lft
      AND parent.rgt
  8. 1 × SELECT jos_template_styles.id,jos_template_styles.home,jos_template_styles.template,jos_template_styles.params,jos_extensions.protected
      FROM `jos_template_styles`
      INNER JOIN jos_extensions
      ON jos_extensions.element = jos_template_styles.template
  9. 1 × SELECT m.id,m.menutype,m.title,m.alias,m.note,m.path AS route,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,e.element AS component
      FROM `jos_menu` AS `m`
      LEFT JOIN jos_extensions AS e
      ON e.extension_id = m.component_id
  10. 1 × SELECT session_id
      FROM `jos_session`
  11. 1 × SELECT b.id
      FROM `jos_usergroups` AS `a`
      LEFT JOIN jos_usergroups AS b
      ON b.lft <= a.lft
      AND b.rgt >= a.rgt
  12. 1 × SELECT *
      FROM `jos_viewlevels
  13. 1 × SELECT folder AS type,element AS name,protected,params
      FROM `jos_extensions`
  14. 1 × SELECT con.`id`, cat.`alias`, cat.`path`
      FROM `jos_content` AS con
      LEFT JOIN `jos_categories` AS cat
      ON con.catid = cat.id
OTHER Tables:
  1. 1 × UPDATE `jos_session`
      SET `data` = '__default|a:9:{s:15:\"session.counter\";i:1;s:19:\"session.timer.start\";i:1597320492;s:18:\"session.timer.last\";i:1597320492;s:17:\"session.timer.now\";i:1597320492;s:8:\"registry\";O:23:\"Hubzero\\Config\\Registry\":2:{s:7:\"\0*\0data\";O:8:\"stdClass\":1:{s:1:\"0\";s:7:\"session\";}s:9:\"separator\";s:1:\".\";}s:4:\"user\";C:17:\"Hubzero\\User\\User\":22:{a:1:{s:5:\"guest\";b:1;}}s:11:\"tracker.sid\";s:32:\"6bc7b52b2f2f90701f3807218f497054\";s:12:\"tracker.ssid\";s:32:\"6bc7b52b2f2f90701f3807218f497054\";s:12:\"tracker.rsid\";s:32:\"6bc7b52b2f2f90701f3807218f497054\";}',`time` = '1597320492',`ip` = '3.228.220.31'
  2. 1 × INSERT INTO `jos_session` (`session_id`,`client_id`,`time`,`ip`)
      VALUES ('6bc7b52b2f2f90701f3807218f497054','0','1597320492','3.228.220.31'
  3. 1 × DELETE
      FROM `jos_session`
  • onAfterInitialise Method plgSystemP3p::onAfterInitialise /core/plugins/system/p3p/p3p.php:21
  • onAfterInitialise Method plgSystemRemember::onAfterInitialise /core/plugins/system/remember/remember.php:20
  • onAfterInitialise Method plgSystemHubzero::onAfterInitialise /core/plugins/system/hubzero/hubzero.php:21
  • onAfterInitialise Method plgSystemXFeed::onAfterInitialise /core/plugins/system/xfeed/xfeed.php:21
  • onAfterInitialise Method plgSystemSupergroup::onAfterInitialise /core/plugins/system/supergroup/supergroup.php:113
  • onAfterInitialise Method plgSystemReferrerpolicy::onAfterInitialise /core/plugins/system/referrerpolicy/referrerpolicy.php:21
  • onAfterRoute Method plgSystemJquery::onAfterRoute /core/plugins/system/jquery/jquery.php:21
  • onAfterRoute Method plgSystemSpamjail::onAfterRoute /core/plugins/system/spamjail/spamjail.php:21
  • onAfterRoute Method plgSystemPassword::onAfterRoute /core/plugins/system/password/password.php:21
  • onAfterRoute Method plgSystemIncomplete::onAfterRoute /core/plugins/system/incomplete/incomplete.php:21
  • onAfterRoute Method plgSystemUnconfirmed::onAfterRoute /core/plugins/system/unconfirmed/unconfirmed.php:21
  • onAfterRoute Method plgSystemUnapproved::onAfterRoute /core/plugins/system/unapproved/unapproved.php:21
  • onContentPrepare Method plgContentLoadmodule::onContentPrepare /core/plugins/content/loadmodule/loadmodule.php:35
  • onContentPrepare Method plgContentEmailcloak::onContentPrepare /core/plugins/content/emailcloak/emailcloak.php:25
  • onContentPrepare Method plgContentPagebreak::onContentPrepare /core/plugins/content/pagebreak/pagebreak.php:35
  • onContentPrepare Method plgContentXhubtags::onContentPrepare /core/plugins/content/xhubtags/xhubtags.php:25
  • onContentPrepare Method plgContentFormathtml::onContentPrepare /core/plugins/content/formathtml/formathtml.php:105
  • onContentPrepare Method plgContentExternalhref::onContentPrepare /core/plugins/content/externalhref/externalhref.php:41
  • onContentBeforeDisplay Method plgContentPagenavigation::onContentBeforeDisplay /core/plugins/content/pagenavigation/pagenavigation.php:25
  • onContentBeforeDisplay Method plgContentVote::onContentBeforeDisplay /core/plugins/content/vote/vote.php:32
  • onAfterDispatch Method plgSystemDebug::onAfterDispatch /core/plugins/system/debug/debug.php:60
  • onAfterDispatch Method PlgSystemHighlight::onAfterDispatch /core/plugins/system/highlight/highlight.php:25
  • onAfterRender Method plgSystemSef::onAfterRender /core/plugins/system/sef/sef.php:21