{"id":41185,"date":"2018-10-11T03:01:58","date_gmt":"2018-10-10T17:01:58","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=41185"},"modified":"2022-05-04T13:23:46","modified_gmt":"2022-05-04T03:23:46","slug":"feed-via-date-primer-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/feed-via-date-primer-tutorial\/","title":{"rendered":"Feed via Date Primer Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/feed_via_date.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Feed via Date Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/feed_via_date.jpg\" title=\"Feed via Date Primer Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Feed via Date Primer Tutorial<\/p><\/div>\n<p>Feeds, as <a target=_blank title='Data feed information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Data_feed'>Wikipedia<\/a> reminds us &#8230;<\/p>\n<blockquote cite='https:\/\/en.wikipedia.org\/wiki\/Data_feed'><p>\nData feed is a mechanism for users to receive updated data from data sources. It is commonly used by real-time applications in point-to-point settings as well as on the World Wide Web. The latter is also called web feed.\n<\/p><\/blockquote>\n<p> &#8230; are a big part of a lot of people&#8217;s habits in the online world.  As a data updating mechanism, feeds and dates go hand in hand.  The users of feed URLs (yes, a feed can be boiled down to a URL, in its essence) are interested in the freshness of its data, as defined, normally, by the URL of the feed involving some reference to a date of interest.  Syncing of data on modern mobile devices is just like importing feed data for a date that is now, and updating files and databases accordingly.<\/p>\n<p>Today we take the starting steps on a project that looks at this &#8220;feed URL construction&#8221; as a generic exercise allowing for &#8230;<\/p>\n<ul>\n<li>single date (equating in your thinking, perhaps, to &#8220;data on&#8221; or &#8220;data since&#8221; or &#8220;data before&#8221; or &#8220;data of&#8221;) &#8230; or &#8230;<\/li>\n<li>two dates (equating to &#8220;data between&#8221; or &#8220;data outside of&#8221; and\/or perhaps the ideas of above)<\/li>\n<\/ul>\n<p>In today&#8217;s &#8220;single feed snapshot&#8221; progress in this, we concentrate on &#8230;<\/p>\n<ul>\n<li>piecing together a feed URL from its constituent parts &#8230;\n<ol>\n<li>prefix to first date<\/li>\n<li>first date, optionally<\/li>\n<li>optional URL bits between first date and second date<\/li>\n<li>optional second date<\/li>\n<\/ol>\n<p> &#8230; and &#8230;\n<\/li>\n<li>optional hashtag consisting of an emailee to send the feed data report to<\/li>\n<\/ul>\n<p>The form of our feed is a web feed, as the data remains as HTML that can be linked to and\/or be contained in an email attachment.  Within that HTML web data, in many scenarios, a user interested in a particular form of data will reduce a larger amount of web data into a smaller amount of other more formal forms of data, such as CSV data for spreadsheets, or JSON data for hierarchical data, as two such &#8220;data feed&#8221; (type) examples.  Occasionally you will hear of the term <a target=_blank title='Web scraping information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Web_scraping'>web scraping<\/a> to describe this concept.  We allow for the user to link back to the PHP web application, within an email link, so they can create their own &#8220;single feed snapshot&#8221; for themselves.<\/p>\n<p>Of course, there are great proprietry feed tools out there, as you can read about with the previous <a title='FeedBurner Web Feed Primer Tutorial' href='#fbwfpt'>FeedBurner Web Feed Primer Tutorial<\/a> but to start thinking about your own feed system can be both an interesting exercise and a good private data sharing arrangement with a trusted business partner, perhaps.  In this sense, we encourage you to try the <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/feed_via_date.php\" title=\"Click picture\">live run<\/a> &#8220;first draft&#8221; version with underlying PHP <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/feed_via_date.php_GETME\" title=\"feed_via_date.php\">feed_via_date.php<\/a> code.<\/p>\n<hr>\n<p id='fbwfpt'>Previous relevant <a target=_blank title='FeedBurner Web Feed Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/feedburner-web-feed-primer-tutorial\/'>FeedBurner Web Feed 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\/Mac\/feedburner.jpg\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"FeedBurner Web Feed Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/feedburner.jpg\"  \/><\/a><p class=\"wp-caption-text\">FeedBurner Web Feed Primer Tutorial<\/p><\/div>\n<p>We&#8217;ve opened a FeedBurner web <a target=_blank title='Feed information from Wikipedia ... thanks' href='http:\/\/en.wikipedia.org\/wiki\/Data_feed'>feed<\/a> management provider account for the Robert James Metcalfe Blog, our WordPress 4.1.1 blog at <a target=_blank title='Robert James Metcalfe Blog link to FeedBurner feed' href='http:\/\/feeds.feedburner.com\/RobertJamesMetcalfeBlog'>this link<\/a>.  Let&#8217;s see what Wikipedia says about FeedBurner, which Google acquired on 3rd June 2007, <a target=_blank title='FeedBurner information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/FeedBurner'>here<\/a> and below &#8230;<\/p>\n<blockquote cite=\"https:\/\/en.wikipedia.org\/wiki\/FeedBurner\"><p>\nFeedBurner is a web feed management provider launched in 2004.[1] FeedBurner was founded by Dick Costolo, Eric Lunt, Steve Olechowski, and Matt Shobe. Costolo is a University of Michigan graduate, and was CEO of Twitter from 2010 to 2015. FeedBurner provides custom RSS feeds and management tools to bloggers, podcasters, and other web-based content publishers.\n<\/p><\/blockquote>\n<p>Web feed management providers like FeedBurner are pretty important to bloggers because a lot of web traffic to blogs these days does not come from the user finding the blog news via their favourites or out of habit each day, but rather from &#8220;feeds&#8221; they have subscribed to, that they use the precis headline of to decide whether they want to read further on a topic of interest or disgust or whatever or what&#8230;everrrrrr.<\/p>\n<p>It was fairly straightforward as a Google Gmail user to sign up for the Robert James Metcalfe Blog feed to be registered with FeedBurner.  More or less just follow your nose with a visit to <a target=_blank title='FeedBurner home page' href='http:\/\/feedburner.com'>HTTP:\/\/feedburner.com<\/a> &#8230; but what was a bit surprising was the next day&#8217;s realization that just because some content looks okay in HTML it would necessarily be totally okay for FeedBurner which requires that content to validate in terms of XML data as well.<\/p>\n<p>Now here is where the FeedBurner <a target=_blank title='Troubleshootize the Robert James Metcalfe Blog FeedBurner feed' href='https:\/\/feedburner.google.com\/fb\/a\/troubleshoot?id=dqpu6qcm268p1jpc6uthjg97a0'>&#8220;Troubleshootize&#8221;<\/a> tab functionalities called (for the Robert James Metcalfe Blog feed) &#8230;<\/p>\n<ul>\n<li><a target=_blank title='Original Feed Validity' href='http:\/\/www.feedvalidator.org\/check.cgi?url=http%3a%2f%2fwww.rjmprogramming.com.au%2fITblog%2ffeed'>Original Feed Validity<\/a><\/li>\n<li><a target=_blank title='FeedBurner Feed Validity' href='http:\/\/www.feedvalidator.org\/check.cgi?url=http%3a%2f%2ffeeds.feedburner.com%2fRobertJamesMetcalfeBlog'>FeedBurner Feed Validity<\/a><\/li>\n<\/ul>\n<p> &#8230; can come into their own to show you any potential problems.<\/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='#d24194' onclick='var dv=document.getElementById(\"d24194\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/feed\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d24194' 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='#d41185' onclick='var dv=document.getElementById(\"d41185\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/date\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d41185' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Feeds, as Wikipedia reminds us &#8230; Data feed is a mechanism for users to receive updated data from data sources. It is commonly used by real-time applications in point-to-point settings as well as on the World Wide Web. The latter &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/feed-via-date-primer-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,37],"tags":[290,291,301,412,557,932,997,2141,1233,1579,1319,1341,1345,2710,1410],"class_list":["post-41185","post","type-post","status-publish","format-standard","hentry","category-elearning","category-tutorials","tag-data","tag-data-feed","tag-date","tag-feed","tag-hashtag","tag-php","tag-programming","tag-range","tag-sync","tag-synch","tag-tutorial","tag-update","tag-url","tag-web-feed","tag-web-scraping"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/41185"}],"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=41185"}],"version-history":[{"count":6,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/41185\/revisions"}],"predecessor-version":[{"id":55625,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/41185\/revisions\/55625"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=41185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=41185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=41185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}