0001: SET sql_mode = ? 0.0001s

0002: SHOW DATABASES LIKE 'smartbiosphere' 0.0006s

0003: SHOW FULL TABLES WHERE Table_Type != 'VIEW' 0.0016s

0004: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."URLSegment" = ?) AND ("SiteTree_Live"."ParentID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0004s

0005: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ParentID" = ?) AND ("SiteTree_Live"."URLSegment" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0006: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0007: SELECT DISTINCT "SiteConfig"."ClassName", "SiteConfig"."LastEdited", "SiteConfig"."Created", "SiteConfig"."MailChimpApiKey", "SiteConfig"."MailChimpServerPrefix", "SiteConfig"."MailChimpListID", "SiteConfig"."Title", "SiteConfig"."Tagline", "SiteConfig"."CanViewType", "SiteConfig"."CanEditType", "SiteConfig"."CanCreateTopLevelType", "SiteConfig"."BrandID", "SiteConfig"."ID", CASE WHEN "SiteConfig"."ClassName" IS NOT NULL THEN "SiteConfig"."ClassName" ELSE 'SilverStripe\\SiteConfig\\SiteConfig' END AS "RecordClassName" FROM "SiteConfig" LIMIT 1 0.0002s

0008: SELECT DISTINCT "PublishDate" IS NULL AS "_SortColumn0", "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "BlogPost_Live"."PublishDate", "BlogPost_Live"."AuthorNames", "BlogPost_Live"."Summary", "BlogPost_Live"."ElementalAreaID", "BlogPost_Live"."FeaturedImageID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" LEFT JOIN "BlogPost_Live" ON "BlogPost_Live"."ID" = "SiteTree_Live"."ID" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" WHERE ("SiteTree_Live"."ID" = ?) AND ("SiteTree_Live"."ClassName" IN (?)) AND ("PublishDate" < '2025-08-04 02:54:07') ORDER BY "_SortColumn0" DESC, "BlogPost_Live"."PublishDate" DESC LIMIT 1 0.0004s

0009: SELECT DISTINCT "Brand"."ClassName", "Brand"."LastEdited", "Brand"."Created", "Brand"."Title", "Brand"."Icon", "Brand"."Color", "Brand"."Pattern", "Brand"."IsPrimary", "Brand"."LogoID", "Brand"."FooterLogoID", "Brand"."ID", CASE WHEN "Brand"."ClassName" IS NOT NULL THEN "Brand"."ClassName" ELSE 'IGI\\Website\\Models\\Brand' END AS "RecordClassName" FROM "Brand" WHERE (IsPrimary = ?) LIMIT 1 0.0004s

0010: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "Page_Live"."OGTitleCustom", "Page_Live"."OGDescriptionCustom", "Page_Live"."MenuSubtitle", "Page_Live"."MenuIcon", "Page_Live"."MenuStyle", "Page_Live"."ShowInCorner", "Page_Live"."ShowInFooter", "Page_Live"."OGImageCustomID", "Page_Live"."PinterestImageCustomID", "Page_Live"."BrandID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName", "SiteTree_Live"."Sort" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" INNER JOIN "BlogPost_Live" ON "SiteTree_Live"."ID" = "BlogPost_Live"."ID" WHERE ("SiteTree_Live"."ID" = ?) AND ("SiteTree_Live"."ClassName" IN (?, ?, ?, ?, ?, ?, ?, ?)) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0004s

0011: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "Page_Live"."OGTitleCustom", "Page_Live"."OGDescriptionCustom", "Page_Live"."MenuSubtitle", "Page_Live"."MenuIcon", "Page_Live"."MenuStyle", "Page_Live"."ShowInCorner", "Page_Live"."ShowInFooter", "Page_Live"."OGImageCustomID", "Page_Live"."PinterestImageCustomID", "Page_Live"."BrandID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName", "SiteTree_Live"."Sort" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" WHERE ("SiteTree_Live"."ID" = ?) AND ("SiteTree_Live"."ClassName" IN (?, ?, ?, ?, ?, ?, ?, ?)) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0007s

0012: SELECT DISTINCT "Brand"."ClassName", "Brand"."LastEdited", "Brand"."Created", "Brand"."Title", "Brand"."Icon", "Brand"."Color", "Brand"."Pattern", "Brand"."IsPrimary", "Brand"."LogoID", "Brand"."FooterLogoID", "Brand"."ID", CASE WHEN "Brand"."ClassName" IS NOT NULL THEN "Brand"."ClassName" ELSE 'IGI\\Website\\Models\\Brand' END AS "RecordClassName" FROM "Brand" WHERE ("Brand"."ID" = ?) LIMIT 1 0.0008s

0013: SELECT DISTINCT "BlogCategory"."ClassName", "BlogCategory"."LastEdited", "BlogCategory"."Created", "BlogCategory"."Title", "BlogCategory"."URLSegment", "BlogCategory"."BannerID", "BlogCategory"."BlogID", "BlogCategory"."ID", CASE WHEN "BlogCategory"."ClassName" IS NOT NULL THEN "BlogCategory"."ClassName" ELSE 'SilverStripe\\Blog\\Model\\BlogCategory' END AS "RecordClassName" FROM "BlogCategory" INNER JOIN "BlogPost_Categories" ON "BlogPost_Categories"."BlogCategoryID" = "BlogCategory"."ID" WHERE ("BlogPost_Categories"."BlogPostID" = ?) LIMIT 1 0.0004s

0014: SELECT DISTINCT "Member"."ClassName", "Member"."LastEdited", "Member"."Created", "Member"."URLSegment", "Member"."BlogProfileSummary", "Member"."BlogProfileRole", "Member"."FirstName", "Member"."Surname", "Member"."Email", "Member"."TempIDHash", "Member"."TempIDExpired", "Member"."Password", "Member"."AutoLoginHash", "Member"."AutoLoginExpired", "Member"."PasswordEncryption", "Member"."Salt", "Member"."PasswordExpiry", "Member"."LockedOutUntil", "Member"."Locale", "Member"."FailedLoginCount", "Member"."BlogProfileImageID", "Member"."ID", CASE WHEN "Member"."ClassName" IS NOT NULL THEN "Member"."ClassName" ELSE 'SilverStripe\\Security\\Member' END AS "RecordClassName" FROM "Member" INNER JOIN "BlogPost_Authors" ON "BlogPost_Authors"."MemberID" = "Member"."ID" WHERE ("BlogPost_Authors"."BlogPostID" = ?) ORDER BY "Member"."Surname" ASC, "Member"."FirstName" ASC 0.0004s

0015: SELECT DISTINCT "BlogCategory"."ClassName", "BlogCategory"."LastEdited", "BlogCategory"."Created", "BlogCategory"."Title", "BlogCategory"."URLSegment", "BlogCategory"."BannerID", "BlogCategory"."BlogID", "BlogCategory"."ID", CASE WHEN "BlogCategory"."ClassName" IS NOT NULL THEN "BlogCategory"."ClassName" ELSE 'SilverStripe\\Blog\\Model\\BlogCategory' END AS "RecordClassName" FROM "BlogCategory" INNER JOIN "BlogPost_Categories" ON "BlogPost_Categories"."BlogCategoryID" = "BlogCategory"."ID" WHERE ("BlogPost_Categories"."BlogPostID" = ?) LIMIT 1 0.0003s

0016: SELECT DISTINCT "BlogTag"."ClassName", "BlogTag"."LastEdited", "BlogTag"."Created", "BlogTag"."Title", "BlogTag"."URLSegment", "BlogTag"."BlogID", "BlogTag"."ID", CASE WHEN "BlogTag"."ClassName" IS NOT NULL THEN "BlogTag"."ClassName" ELSE 'SilverStripe\\Blog\\Model\\BlogTag' END AS "RecordClassName" FROM "BlogTag" INNER JOIN "BlogPost_Tags" ON "BlogPost_Tags"."BlogTagID" = "BlogTag"."ID" WHERE ("BlogPost_Tags"."BlogPostID" = ?) 0.0003s

0017: SELECT DISTINCT "BlogCategory"."ClassName", "BlogCategory"."LastEdited", "BlogCategory"."Created", "BlogCategory"."Title", "BlogCategory"."URLSegment", "BlogCategory"."BannerID", "BlogCategory"."BlogID", "BlogCategory"."ID", CASE WHEN "BlogCategory"."ClassName" IS NOT NULL THEN "BlogCategory"."ClassName" ELSE 'SilverStripe\\Blog\\Model\\BlogCategory' END AS "RecordClassName" FROM "BlogCategory" INNER JOIN "BlogPost_Categories" ON "BlogPost_Categories"."BlogCategoryID" = "BlogCategory"."ID" WHERE ("BlogPost_Categories"."BlogPostID" = ?) LIMIT 1 0.0003s

0018: SELECT DISTINCT "Member"."ClassName", "Member"."LastEdited", "Member"."Created", "Member"."URLSegment", "Member"."BlogProfileSummary", "Member"."BlogProfileRole", "Member"."FirstName", "Member"."Surname", "Member"."Email", "Member"."TempIDHash", "Member"."TempIDExpired", "Member"."Password", "Member"."AutoLoginHash", "Member"."AutoLoginExpired", "Member"."PasswordEncryption", "Member"."Salt", "Member"."PasswordExpiry", "Member"."LockedOutUntil", "Member"."Locale", "Member"."FailedLoginCount", "Member"."BlogProfileImageID", "Member"."ID", CASE WHEN "Member"."ClassName" IS NOT NULL THEN "Member"."ClassName" ELSE 'SilverStripe\\Security\\Member' END AS "RecordClassName" FROM "Member" INNER JOIN "BlogPost_Authors" ON "BlogPost_Authors"."MemberID" = "Member"."ID" WHERE ("BlogPost_Authors"."BlogPostID" = ?) ORDER BY "Member"."Surname" ASC, "Member"."FirstName" ASC LIMIT 1 0.0004s

0019: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ShowInMenus" = ?) AND ("SiteTree_Live"."ParentID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC 0.0004s

0020: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ParentID" <> "SiteTree_Live"."ID") AND ("SiteTree_Live"."ParentID" = ?) AND ("SiteTree_Live"."ShowInMenus" = ?) ORDER BY "SiteTree_Live"."Sort" ASC 0.0004s

0021: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0022: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" INNER JOIN "BlogPost_Live" ON "BlogPost_Live"."ID" = "SiteTree_Live"."ID" WHERE ("SiteTree_Live"."ParentID" = ?) AND (("SiteTree_Live"."ID" != ? OR "SiteTree_Live"."ID" IS NULL)) AND ("SiteTree_Live"."ShowInMenus" = ?) AND ("PublishDate" < '2025-08-04 02:54:07') ORDER BY "SiteTree_Live"."Sort" ASC 0.0005s

0023: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ParentID" <> "SiteTree_Live"."ID") AND ("SiteTree_Live"."ParentID" = ?) AND ("SiteTree_Live"."ShowInMenus" = ?) ORDER BY "SiteTree_Live"."Sort" ASC 0.0004s

0024: SELECT DISTINCT "BlogCategory"."ClassName", "BlogCategory"."LastEdited", "BlogCategory"."Created", "BlogCategory"."Title", "BlogCategory"."URLSegment", "BlogCategory"."BannerID", "BlogCategory"."BlogID", "BlogCategory"."ID", CASE WHEN "BlogCategory"."ClassName" IS NOT NULL THEN "BlogCategory"."ClassName" ELSE 'SilverStripe\\Blog\\Model\\BlogCategory' END AS "RecordClassName" FROM "BlogCategory" INNER JOIN "BlogPost_Categories" ON "BlogPost_Categories"."BlogCategoryID" = "BlogCategory"."ID" WHERE ("BlogPost_Categories"."BlogPostID" = ?) 0.0003s

0025: SELECT DISTINCT count(DISTINCT "BlogCategory"."ID") AS "Count" FROM "BlogCategory" INNER JOIN "BlogPost_Categories" ON "BlogPost_Categories"."BlogCategoryID" = "BlogCategory"."ID" WHERE ("BlogPost_Categories"."BlogPostID" = ?) 0.0003s

0026: SELECT DISTINCT "File_Live"."ClassName", "File_Live"."LastEdited", "File_Live"."Created", "File_Live"."Version", "File_Live"."UserFormUpload", "File_Live"."CanViewType", "File_Live"."CanEditType", "File_Live"."Name", "File_Live"."Title", "File_Live"."ShowInSearch", "File_Live"."ParentID", "File_Live"."OwnerID", "File_Live"."FileHash", "File_Live"."FileFilename", "File_Live"."FileVariant", "File_Live"."ID", CASE WHEN "File_Live"."ClassName" IS NOT NULL THEN "File_Live"."ClassName" ELSE 'SilverStripe\\Assets\\File' END AS "RecordClassName" FROM "File_Live" WHERE ("File_Live"."ID" = ?) AND ("File_Live"."ClassName" IN (?, ?)) ORDER BY "File_Live"."Name" ASC LIMIT 1 0.0003s

0027: SELECT DISTINCT "ElementalArea_Live"."ClassName", "ElementalArea_Live"."LastEdited", "ElementalArea_Live"."Created", "ElementalArea_Live"."Version", "ElementalArea_Live"."OwnerClassName", "ElementalArea_Live"."TopPageID", "ElementalArea_Live"."ID", CASE WHEN "ElementalArea_Live"."ClassName" IS NOT NULL THEN "ElementalArea_Live"."ClassName" ELSE 'DNADesign\\Elemental\\Models\\ElementalArea' END AS "RecordClassName" FROM "ElementalArea_Live" WHERE ("ElementalArea_Live"."ID" = ?) LIMIT 1 0.0002s

0028: SELECT DISTINCT "Element_Live"."ClassName", "Element_Live"."LastEdited", "Element_Live"."Created", "Element_Live"."ShowMenu", "Element_Live"."Version", "Element_Live"."Title", "Element_Live"."ShowTitle", "Element_Live"."Sort", "Element_Live"."ExtraClass", "Element_Live"."Style", "Element_Live"."TopPageID", "Element_Live"."ParentID", "Element_Live"."ID", CASE WHEN "Element_Live"."ClassName" IS NOT NULL THEN "Element_Live"."ClassName" ELSE 'DNADesign\\Elemental\\Models\\BaseElement' END AS "RecordClassName" FROM "Element_Live" WHERE ("Element_Live"."ParentID" = ?) ORDER BY "Element_Live"."Sort" ASC 0.0003s

0029: SELECT DISTINCT "ElementalArea_Live"."ClassName", "ElementalArea_Live"."LastEdited", "ElementalArea_Live"."Created", "ElementalArea_Live"."Version", "ElementalArea_Live"."OwnerClassName", "ElementalArea_Live"."TopPageID", "ElementalArea_Live"."ID", CASE WHEN "ElementalArea_Live"."ClassName" IS NOT NULL THEN "ElementalArea_Live"."ClassName" ELSE 'DNADesign\\Elemental\\Models\\ElementalArea' END AS "RecordClassName" FROM "ElementalArea_Live" WHERE ("ElementalArea_Live"."ID" = ?) LIMIT 1 0.0002s

0030: SELECT DISTINCT "PublishDate" IS NULL AS "_SortColumn0", "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "Page_Live"."OGTitleCustom", "Page_Live"."OGDescriptionCustom", "Page_Live"."MenuSubtitle", "Page_Live"."MenuIcon", "Page_Live"."MenuStyle", "Page_Live"."ShowInCorner", "Page_Live"."ShowInFooter", "Page_Live"."OGImageCustomID", "Page_Live"."PinterestImageCustomID", "Page_Live"."BrandID", "BlogPost_Live"."PublishDate", "BlogPost_Live"."AuthorNames", "BlogPost_Live"."Summary", "BlogPost_Live"."ElementalAreaID", "BlogPost_Live"."FeaturedImageID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" LEFT JOIN "BlogPost_Live" ON "BlogPost_Live"."ID" = "SiteTree_Live"."ID" WHERE ("BlogPost_Live"."ElementalAreaID" = ?) AND ("SiteTree_Live"."ClassName" = ?) AND ("SiteTree_Live"."ClassName" IN (?)) AND ("PublishDate" < '2025-08-04 02:54:07') ORDER BY "_SortColumn0" DESC, "BlogPost_Live"."PublishDate" DESC LIMIT 1 0.0006s

0031: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0032: SELECT DISTINCT "ElementalArea_Live"."ClassName", "ElementalArea_Live"."LastEdited", "ElementalArea_Live"."Created", "ElementalArea_Live"."Version", "ElementalArea_Live"."OwnerClassName", "ElementalArea_Live"."TopPageID", "ElementalArea_Live"."ID", CASE WHEN "ElementalArea_Live"."ClassName" IS NOT NULL THEN "ElementalArea_Live"."ClassName" ELSE 'DNADesign\\Elemental\\Models\\ElementalArea' END AS "RecordClassName" FROM "ElementalArea_Live" WHERE ("ElementalArea_Live"."ID" = ?) LIMIT 1 0.0002s

0033: SELECT DISTINCT "Element_Live"."ClassName", "Element_Live"."LastEdited", "Element_Live"."Created", "ElementContent_Live"."HTML", "Element_Live"."ID", CASE WHEN "Element_Live"."ClassName" IS NOT NULL THEN "Element_Live"."ClassName" ELSE 'DNADesign\\Elemental\\Models\\BaseElement' END AS "RecordClassName", "Element_Live"."Sort" FROM "Element_Live" LEFT JOIN "ElementContent_Live" ON "ElementContent_Live"."ID" = "Element_Live"."ID" WHERE ("Element_Live"."ID" = ?) AND ("Element_Live"."ClassName" IN (?)) ORDER BY "Element_Live"."Sort" ASC LIMIT 1 0.0003s

0034: SELECT DISTINCT "File_Live"."ClassName", "File_Live"."LastEdited", "File_Live"."Created", "File_Live"."Version", "File_Live"."UserFormUpload", "File_Live"."CanViewType", "File_Live"."CanEditType", "File_Live"."Name", "File_Live"."Title", "File_Live"."ShowInSearch", "File_Live"."ParentID", "File_Live"."OwnerID", "File_Live"."FileHash", "File_Live"."FileFilename", "File_Live"."FileVariant", "File_Live"."ID", CASE WHEN "File_Live"."ClassName" IS NOT NULL THEN "File_Live"."ClassName" ELSE 'SilverStripe\\Assets\\File' END AS "RecordClassName" FROM "File_Live" WHERE ("File_Live"."ID" = ?) AND ("File_Live"."ClassName" IN (?, ?)) ORDER BY "File_Live"."Name" ASC LIMIT 1 0.0003s

0035: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "Page_Live"."OGTitleCustom", "Page_Live"."OGDescriptionCustom", "Page_Live"."MenuSubtitle", "Page_Live"."MenuIcon", "Page_Live"."MenuStyle", "Page_Live"."ShowInCorner", "Page_Live"."ShowInFooter", "Page_Live"."OGImageCustomID", "Page_Live"."PinterestImageCustomID", "Page_Live"."BrandID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" WHERE ("Page_Live"."ShowInFooter" = ?) AND ("SiteTree_Live"."ParentID" = ?) AND ("SiteTree_Live"."ClassName" IN (?, ?, ?, ?, ?, ?, ?, ?)) ORDER BY "SiteTree_Live"."Sort" ASC 0.0005s

0036: SELECT "Version" FROM "SiteTree" WHERE "ID" = ? 0.0002s

0037: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0038: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0039: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0040: SELECT DISTINCT "SiteTree"."ClassName", "SiteTree"."LastEdited", "SiteTree"."Created", "SiteTree"."Priority", "SiteTree"."CanIndexType", "SiteTree"."CanViewType", "SiteTree"."CanEditType", "SiteTree"."Version", "SiteTree"."URLSegment", "SiteTree"."Title", "SiteTree"."MenuTitle", "SiteTree"."Content", "SiteTree"."MetaDescription", "SiteTree"."ExtraMeta", "SiteTree"."ShowInMenus", "SiteTree"."ShowInSearch", "SiteTree"."Sort", "SiteTree"."HasBrokenFile", "SiteTree"."HasBrokenLink", "SiteTree"."ReportClass", "SiteTree"."ParentID", "SiteTree"."ID", CASE WHEN "SiteTree"."ClassName" IS NOT NULL THEN "SiteTree"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree" WHERE ("SiteTree"."ID" = ?) ORDER BY "SiteTree"."Sort" ASC LIMIT 1 0.0003s

0041: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

0042: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanIndexType", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID", CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName" ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName" FROM "SiteTree_Live" WHERE ("SiteTree_Live"."ID" = ?) ORDER BY "SiteTree_Live"."Sort" ASC LIMIT 1 0.0003s

Introducing our Citizen Science dashboard » Smart Biosphere Introducing our Citizen Science dashboard

Introducing our Citizen Science dashboard

Darren Searle

Smart Biosphere Operational Lead

Sometimes you just need to get your wellies on and get out in the water! High-tech solutions like our in-situ sensors are great, providing real-time water quality data, but low-tech solutions – such as a stick and a bottle – can be the best option. For our coastal communities, water quality on the beaches is of great importance. Our beaches attract holidaymakers from far and wide and are enjoyed all year round by locals for surfing, swimming, and socialising. So, the state of the water at the shoreline is of upmost importance, but difficult to measure using static sensors. This is where our teams of Citizen Scientists come into their own! 

At Combe Martin, a dedicated group of locals is helping us to monitor water quality by testing at the beach. They take samples from the sea, and from the River Umber as it crosses the beach, and measure key parameters using hand-held test kits. Salinity, temperature, pH, phosphate, and nitrate levels are measured, and the data is uploaded to the Smart Biosphere. In addition, the Biosphere team take samples for bacterial analysis, making use of Fluidion Alert One, and Molendotech Bacterisk analysers to track harmful bacteria like E. coli. We are currently testing at Combe Martin and Ilfracombe, but we will be expanding our reach with more CSI teams soon.

The data collected can now be viewed online, using our new Citizen Science Dashboard.