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: Purple CMS - Super Early Alpha (0.1)

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: Temporary Post Used For Theme Detection (1e7c4254-2b17-4eda-b080-c9e9e7ca34c7 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)

Roman Clarkson
pingback April 5. 2008 13:10

Pingback from johnbreslin.com

Tales from the SIOC-o-sphere #7 at Cloudlands

johnbreslin.com
Andre Tagesgeld May 8. 2008 07:12

This is great! XML rocks!

Andre Tagesgeld
Daniel June 12. 2008 14:52

gracias por su valiosa información
Daniel's last post: Megan Fox to the paraded Armani

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
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
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's last post: Missed opportunities in Publishing

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
Xavi October 23. 2008 20:07

Gracias por compartir la información.

http://www.espondilitis.eu

Xavi
Kunal Mehta October 28. 2008 09:50

Its great extension.

I am also use BlogEngine.NET on my website: http://elevatesoftsolutions.in/default.aspx - been using it for a few months now.

I will use this extension on my blog. Thanks..

Kunal Mehta
---
SplendidCRM - First open source CRM application in .NET
www.elevatesoftsolutions.in/.../...ion-in-NET.aspx

Kunal Mehta
Susana November 2. 2008 12:55

Estoy muy interesada en el tema.

Susana.

http://www.espondilitis.eu

Susana
Alojaweb November 11. 2008 00:18

thanks for sharing your knowledge.

Alojaweb
LB Outsource November 26. 2008 01:09

Really nice sharing thanks alots.
LB Outsource's last post: CSI Season 10 Episode 12: Long Ball update

LB Outsource
David December 19. 2008 20:36

OK
Love your work on DP and APML
espondilitis.eu

David
Andy January 7. 2009 12:35

Nice work--thanks for helping out the less skillful--Andy

Andy
pinot noir January 22. 2009 11:07

Nice job, thanks for good information. Keep on the good job

pinot noir
Kampanye Damai Pemilu Indonesia 2009 February 18. 2009 02:34

Nice sharing John,
I am very interesting with this..
Keep posting for BE users bro...
THanks...

Kampanye Damai Pemilu Indonesia 2009
Cricut March 16. 2009 00:54

Hey John,
Okay not to sound stupid or anything but, don't you think SIOC sucks compared to RSS why would anyone even use SIOC when RSS is totally Mainstream even to those computer illiterate users.
Cricut's last post: Tips for Operating the Cricut Cutter

Cricut
Comments are closed
Web Statistics