{"id":607,"date":"2005-04-21T21:58:30","date_gmt":"2005-04-21T21:58:30","guid":{"rendered":"http:\/\/beta.robertprice.co.uk\/robblog\/2005\/04\/lifeblog_proxy_idea-shtml\/"},"modified":"2005-04-21T21:58:30","modified_gmt":"2005-04-21T21:58:30","slug":"lifeblog_proxy_idea-shtml","status":"publish","type":"post","link":"https:\/\/www.robertprice.co.uk\/robblog\/lifeblog_proxy_idea-shtml\/","title":{"rendered":"Lifeblog Proxy Idea"},"content":{"rendered":"<p>\nSitting in a <a href=\"http:\/\/www.nokia.com\/lifeblog\">Lifeblog<\/a> debrief earlier, one thing that struck me was that others had the same problem as me regarding wanting to post to multiple blogs.\n<\/p>\n<p>\nIt seems most would like to seperate a work blog from a personal blog, but unless it&#8217;s hosted on the same Typepad account for example, Lifeblog doesn&#8217;t let you do this. From a service point a of view it&#8217;s a one to one match.\n<\/p>\n<p>\n<img loading=\"lazy\" decoding=\"async\" src=\"\/robblog\/images\/lifeblog.gif\" width=\"141\" height=\"311\" alt=\"Posting on Lifeblog\" class=\"blogimage\" \/>\n<\/p>\n<p>\nSitting there, my mind was mulling the problem over, and it would appear that a simple Lifeblog proxy would solve the problem. If blogs are hosted on the same service and accessible by the same username and password, Lifeblog lets you post to different blogs. Why not just build a service that can proxy between various Lifeblog compatible blogs, so you wouldn&#8217;t have to host them all together.\n<\/p>\n<p>\n<img loading=\"lazy\" decoding=\"async\" src=\"\/robblog\/images\/lifeblog_proxy.gif\" width=\"302\" height=\"478\" alt=\"Posting on Lifeblog via a proxy\" class=\"blogimage\" \/>\n<\/p>\n<p>\nSo how may this work from a technical perspective.\n<\/p>\n<p>\nWell Lifeblog posts using a flavour of the Atom protocol. For security it uses WSSE encryption on the posts. This means that the proxy would need to it&#8217;s own username and password to authenticate against when talking to Lifeblog.  The various blogs it would be proxying onto would also need different username and passwords, and proxy would have to insert these as it passes the post onto the relevant blog. We could potentially store all the blogs we&#8217;re allowing posts to in an XML config file. For example&#8230;\n<\/p>\n<div class=\"code\"><code>&lt;blogs&gt;<br \/>\n&lt;blog&gt;<br \/>\n&lt;name&gt;My Blog&lt;\/name&gt;<br \/>\n&lt;url&gt;http:\/\/work.blog.com\/post.pl&lt;\/url&gt;<br \/>\n&lt;username&gt;robertprice&lt;\/username&gt;<br \/>\n&lt;password&gt;secret&lt;\/password&gt;<br \/>\n&lt;\/blog&gt;<br \/>\n&lt;blog&gt;<br \/>\n&lt;name&gt;My Blog 2&lt;\/name&gt;<br \/>\n&lt;url&gt;http:\/\/my.website.com\/post.pl&lt;\/url&gt;<br \/>\n&lt;username&gt;rob&lt;\/username&gt;<br \/>\n&lt;password&gt;lifeblog&lt;\/password&gt;<br \/>\n&lt;\/blog&gt;<br \/>\n&lt;\/blogs&gt;<br \/>\n<\/code><\/div>\n<p>\nHere all the blogs are listed, along with their name, posting url, username and password. The proxy would take this list and return a localised list of blogs that when posted to, would just pass the relevant data across. So this means there are two areas to break the proxy down into.\n<\/p>\n<p>\nFirst, the list of blogs. This reads the XML and returns a list of localised blogs and posting URL&#8217;s that Lifeblog can use to upload content.\n<\/p>\n<p>\nSecondly, the actual localised posting URL needs to remove the Lifeblog WSSE authentication, and replace it with the correct username and password for the real blog before passing it on to the real upload URL.\n<\/p>\n<p>\nIt could be as simple as that. Maybe I&#8217;ll mock something up in <a href=\"http:\/\/www.perl.com\/\">Perl<\/a> to test the theory out.\n<\/p>\n<p>\nAnyway, who&#8217;s to say this just has to proxy Lifeblog. It could alternatively be a gateway that could translate into one of the common blogging API&#8217;s, instantly opening up Lifeblog to millions more users. Now that would be cool!\n<\/p>\n<p>\n<em>UPDATE 23\/04\/05<\/em>\n<\/p>\n<p>\nHugo emailed me to say Lifeblog 1.6 can handle some of what I have suggested&#8230;\n<\/p>\n<div>\n<blockquote><p>Actually, Lifeblog 1.6 can have post to more than one account, and is<br \/>\navailable for the Nokia 6630, 6680, 6681, 6682. Unfortunately Lifeblog<br \/>\n1.5 (for 7610, 6670, 6260, 3230) can only post to one blog. And the PC<br \/>\ncan post to multiple accounts.\n<\/p><\/blockquote>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Sitting in a Lifeblog debrief earlier, one thing that struck me was that others had the same problem as me regarding wanting to post to multiple blogs. It seems most would like to seperate a work blog from a personal blog, but unless it&#8217;s hosted on the same Typepad account for example, Lifeblog doesn&#8217;t let &hellip; <a href=\"https:\/\/www.robertprice.co.uk\/robblog\/lifeblog_proxy_idea-shtml\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Lifeblog Proxy Idea&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[6],"tags":[25,35,47],"class_list":["post-607","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-http","tag-lifeblog","tag-perl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Lifeblog Proxy Idea - Robert Price<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.robertprice.co.uk\/robblog\/lifeblog_proxy_idea-shtml\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lifeblog Proxy Idea - Robert Price\" \/>\n<meta property=\"og:description\" content=\"Sitting in a Lifeblog debrief earlier, one thing that struck me was that others had the same problem as me regarding wanting to post to multiple blogs. It seems most would like to seperate a work blog from a personal blog, but unless it&#8217;s hosted on the same Typepad account for example, Lifeblog doesn&#8217;t let &hellip; Continue reading &quot;Lifeblog Proxy Idea&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.robertprice.co.uk\/robblog\/lifeblog_proxy_idea-shtml\/\" \/>\n<meta property=\"og:site_name\" content=\"Robert Price\" \/>\n<meta property=\"article:published_time\" content=\"2005-04-21T21:58:30+00:00\" \/>\n<meta name=\"author\" content=\"rob\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"rob\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/lifeblog_proxy_idea-shtml\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/lifeblog_proxy_idea-shtml\\\/\"},\"author\":{\"name\":\"rob\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#\\\/schema\\\/person\\\/fac6d5b076e0e14e1fb13e15b542a6c5\"},\"headline\":\"Lifeblog Proxy Idea\",\"datePublished\":\"2005-04-21T21:58:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/lifeblog_proxy_idea-shtml\\\/\"},\"wordCount\":468,\"keywords\":[\"HTTP\",\"Lifeblog\",\"Perl\"],\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/lifeblog_proxy_idea-shtml\\\/\",\"url\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/lifeblog_proxy_idea-shtml\\\/\",\"name\":\"Lifeblog Proxy Idea - Robert Price\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#website\"},\"datePublished\":\"2005-04-21T21:58:30+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#\\\/schema\\\/person\\\/fac6d5b076e0e14e1fb13e15b542a6c5\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/lifeblog_proxy_idea-shtml\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/lifeblog_proxy_idea-shtml\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/lifeblog_proxy_idea-shtml\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lifeblog Proxy Idea\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#website\",\"url\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/\",\"name\":\"Robert Price\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.robertprice.co.uk\\\/robblog\\\/#\\\/schema\\\/person\\\/fac6d5b076e0e14e1fb13e15b542a6c5\",\"name\":\"rob\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g\",\"caption\":\"rob\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Lifeblog Proxy Idea - Robert Price","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":"https:\/\/www.robertprice.co.uk\/robblog\/lifeblog_proxy_idea-shtml\/","og_locale":"en_GB","og_type":"article","og_title":"Lifeblog Proxy Idea - Robert Price","og_description":"Sitting in a Lifeblog debrief earlier, one thing that struck me was that others had the same problem as me regarding wanting to post to multiple blogs. It seems most would like to seperate a work blog from a personal blog, but unless it&#8217;s hosted on the same Typepad account for example, Lifeblog doesn&#8217;t let &hellip; Continue reading \"Lifeblog Proxy Idea\"","og_url":"https:\/\/www.robertprice.co.uk\/robblog\/lifeblog_proxy_idea-shtml\/","og_site_name":"Robert Price","article_published_time":"2005-04-21T21:58:30+00:00","author":"rob","twitter_card":"summary_large_image","twitter_misc":{"Written by":"rob","Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.robertprice.co.uk\/robblog\/lifeblog_proxy_idea-shtml\/#article","isPartOf":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/lifeblog_proxy_idea-shtml\/"},"author":{"name":"rob","@id":"https:\/\/www.robertprice.co.uk\/robblog\/#\/schema\/person\/fac6d5b076e0e14e1fb13e15b542a6c5"},"headline":"Lifeblog Proxy Idea","datePublished":"2005-04-21T21:58:30+00:00","mainEntityOfPage":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/lifeblog_proxy_idea-shtml\/"},"wordCount":468,"keywords":["HTTP","Lifeblog","Perl"],"articleSection":["Uncategorized"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/www.robertprice.co.uk\/robblog\/lifeblog_proxy_idea-shtml\/","url":"https:\/\/www.robertprice.co.uk\/robblog\/lifeblog_proxy_idea-shtml\/","name":"Lifeblog Proxy Idea - Robert Price","isPartOf":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/#website"},"datePublished":"2005-04-21T21:58:30+00:00","author":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/#\/schema\/person\/fac6d5b076e0e14e1fb13e15b542a6c5"},"breadcrumb":{"@id":"https:\/\/www.robertprice.co.uk\/robblog\/lifeblog_proxy_idea-shtml\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.robertprice.co.uk\/robblog\/lifeblog_proxy_idea-shtml\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.robertprice.co.uk\/robblog\/lifeblog_proxy_idea-shtml\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.robertprice.co.uk\/robblog\/"},{"@type":"ListItem","position":2,"name":"Lifeblog Proxy Idea"}]},{"@type":"WebSite","@id":"https:\/\/www.robertprice.co.uk\/robblog\/#website","url":"https:\/\/www.robertprice.co.uk\/robblog\/","name":"Robert Price","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.robertprice.co.uk\/robblog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.robertprice.co.uk\/robblog\/#\/schema\/person\/fac6d5b076e0e14e1fb13e15b542a6c5","name":"rob","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6f0eb511179100a4e968abc70403e33686e6ab3e992e392bedd2ccac01da666c?s=96&d=mm&r=g","caption":"rob"}}]}},"_links":{"self":[{"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/posts\/607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/comments?post=607"}],"version-history":[{"count":0,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/posts\/607\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/media?parent=607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/categories?post=607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.robertprice.co.uk\/robblog\/wp-json\/wp\/v2\/tags?post=607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}