Data Portability Pack for BlogEngine.NET

February 14, 2008 | Uncategorized | 33 Comments

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

33 responses to “Data Portability Pack for BlogEngine.NET”

  1. Tuukka Hastrup says:

    Just some small suggestions:

    You could use SIOC browser in the hyperlinks, as in http://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".

  2. John Dyer says:

    @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/).

  3. 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);

  4. This is great! XML rocks!

  5. Daniel says:

    gracias por su valiosa información

  6. Luis says:

    Thanks for the information! It’s really interesting!

  7. 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 http://blog.alexanderhiggins.com/2008/08/vb-blogengine-net1-4.html

  8. 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,
    http://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!!

  9. Chris Saad says:

    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 :)

  10. lee says:

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

  11. Xavi says:

    Gracias por compartir la información.

    http://www.espondilitis.eu

  12. Kunal Mehta says:

    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
    http://www.elevatesoftsolutions.in/post/2008/10/27/SplendidCRM-First-open-source-CRM-application-in-NET.aspx

  13. Susana says:

    Estoy muy interesada en el tema.

    Susana.

    http://www.espondilitis.eu

  14. Alojaweb says:

    thanks for sharing your knowledge.

  15. LB Outsource says:

    Really nice sharing thanks alots.

  16. David says:

    OK
    Love your work on DP and APML
    espondilitis.eu

  17. Andy says:

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

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

  19. Cricut says:

    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.

  20. Dieran Blog says:

    I found your website perfect for my needs. It contains wonderful and helpful posts. I have read most of them and got a lot from them. To me, you are doing the great work. Carry on this. work at home In the end, I would like to thank you for making such a nice website.

  21. Great work!! Thanks for this sharing

  22. I have read a lot of the comments and I just wonder why people say the things they do, I mean they can find the bad in anything. I guess that is where we are in this world. Just hurt hurt hurt, no matter what the subject is. Lawrence Williams http://www.trybw.com Fort Myers, Naples, Bonita,Cape Coral Computer Repair Service

  23. Mazda says:

    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.

  24. Haydar Aksar says:

    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.

  25. Good day very cool website!! Guy .. Excellent ..
    Amazing .. I will bookmark your website and take the feeds additionally?
    I’m satisfied to find so many helpful info here within the post, we’d like develop edtra techniques in this regard, thank
    you for sharing. . . . . .

  26. gsm71 says:

    Thanks. It seems interesting

  27. Una vez aceptado el presupuesto sobre cerrajería,
    nuestro operario se pone a trabajar para solucionar la incidencia por la cual el cliente buscó de
    los servicios de cerrajeros La capital española. Pues en tiempos de crisis, en cerrajeros
    La capital de España veinticuatro horas asimismo ofrecemos resuelvas.

  28. lubin says:

    Terrific post however I was wanting to know if you could
    write a litte more on this topic? I’d be very grateful if you could elaborate a little bit further.
    Many thanks!

  29. I have read a lot of the comments and I just wonder why people say the things they do, I mean they can find the bad in anything. I guess that is where we are in this world. Just hurt hurt hurt, no matter what the subject is Food and Drink

  30. Hi! I’ve been reading your web site for a while now and finally got the courage to go ahead and
    give you a shout out from Houston Texas! Just wanted to mention keep up the excellent job!

  31. Wykluczone kupujmy tamtej takich tychże szarawarów, jednakowoż dalszoplanowej bluzki właśnie toteż, iż ich cena egzystuje karłowata.
    W teraźniejszy polityka zanieczyszczamy partykularną szafę a przekarmiamy ją przyodzieniami, jakich
    oraz faktycznie nie zapakujemy.
    7. Dzień partii współczesne najweselszych błysk na odszukanie perełek, aliści sumy czasami są dość
    wygórowane. Należałoby wiec zweryfikować stan nałożenia, zastanowić się i przyrównać
    ją do daniny, które służą nam sieciówki.
    Prawo, iż krzepi w podaniu ułomności?
    :)
    8. Fakt, inny wytwór to kraina majstersztyków

  32. Na ostoi książce z U.S Environmental Protection Agency plus Miasta Stołecznego Warszawy uzupełnił sobie tanie ratunki przejrzystości do budynku Miliony specyfików spłukujących oferowanych w składach ogarnia w sobie niemoralne bazy chemiczne.
    Jak osiągną się one do ustroju poprzez karnację plus płuca,
    toteż umieją przyczyniać się do opanowywania alergii, potworniaków dodatkowo pozostałych słabości.

    Takie leki w obiektywnym względzie wydatnie zaśmiecają
    niżeli zmywają.

Leave a Reply

Hi, I'm John Dyer. In my day job, I build websites and create online seminary software for a seminary in Dallas. I also like to release open source tools including a pretty popular HTML5 video player and build tools that help people find best bible commentaries and do bible study. And just for fun, I also wrote a book on the theology of technology and media.

Fork me on GitHub

Social Widgets powered by AB-WebLog.com.