{"id":343,"date":"2014-05-06T13:04:13","date_gmt":"2014-05-06T13:04:13","guid":{"rendered":"http:\/\/www.blogs.hss.ed.ac.uk\/webteam\/?p=343"},"modified":"2014-06-10T09:58:21","modified_gmt":"2014-06-10T09:58:21","slug":"supercharging-html-tables-datatables","status":"publish","type":"post","link":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/","title":{"rendered":"Supercharging HTML tables with DataTables"},"content":{"rendered":"<p><a href=\"http:\/\/www.eddietest.hss.ed.ac.uk\/wordpress\/research\/\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-352\" alt=\"Prototype CPRC DataTables interface\" src=\"http:\/\/www.blogs.hss.ed.ac.uk\/webteam\/files\/cprc1-284x300.jpg\" width=\"284\" height=\"300\" srcset=\"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/files\/cprc1-284x300.jpg 284w, http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/files\/cprc1.jpg 300w\" sizes=\"auto, (max-width: 284px) 100vw, 284px\" \/><\/a>In the CHSS web team we have been building web interfaces that work with large amounts of data harvested from the University&#8217;s research database (<a href=\"http:\/\/www.ed.ac.uk\/schools-departments\/governance-strategic-planning\/research\/pure\/home\">PURE<\/a>). The crucial thing about these interfaces is that they are &#8216;display&#8217; interfaces &#8211; there is no interactivity with the underlying database as such, no &#8216;writing&#8217; of the data. The emphasis on the interfaces is on displaying the data in a tabular format, allowing text to be searched and for the display of data to be filtered and sorted by particular fields (or columns).<\/p>\n<p>Using standard methods of creating a web interface that communicates with a database using something like <a href=\"http:\/\/dbi.perl.org\/\">Perl DBI<\/a> or <a href=\"http:\/\/www.php.net\/manual\/en\/book.pdo.php\">PHP PDO<\/a> to build a simple display-only interface has quite a few unneccessary overheads in terms of performance and complexity &#8211; and it turns out there is a technology that can be used to construct this sort of web interface in a much more simple and lightweight way, using <a href=\"https:\/\/datatables.net\/\">DataTables<\/a>.<\/p>\n<p><!--more--><\/p>\n<p>DataTables is a plug-in for the <a href=\"http:\/\/jquery.com\/\">jQuery<\/a> JavaScript library, and is &#8216;client-side&#8217; technology. There is no database, and no requirement even for server-side scripting technologies such as PHP. It&#8217;s a good way of displaying a large amount of &#8216;static&#8217; data, that doesn&#8217;t need to change very much (perhaps being updated by some automated nightly re-indexing or harvesting mechanism) and is a monolithic &#8216;block&#8217; of data (i.e. it is not in an entity-relationship structure).<\/p>\n<p>DataTables can be thought of as a way of &#8216;supercharging&#8217; standard HTML tables with extra functionality applied to data contained in a table (searching, filtering, ordering, conditional views and layouts, scrolling, pagination). The data used by DataTable exists in HTML table rows and cells, and <em>all<\/em> the data that is required for the web interface is loaded once when the browser requests the web page containing the interface, along with the web page HTML and JavaScript libraries &#8211; all subsequent searching, filtering and ordering of the data is done without further downloads, using client-side JavaScript alone. The DataTables JavaScript recognises the HTML table (which must be in &#8216;<a href=\"http:\/\/en.wikipedia.org\/wiki\/Well-formed_element\">well-formed<\/a>&#8216; <a href=\"http:\/\/en.wikipedia.org\/wiki\/XHTML\">XHTML<\/a>) using the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Document_Object_Model\">DOM<\/a> and an &#8216;ID&#8217; attribute in the &lt;table&gt; tag. This is a very different approach from the standard methodology of re-loading the webpage every time a different view of the data is required (or perhaps using <a href=\"http:\/\/en.wikipedia.org\/wiki\/JSON\">JSON<\/a> or <a href=\"http:\/\/en.wikipedia.org\/wiki\/Ajax_%28programming%29\">AJAX<\/a>) and using a new connection to the database server to perform a new SQL transaction.<\/p>\n<p>It might be thought that one disadvantage of the DataTables approach would be poor performance and slow loading of web pages that use DataTables with a large amount of data (DataTables automatically generates internal indexes dynamically) &#8211; but we have used the plug-in effectively for web interfaces that have hundreds of rows of data. At some point presumably the scale of the data would be such that this would become a problem, but for data on the order of hundreds of (and perhaps a few thousand) rows in size, DataTables seems to work well.<\/p>\n<p>There is a middle-ground between the simplicity of client-side DataTables and the complexity of a standard web browser client\/RDBMS server model, and that is using a relational database that resides purely on the client-side, such as <a href=\"http:\/\/en.wikipedia.org\/wiki\/SQLite\">SQLite<\/a>.<\/p>\n<p><strong>Examples<\/strong><\/p>\n<ul>\n<li>1. University of Edinburgh Child Protection Research Centre (CPRC) website research data: <a href=\"http:\/\/www.childprotection.ed.ac.uk\/publications\/publication-database\/\">http:\/\/www.childprotection.ed.ac.uk\/publications\/publication-database\/<\/a><br \/>\nThis WordPress interface for the CPRC website was developed by the web team. It uses DataTables and works in conjunction with the PURE WordPress plugin the team have also developed, which is described in two earlier blog postings:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.blogs.hss.ed.ac.uk\/webteam\/2013\/06\/07\/wordpress-plugin-for-pure-profiles\/\">http:\/\/www.blogs.hss.ed.ac.uk\/webteam\/2013\/06\/07\/wordpress-plugin-for-pure-profiles\/<\/a><\/li>\n<li><a href=\"http:\/\/www.blogs.hss.ed.ac.uk\/webteam\/2013\/07\/26\/pure-profiles-wordpress-plugin-version-1-7\/\">http:\/\/www.blogs.hss.ed.ac.uk\/webteam\/2013\/07\/26\/pure-profiles-wordpress-plugin-version-1-7\/<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>2. <a href=\"http:\/\/www.eddietest.hss.ed.ac.uk\/wordpress\/research\/\">http:\/\/www.eddietest.hss.ed.ac.uk\/wordpress\/research\/<\/a> This is a DataTables interface (incorporated into a WordPress theme template) that displays some sample PURE research data. This interface was a prototype developed by the web team for the CPRC website and shows the power of DataTables, combining it with a scrolling area, the <a href=\"http:\/\/jqueryui.com\/tabs\/\">jQuery UI Tabs<\/a> library (for a tabbed interface) and the <a href=\"http:\/\/jquery-datatables-column-filter.googlecode.com\/svn\/trunk\/index.html\">Column Filter<\/a> add-on (to collapse and hide data so that it can then be expanded and displayed upon a user request) to make the interface feature-rich but compact.<\/li>\n<\/ul>\n<ul>\n<li>3. <a href=\"http:\/\/www.edwardboyle.com\/drupal\/summit_diary\">http:\/\/www.edwardboyle.com\/drupal\/summit_diary<\/a> This interface (on my personal website) shows how DataTables works with a (reasonably) large dataset of 400 or so rows consisting of numerical, textual and date data types &#8211; displaying all of this data using a standard HTML table would be cumbersome, and DataTables allows the effective visualisation of such a large amount of data (using column sorting and scrolling) fairly easily, without a database.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>In the CHSS web team we have been building web interfaces that work with large amounts of data harvested from the University&#8217;s research database (PURE). The crucial thing about these interfaces is that they are &#8216;display&#8217; interfaces &#8211; there is &hellip; <a href=\"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":43,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"ngg_post_thumbnail":0,"footnotes":""},"categories":[18,27],"tags":[36,32,35,34,33],"class_list":["post-343","post","type-post","status-publish","format-standard","hentry","category-code","category-pure","tag-database","tag-datatables","tag-html","tag-javascript","tag-jquery"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Supercharging HTML tables with DataTables - Digital Innovation Team<\/title>\n<meta name=\"description\" content=\"datatables jquery javascript html database\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Eddie Boyle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/2014\\\/05\\\/06\\\/supercharging-html-tables-datatables\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/2014\\\/05\\\/06\\\/supercharging-html-tables-datatables\\\/\"},\"author\":{\"name\":\"Eddie Boyle\",\"@id\":\"https:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/#\\\/schema\\\/person\\\/56ccd83109d9aed13f97c83e19bf60c8\"},\"headline\":\"Supercharging HTML tables with DataTables\",\"datePublished\":\"2014-05-06T13:04:13+00:00\",\"dateModified\":\"2014-06-10T09:58:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/2014\\\/05\\\/06\\\/supercharging-html-tables-datatables\\\/\"},\"wordCount\":775,\"commentCount\":1,\"image\":{\"@id\":\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/2014\\\/05\\\/06\\\/supercharging-html-tables-datatables\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/webteam\\\/files\\\/cprc1-284x300.jpg\",\"keywords\":[\"database\",\"DataTables\",\"HTML\",\"JavaScript\",\"jQuery\"],\"articleSection\":[\"Code\",\"Pure\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/2014\\\/05\\\/06\\\/supercharging-html-tables-datatables\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/2014\\\/05\\\/06\\\/supercharging-html-tables-datatables\\\/\",\"url\":\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/2014\\\/05\\\/06\\\/supercharging-html-tables-datatables\\\/\",\"name\":\"Supercharging HTML tables with DataTables - Digital Innovation Team\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/2014\\\/05\\\/06\\\/supercharging-html-tables-datatables\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/2014\\\/05\\\/06\\\/supercharging-html-tables-datatables\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/webteam\\\/files\\\/cprc1-284x300.jpg\",\"datePublished\":\"2014-05-06T13:04:13+00:00\",\"dateModified\":\"2014-06-10T09:58:21+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/#\\\/schema\\\/person\\\/56ccd83109d9aed13f97c83e19bf60c8\"},\"description\":\"datatables jquery javascript html database\",\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/2014\\\/05\\\/06\\\/supercharging-html-tables-datatables\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/2014\\\/05\\\/06\\\/supercharging-html-tables-datatables\\\/#primaryimage\",\"url\":\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/webteam\\\/files\\\/cprc1-284x300.jpg\",\"contentUrl\":\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/webteam\\\/files\\\/cprc1-284x300.jpg\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/#website\",\"url\":\"https:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/\",\"name\":\"Digital Innovation Team\",\"description\":\"\u00a0CAHSS\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/#\\\/schema\\\/person\\\/56ccd83109d9aed13f97c83e19bf60c8\",\"name\":\"Eddie Boyle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/08a2667b70b55f14959fa74b7393b0acfec7b6edde9622e4d6c08bb240a2d377?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/08a2667b70b55f14959fa74b7393b0acfec7b6edde9622e4d6c08bb240a2d377?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/08a2667b70b55f14959fa74b7393b0acfec7b6edde9622e4d6c08bb240a2d377?s=96&d=mm&r=g\",\"caption\":\"Eddie Boyle\"},\"url\":\"http:\\\/\\\/www.blogs.hss.ed.ac.uk\\\/digital-innovation\\\/author\\\/edwardboyle\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Supercharging HTML tables with DataTables - Digital Innovation Team","description":"datatables jquery javascript html database","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/","twitter_misc":{"Written by":"Eddie Boyle","Estimated reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/#article","isPartOf":{"@id":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/"},"author":{"name":"Eddie Boyle","@id":"https:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/#\/schema\/person\/56ccd83109d9aed13f97c83e19bf60c8"},"headline":"Supercharging HTML tables with DataTables","datePublished":"2014-05-06T13:04:13+00:00","dateModified":"2014-06-10T09:58:21+00:00","mainEntityOfPage":{"@id":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/"},"wordCount":775,"commentCount":1,"image":{"@id":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/#primaryimage"},"thumbnailUrl":"http:\/\/www.blogs.hss.ed.ac.uk\/webteam\/files\/cprc1-284x300.jpg","keywords":["database","DataTables","HTML","JavaScript","jQuery"],"articleSection":["Code","Pure"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/#respond"]}]},{"@type":"WebPage","@id":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/","url":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/","name":"Supercharging HTML tables with DataTables - Digital Innovation Team","isPartOf":{"@id":"https:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/#website"},"primaryImageOfPage":{"@id":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/#primaryimage"},"image":{"@id":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/#primaryimage"},"thumbnailUrl":"http:\/\/www.blogs.hss.ed.ac.uk\/webteam\/files\/cprc1-284x300.jpg","datePublished":"2014-05-06T13:04:13+00:00","dateModified":"2014-06-10T09:58:21+00:00","author":{"@id":"https:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/#\/schema\/person\/56ccd83109d9aed13f97c83e19bf60c8"},"description":"datatables jquery javascript html database","inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/2014\/05\/06\/supercharging-html-tables-datatables\/#primaryimage","url":"http:\/\/www.blogs.hss.ed.ac.uk\/webteam\/files\/cprc1-284x300.jpg","contentUrl":"http:\/\/www.blogs.hss.ed.ac.uk\/webteam\/files\/cprc1-284x300.jpg"},{"@type":"WebSite","@id":"https:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/#website","url":"https:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/","name":"Digital Innovation Team","description":"\u00a0CAHSS","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/#\/schema\/person\/56ccd83109d9aed13f97c83e19bf60c8","name":"Eddie Boyle","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/08a2667b70b55f14959fa74b7393b0acfec7b6edde9622e4d6c08bb240a2d377?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/08a2667b70b55f14959fa74b7393b0acfec7b6edde9622e4d6c08bb240a2d377?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/08a2667b70b55f14959fa74b7393b0acfec7b6edde9622e4d6c08bb240a2d377?s=96&d=mm&r=g","caption":"Eddie Boyle"},"url":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/author\/edwardboyle\/"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/wp-json\/wp\/v2\/posts\/343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/wp-json\/wp\/v2\/users\/43"}],"replies":[{"embeddable":true,"href":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/wp-json\/wp\/v2\/comments?post=343"}],"version-history":[{"count":2,"href":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/wp-json\/wp\/v2\/posts\/343\/revisions"}],"predecessor-version":[{"id":510,"href":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/wp-json\/wp\/v2\/posts\/343\/revisions\/510"}],"wp:attachment":[{"href":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/wp-json\/wp\/v2\/media?parent=343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/wp-json\/wp\/v2\/categories?post=343"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.blogs.hss.ed.ac.uk\/digital-innovation\/wp-json\/wp\/v2\/tags?post=343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}