{"id":28081,"date":"2017-02-09T03:01:36","date_gmt":"2017-02-08T17:01:36","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=28081"},"modified":"2017-02-09T09:14:02","modified_gmt":"2017-02-08T23:14:02","slug":"weather-api-via-iframe-jquery-ajax-autocomplete-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/weather-api-via-iframe-jquery-ajax-autocomplete-tutorial\/","title":{"rendered":"Weather API via Iframe jQuery Ajax AutoComplete Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/weather\/autocomplete.htm\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Weather API via Iframe jQuery Ajax AutoComplete Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/weather\/hurricane.JPG\" title=\"Weather API via Iframe jQuery Ajax AutoComplete Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">Weather API via Iframe jQuery Ajax AutoComplete Tutorial<\/p><\/div>\n<p>It&#8217;s time to (re-)turn our attention to our <a target=_blank title='Weather Underground' href='http:\/\/www.weatherunderground.com'>Weather Underground<\/a> <a target=_blank title='Weather Underground' href='http:\/\/www.weatherunderground.com\/weather\/api\/'>API<\/a> inspired web application, at its &#8220;parent&#8221; level, and just there.  At this web application&#8217;s &#8220;parent&#8221; level we use the great Weather Underground API <a target=_blank title='Weather Underground AutoComplete API' href='https:\/\/www.wunderground.com\/weather\/api\/d\/docs?d=autocomplete-api'>autocompletion<\/a> functionality you may recall from <a target=_blank title='Weather API via Iframe jQuery Ajax Map Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/weather-api-via-iframe-jquery-ajax-map-tutorial\/'>Weather API via Iframe jQuery Ajax Map Tutorial<\/a> to add in &#8230;<\/p>\n<ul>\n<li>ability to filter locations via two letter ISO country codes<\/li>\n<li>ability to access hurricane information<\/li>\n<\/ul>\n<p> &#8230; which involved the tweaking of both the &#8230;<\/p>\n<ul>\n<li>HTML of the &#8220;parent&#8221; you could call <a target=_blank title='autocomplete.htm' href='http:\/\/www.rjmprogramming.com.au\/weather\/autocomplete.html--GETME'>autocomplete.htm<\/a> changed in <a target=_blank title='autocomplete.htm' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/weather\/autocomplete.html--GETME'>this way<\/a> and with this <a target=_blank title='autocomplete.htm' href='http:\/\/www.rjmprogramming.com.au\/weather\/autocomplete.htm'>live run<\/a> link &#8230; and its &#8230;<\/li>\n<li>PHP autocomplete jQuery Ajax engined helper you could call <a target=_blank title='using_key.php' href='http:\/\/www.rjmprogramming.com.au\/weather\/using_key.php-GETME'>using_key.php<\/a> and tweaked in <a target=_blank title='using_key.php' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/weather\/using_key.php-GETME'>this way<\/a>\n<\/ul>\n<p>Along the way, we changed the means by which using_key.php above is called into play.  You may recall, in tutorials below, how we were a bit cautious regarding using_key.php bandwidth thoughts by only calling it on or after three characters worth of user supplied &#8220;place&#8221; query data.  Today, we open that up to &#8220;on or after one character&#8221;.   This is for three reasons &#8230;<\/p>\n<ol>\n<li>we think bandwidth-wise we were being a bit cautious &#8230; and &#8230;<\/li>\n<li>the work of <a title='' href='#'gcmptzst'>Google Chart Map Chart Time Zone Supervised Tutorial<\/a> is not as exciting in its scope if you wait for three characters at the &#8230;<\/li>\n<li>start &#8230; and there&#8217;s the rub &#8230; we looked into whether the Weather Undergound API autocompletion logic allowed for wildcard (or regex) entries for queries not involving &#8220;the start of&#8221; locations and\/or hurricanes, but, as you can imagine (but it was worth an investigation), no (for fairly obvious reasons) &#8230; and so just looking at the first 3 characters, and supposing you enter something like &#8220;San&#8221; you realize it is a bit restrictive, whereas if you allow an entry of &#8220;S&#8221; to start the Weather Undergound API autocompletion logic to do its magic, then Time Zone Places spread all over the world are quite interesting and possible<\/li>\n<\/ol>\n<p>And so, in answer to &#8220;what&#8217;s new&#8221;? <a target=_blank title='autocomplete.htm' href='http:\/\/www.rjmprogramming.com.au\/weather\/autocomplete.htm'>Hurricane research is new<\/a>.<\/p>\n<hr>\n<p id='gcmptzst'>Previous relevant <a target=_blank title='Google Chart Map Chart Time Zone Supervised Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-map-chart-time-zone-supervised-tutorial\/'>Google Chart Map Chart Time Zone Supervised Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/weather\/autocomplete.htm\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Map Chart Time Zone Supervised Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/IMG_0901.PNG\" title=\"Google Chart Map Chart Time Zone Supervised Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">Google Chart Map Chart Time Zone Supervised Tutorial<\/p><\/div>\n<p>The recent <a title='Google Chart Map Chart Time Zone Lookup Tutorial' href='#gcmctzlt'>Google Chart Map Chart Time Zone Lookup Tutorial<\/a> as shown below concentrated on our <a target=_blank title='Google Chart' href='https:\/\/developers.google.com\/chart\/'>Google Chart<\/a> Map Chart interfacing web application, concentrating on its independent mode of use, and today, as with WordPress 4.1.1&#8217;s <a target=_blank title='Google Chart Map Chart Time Zone Supervised Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-map-chart-time-zone-supervised-tutorial\/'>Google Chart Map Chart Time Zone Supervised Tutorial<\/a>, we turn our attention to it being supervised as a &#8220;grandchild&#8221; HTML iframe web application to help out the &#8220;parent&#8221; web application of <a target=_blank title='Weather API via Iframe jQuery Ajax Map Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/weather-api-via-iframe-jquery-ajax-map-tutorial\/'>Weather API via Iframe jQuery Ajax Map Tutorial<\/a> via changed to the middle PHP &#8220;child&#8221; web application, changed to look up and down to consolidate form data into a top level form controlling a top level HTML iframe of Google Chart Map Chart Time Zone places.<\/p>\n<p>Of course, none of this is possible without a lot of manipulation of HTML form and iframe elements, the form element POSTing to the iframe up at the parent.document &#8220;parent&#8221; web application level.<\/p>\n<p>These new interfacings affect both the &#8220;parent&#8221; HTML and (the code underlying the) &#8220;grandchild&#8221; PHP pieces of code so that &#8230;<\/p>\n<ul>\n<li>the &#8220;parent&#8221; changes here today revolve around building on techniques we used in the tz_places.php PHP code of <a target=_blank title='Weather API via Iframe jQuery Ajax Map Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/weather-api-via-iframe-jquery-ajax-map-tutorial\/'>Weather API via Iframe jQuery Ajax Map Tutorial<\/a> and this involved changes to <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php--------GETME' title=tz_places.php>tz_places.php<\/a> PHP code has this <a target=_blank title='Click picture' href='http:\/\/www.rjmprogramming.com.au\/weather\/autocomplete.htm'>live run<\/a> &#8220;parent&#8221; using the changed &#8220;child&#8221; HTML iframe web application now organising a top level collection of Google Chart Map Chart Time Zone places with onclick &#8220;select&#8221; event access to both Weather Underground links and to Time Zone information links to  <a target=_blank title='Time Zone converter landing page' href='http:\/\/timezoneconverter.com\/'>Time Zone Converter<\/a> webpages, and which changed in <a target=_blank title='' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/tz_places.php--------GETME'>this way<\/a> to accomodate this new functionality<\/li>\n<li><a target=_blank title='' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php--------------GETME'>map.php<\/a> PHP code has this <a target=_blank title='Click picture' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php'>live run<\/a> (relevant, because these changes make the &#8220;grandchild&#8221; Map Chart web application independently able to access this new place name interfacing improvements) and it changed for these new ideas in <a target=_blank title='' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php--------------GETME'>this way<\/a> (for an expectedly required phase 3 of the changes to the &#8220;grandchild&#8221; regarding Weather Underground linkage support)<\/li>\n<\/ul>\n<p>Please try it out for yourself to see what we are describing above.<\/p>\n<hr>\n<p id='gcmctzpt'>Previous relevant <a target=_blank title='Google Chart Map Chart Time Zone Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-map-chart-time-zone-primer-tutorial\/'>Google Chart Map Chart Time Zone Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Map Chart Time Zone Lookup Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/IMG_0900.PNG\" title=\"Google Chart Map Chart Time Zone Lookup Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">Google Chart Map Chart Time Zone Lookup Tutorial<\/p><\/div>\n<p>We&#8217;re upgrading our <a target=_blank title='Google Chart' href='https:\/\/developers.google.com\/chart\/'>Google Chart<\/a> Map Chart web application interface for independent, and supervised, Time Zone place usage, building on the start to this yesterday with <a title='Google Chart Map Chart Time Zone Primer Tutorial' href='#gcmctzpt'>Google Chart Map Chart Time Zone Primer Tutorial<\/a>.   Yesterday we considered the case where the user defines, at the Place Name Javascript prompt window &#8230;<\/p>\n<p><code>Sydney|Australia\/Sydney|+11|12:50<\/code><\/p>\n<p> &#8230; type of entry followed by a Latitude,Longitude follow up Javascript prompt window, for those occasions where the chooser wants to define their own Time Zone place information.   Today we cater for entries at the Place Name prompt window such as &#8230;<\/p>\n<p><code>Sydney<\/code><\/p>\n<p> &#8230; and the web application Javascript, via PHP help, helps out at the Latitude,Longitude prompt window with a default suggestion of &#8230;<\/p>\n<p><code>|Australia\/Sydney|+11|2017\/02\/01\/12:50;-33.86667,151.21666<\/code><\/p>\n<p> &#8230; because in the meantime it has looked up the Time Zone place name information for the Australia\/Sydney Time Zone to suggest this as the Time Zone and Geographical Latitude and Longitude for your &#8220;Sydney&#8221; place name.  Of course, you do not have to accept the default answer, but it is there should you want that information to be retained at future onclick &#8220;select&#8221; event Javascript prompt windows that display later if you click on the Sydney tag on the Google Chart Map Chart that follows all your typed in entries.<\/p>\n<p>These new interfacings affect both the &#8220;parent&#8221; HTML and (the code underlying the) &#8220;grandchild&#8221; PHP pieces of code so that &#8230;<\/p>\n<ul>\n<li>the &#8220;parent&#8221; changes we&#8217;ll be showing you soon<\/li>\n<li><a target=_blank title='' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php--------------GETME'>map.php<\/a> PHP code has this <a target=_blank title='Click picture' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php'>live run<\/a> (relevant, because these changes make the &#8220;grandchild&#8221; Map Chart web application independently able to access this new place name interfacing improvements) and it changed for these new ideas in <a target=_blank title='' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php--------------GETME'>this way<\/a> (for phase two of two of the changes to the &#8220;grandchild&#8221;) &#8230; the great help for the changes here today revolved around techniques we used in the tz_places.php PHP code of <a target=_blank title='Weather API via Iframe jQuery Ajax Map Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/weather-api-via-iframe-jquery-ajax-map-tutorial\/'>Weather API via Iframe jQuery Ajax Map Tutorial<\/a><\/li>\n<\/ul>\n<p>We hope you try a <a target=_blank title='Click picture' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php'>live run<\/a> link to see this in context, but, in the meantime to view the &#8220;A Few Australian Places&#8221; featured in the tutorial picture <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php?title=Places&#038;onclick=y&#038;label=['Lat',&#038;value='Lon',%20'Name']&#038;data=,%20[-27.46667,153.03333,~Brisbane|Australia\/Brisbane|+10|2017\/02\/01\/19:42~]%20,%20[-34.91667,138.58333,~Adelaide|Australia\/Adelaide|+10.5|2017\/02\/01\/20:12~]%20,%20[-35.2809,149.13,~Canberra~]\" title='A Few Australian Places'>here<\/a>.<\/p>\n<hr>\n<p id='gcmctzpt'>Previous relevant <a target=_blank title='Google Chart Map Chart Time Zone Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/google-chart-map-chart-time-zone-primer-tutorial\/'>Google Chart Map Chart Time Zone Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Chart Map Chart Time Zone Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/IMG_0891.PNG\" title=\"Google Chart Map Chart Time Zone Primer Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">Google Chart Map Chart Time Zone Primer Tutorial<\/p><\/div>\n<p>The advantage our Map Chart interfacing web application has regarding its use of the Google Charts API is that it is written in a serverside language, that being PHP, and that means that after questions it could go up and look up an interactively entered piece of information from the user and compare it against a database or file, or in our case, soon, with a set of inbuilt PHP Time Zone functions, to link &#8220;where&#8221; and &#8220;when&#8221;, perhaps, by linking a user entered <i>place name<\/i> with a <i>Time Zone name<\/i>, perhaps.   As with many such interfacings, this will not work for every place, of course, and our initial draft of interfacing changes with our Map Chart web application, rely on an exact match of place names with Time Zone place names, but we&#8217;ll see over time some other ideas we can try to improve this all the more.<\/p>\n<p>If we do find a link to a Time Zone place name, we&#8217;ll present the user, in the onclick &#8220;select&#8221; event logic, a chance to delve further into other deeper sources of information here.   Applications often refer to this idea as &#8220;drilling down&#8221; into the data.  We&#8217;ll be doing that aspect to the two part interfacing, tomorrow.  But today we just concentrate on the <a target=_blank title='Google Chart' href='https:\/\/developers.google.com\/chart\/'>Google Chart<\/a> Map Chart web interface we have being, internally, capable of &#8230;<\/p>\n<ul>\n<li>asking for this extra information &#8230; dependent on whether the user has flagged to use &#8220;&#038;onclick=y&#8221; onclick &#8220;select&#8221; event &#8230; as a suffix to the user entered Place Name &#8230; for example &#8230;<br \/>\n<code>Sydney|Australia\/Sydney|+11|12:50<\/code><br \/>\n&#8230; corresponding to &#8220;PlaceName|TimeZoneName|GMTOffset|TimeRightNow&#8221; &#8230; and then &#8230;\n<\/li>\n<li>analyzing the $_GET[&#8216;data&#8217;] or $_POST[&#8216;data&#8217;] data for the existance of this extended information, and presenting it in the onclick &#8220;select&#8221; event Javascript prompt window we present as an option &#8220;T&#8221; that if typed in navigates the user to a <a target=_blank title='Time Zone converter landing page' href='http:\/\/timezoneconverter.com\/'>Time Zone Converter<\/a> webpage where details like when Daylight Saving last kicked in and out are &#8220;value adds&#8221; to the functionality mix<\/li>\n<\/ul>\n<p>Where are we going to apply this idea?  Well, maybe you were around when we presented <a target=_blank title='Weather API via Iframe jQuery Ajax Map Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/weather-api-via-iframe-jquery-ajax-map-tutorial\/'>Weather API via Iframe jQuery Ajax Map Tutorial<\/a> not so long back.   We interfaced the Map Chart as a &#8220;grandchild&#8221; to the &#8220;parent&#8221; Weather Underground Interfacing web application.   Today&#8217;s thoughts could improve on that in that the Map Chart could also be appearing with those useful onclick &#8220;select&#8221; event functionalities up at the &#8220;parent&#8221; level as well.<\/p>\n<p>These new interfacings affect both the &#8220;parent&#8221; HTML and (the code underlying the) &#8220;grandchild&#8221; PHP pieces of code so that &#8230;<\/p>\n<ul>\n<li>the &#8220;parent&#8221; changes we&#8217;ll be showing you soon<\/li>\n<li><a target=_blank title='' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php-------------GETME'>map.php<\/a> PHP code has this <a target=_blank title='Click picture' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php'>live run<\/a> (relevant, because these changes make the &#8220;grandchild&#8221; Map Chart web application independently able to access this new place name interfacing improvements) and it changed for these new ideas in <a target=_blank title='' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/map.php-------------GETME'>this way<\/a> (for phase one of two of the changes to the &#8220;grandchild&#8221;) &#8230; helped enormously with respect to code timing between the PHP writing out the Javascript via the use of array.<a target=_blank title='JavaScript array push method information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/jsref_push.asp'>push()<\/a> method<\/li>\n<\/ul>\n<p>You can see this in action with today&#8217;s PDF slideshow <a target=_blank title='PDF Slideshow' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/aus_map.pdf'>here <img src='http:\/\/www.rjmprogramming.com.au\/PHP\/Map\/aus_map_10of.JPG' title='Tutorial picture'><\/img><\/a>.<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d27948' onclick='var dv=document.getElementById(\"d27948\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/google-charts\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d27948' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d27972' onclick='var dv=document.getElementById(\"d27972\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/map\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d27972' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d27997' onclick='var dv=document.getElementById(\"d27997\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/iframe\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d27997' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d28081' onclick='var dv=document.getElementById(\"d28081\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/ajax\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d28081' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s time to (re-)turn our attention to our Weather Underground API inspired web application, at its &#8220;parent&#8221; level, and just there. At this web application&#8217;s &#8220;parent&#8221; level we use the great Weather Underground API autocompletion functionality you may recall from &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/weather-api-via-iframe-jquery-ajax-autocomplete-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,14,37],"tags":[88,103,199,302,481,513,518,2136,614,1577,652,745,932,2134,997,2135,1168,1693,1319,1399],"class_list":["post-28081","post","type-post","status-publish","format-standard","hentry","category-elearning","category-event-driven-programming","category-tutorials","tag-api","tag-array","tag-chart","tag-datetime","tag-geographicals","tag-google","tag-google-chart","tag-hurricane","tag-integration","tag-interface","tag-javascript","tag-map","tag-php","tag-place","tag-programming","tag-push","tag-software-integration","tag-timezone","tag-tutorial","tag-weather"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/28081"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=28081"}],"version-history":[{"count":8,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/28081\/revisions"}],"predecessor-version":[{"id":28097,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/28081\/revisions\/28097"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=28081"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=28081"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=28081"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}