Microformats are an easy way to semantically mark up a web page so that it can be easily parsed and understood by a computer.

This allows you to write code to easily do many funky things, not least of which extract author information from a page with minimal effort. This is how Idno’s distributed friending functionality works, btw.

Idno/Known supports MF2 natively, but support was sadly lacking in Elgg, so I wrote a quick plugin to add it.

Overview

The plugin, once installed and activated, adds some hidden markup to certain core views and does some basic post processing to add MF2 markup.

It is designed to be as light weight as possible, while still providing useful functionality.

As I mentioned above, and in the readme, this was primarily written to scratch an itch – namely, to provide the base functionality for Idno<->Elgg distributed friending functionality. Cross login functionality will come, hopefully, when I have time (although if you’re in a hurry you could always provide an incentive!).

» Visit the project on Github...

Here is the latest in a series of libraries I’ve been releasing which package up some of my often used, cut and pasted code, into reusable modules for myself and others to use.

So here is the companion piece to my previously released Web Services client library, a web services API endpoint library.

Usage

The library allows you to expose a Callable type (function, object method or static function, closure, and call it via a built in Simple Page Handler endpoint that you can attach to a virtual page (e.g. http://example.com/api).

The library will then use reflection to extract the required and optional parameters, and any default values to pass, and then pass them accordingly.

Once the code has run it’ll trigger an event which you should listen to and determine what format to output the results in based on the 'format' parameter. You might want to look at the Simple Template Library to help you here!

I’ve written an example handler that exposes a single API, but feel free to fire over any comments or questions!

» Visit the project on Github…

Over on my Idno development fork, I’ve pushed some functionality that I think is rather neat (and I hope will be adopted by upstream Update: it was.).

In a nutshell, I’ve started fleshing out the ability to Friend/Follow other users (based on some stuff I’ve previously kicked about).

The ability to add friends (and create posts only visible to them) is what puts the social in social network, and was functionality previously missing to idno core. An added complexity is that, since Idno is designed to be a distributed network, this needs to work across multiple installations.

Idno references users by URL, so this much was fairly straightforward, however I absolutely didn’t want people to be typing URLs into boxes to add a friend…

MF2 to the rescue!

Since everything in Idno is marked up and parse-able by it’s built in Microformats parser, Idno can easily harvest the required information when parsed a page, so all I really needed to do was pass an endpoint a URL.

So, I created a simple bookmarklet:

following

Once dragged into your toolbar, you can click on any page and your Idno installation will find any users present and allow you to add them in a couple of button clicks.

addfriend

Monocultures are considered harmful

What makes this approach especially cool is, so long as the page is marked up using simple Microformats, your friend does not need to be running Idno in order for you to add them.

Your friends could be running Elgg, WordPress, Fizzbuzz, whatever, and you can still follow them, and allow them to see private posts (using some form of authentication – more on that to come).

Have fun!