feedback
Feb 14 2008

Data Portability Pack for BlogEngine.NET

by John Dyer

What it Does

This is an initial release of 3 extensions which will add the follow protocols to your BlogEngine.NET blog:

  • SIOC - Somewhat like RSS, but utilizes RDF to describe connections to  other sites and between users and posts (example).
  • APML - Creates an "attention profile" of your interests based on tags and categories. Each is given a value based on its frequency (example).
  • FOAF - A list of your friends, their websites, and a hashed version of their email for a unique key (example).

You can see examples of each of these by clicking on the links on the upper right of this blog. To learn more about data portability, see this post. The following links show this data in a browsable format:

How it Works

imageEach of these has a Handler, a Generator, and an Extension file. The extension files automatically add <meta> discovery files to your <head> tag.

Note: Currently, the FOAF information is stored in two different Extension files due to a limitation in BE.NET 1.3 (it cannot store both scalar and table data). One extension is for your personal information and the other is for your friends' data. BE 1.4 will allow these to be merged into one file.

Warning: BE.NET currently deletes extension data when you change *.cs files, so please backup your extension file when adding or changing extensions.

Installation and Usage

  1. Download Data Portability Pack for BlogEngine.NET
  2. Copy the *.cs files into your /App_Code/Extensions folder (you can also create a sub-directory within that folder)
  3. Add the following to your web.config file
    	<add verb="*" path="sioc.axd" type="BlogEngine.DataPortability.SiocHandler, App_Code" validate="false"/>
    	<add verb="*" path="foaf.axd" type="BlogEngine.DataPortability.FoafHandler, App_Code" validate="false"/>
    	<add verb="*" path="apml.axd" type="BlogEngine.DataPortability.ApmlHandler, App_Code" validate="false"/>	
    	
  4. Go to your Admin->Extensions page and you should see 4 extensions prefixed with "DP_". The FoafFriends and MyProfile extensions need data entered, the other ones you can just leave as their defaults.
    image
  5. Optionally, you can add links to each of these files (as I have on the upper right)

Future Work

  • Merge FOAF extensions for BE 1.4
  • Possibly store FOAF data in a separate file rather than as Extension data
  • Add additional settings to APML such as parsing blog roll
  • If you also add OpenID support to your blog, then you will have everything that is currently on the data portability standards list.

kick it on DotNetKicks.com

Comments

Tuukka Hastrup February 15. 2008 06:53

Just some small suggestions:

You could use SIOC browser in the hyperlinks, as in sparql.captsolo.net/browser/browser.py?url=http%3A%2F%2Fjohndyer.name%2Ffoaf.axd

The APML document shouldn't be served with "Content-Type: application/rdf+xml".

Tuukka Hastrup

John Dyer February 15. 2008 09:32

@Tuukka, thanks for the tips. I added some links to the SIOC browser and changed the APML type to application/xml+apml (as per http://apml.pbwiki.com/).
John Dyer's last post: Wii + Flash + Papervision3D + C# = Alumni World Map

John Dyer

Roman Clarkson February 19. 2008 16:41

This is so cool. I appreciate it and am now using it. However, with the download you provide the DP_foaf.cs file has a double entry which causes a BE.N 1.3 site to fail. I had to comment out one of the lines and all works well from what I can tell. The error said there were two "foaf" controls, yada yada.

BlogEngine.Core.Post.Serving += new EventHandler<ServingEventArgs>(Post_Serving);
//BlogEngine.Core.Page.Serving += new EventHandler<ServingEventArgs>(Post_Serving);
Roman Clarkson's last post: Cookies, what I forgot and how I fixed it.

Roman Clarkson

pingback April 5. 2008 13:10

Pingback from johnbreslin.com

Tales from the SIOC-o-sphere #7 at Cloudlands
johnbreslin.com's last post: Two wins for boards.ie at the Irish Web Awards

johnbreslin.com

Andre Tagesgeld May 8. 2008 07:12

This is great! XML rocks!
Andre Tagesgeld's last post: Leitzinsen gesenkt

Andre Tagesgeld

Daniel June 12. 2008 14:52

gracias por su valiosa información

Daniel

Luis June 13. 2008 05:24

Thanks for the information! It's really interesting!

Luis

Bolsa de Trabajo June 19. 2008 13:50

Interesting thanks.

Bolsa de Trabajo

Alexander Higgins August 1. 2008 03:12

Ok, since I searched for BlogEngine.Net Visual Basic and landed on this page and there is no Visual Basic here....

Here's my port in Visual Basic blog.alexanderhiggins.com/.../...ngine-net1-4.html
Alexander Higgins's last post: Stock Markets Crash Around the World - Black Friday October 10th, 2008

Alexander Higgins

Alexander Higgins August 9. 2008 23:42

You can delete this comment.

1) You comment box is blowing out the page in Ie7, it extends beyond the right edge of your main table.

2) Images are broken when browsing via the SIOC browser,
sparql.captsolo.net/browser/browser.py?url=http%253A%2F%2Fjohndyer.name%2Fsioc.axd%253Fsioc_type%253Dpost%2526sioc_id%253D69be6175-0700-4143-9082-278d11ce77b8

You may want to consider hardcoding the absolute uri instead of the relative path.

Great Job btw!!
Alexander Higgins's last post: Stock Markets Crash Around the World - Black Friday October 10th, 2008

Alexander Higgins

Chris Saad September 14. 2008 12:46

I just fond your site John -not sure how it didn't come up in other Google searches.

Love your work on DP and APML Smile

Chris Saad

lee September 20. 2008 04:02

Thanks for the great work.. I have added a link to your work on www.blogengineforum.net/..._Latest-Extensions.aspx

lee

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading