Milk's Site  -  Milk's Wiki

Content Management Systems And Data Portability

Note 2/5/08: This page is needing another large refactor, shall do this soon.

People post things online. Their personal information, [user] status, entries in a blog or microblog, articles, messages, comments, images, audio, video, files, polls, links, attention, events, etc. A page/feed listing additions and changes to these items is termed a lifestream [1].

I want to be as autonomous as I can in the systems I use for my online identity and presence. What I'd like is a Content Management System (CMS) for both individual and group use that is open source, has it's own blog system (both syndication and aggregation) and can used as a platform for my online/digital identity (using protocols and formats such as Atom, OpenID?, Jabber/XMPP, OAuth, Microformats, FOAF, OPML and APML) to interface with other services that offer the facility to use such an identity (sites that do data portability) in a synergy of push and pull)!

So basically put, having the features of Facebook (and more) but distributed and interoperable across multiple WordPress?, Movable Type, Drupal, etc installs.



There are different levels on which data portability can happen on. Within web pages (XHTML and HTML) we can use Microformats (hatom combined with others), then we have Atom itself for the feed (how clients present the feed data can vary..) plus there are links with XMPP so users can aggregate or publish data via their IM client

(Beyond all this we have the RDF, OWL/SPARQL (AtomOwl, Semantic Web/Web 3.0, something being looked at by the SIOC project with the Drupal development team is already looking at implementations in the core of Drupal 7)

Atom and hatom

RSS is/was good for blogs, but Atom [5] provides so much more.

A brief description of some of the ways Atom 1.0 differs from RSS 2.0 follows:

Content Model

RSS 2.0 may contain either plain text or escaped HTML as a payload, with no way to indicate which of two is provided. Atom, on the other hand, provides a mechanism to explicitly and unambiguously label the type of content being provided by the entry, and allows for a broad variety of payload types including plain text, escaped HTML, XHTML, XML, Base64-encoded binary, and references to external content such as documents, video, audio streams, and so forth.

'Atom (standard)' on Wikipedia The "type" Attribute

   On the atom:content element, the value of the "type" attribute MAY be
   one of "text", "html", or "xhtml".  Failing that, it MUST conform to
   the syntax of a MIME media type, but MUST NOT be a composite type
   (see Section 4.2.6 of [MIMEREG]).  If neither the type attribute nor
   the src attribute is provided, Atom Processors MUST behave as though
   the type attribute were present with a value of "text". The "src" Attribute

   atom:content MAY have a "src" attribute, whose value MUST be an IRI
   reference [RFC 3987].  If the "src" attribute is present, atom:content
   MUST be empty.  Atom Processors MAY use the IRI to retrieve the
   content and MAY choose to ignore remote content or to present it in a
   different manner than local content



  • FOAF (software) on Wikipedia
  • Data Portability with SIOC and FOAF, Uldis Bojārs (DERI Galway), John Breslin (DERI, National University of Ireland, Galway), Alexandre Passant (LaLIC? institute (at Université Paris Sorbonne) and Electricité de France R&D), Friday, 9 May 2008

Atom and [X]HTML + hAtom provide the streams. Different data elements that can be inserted/posted to the stream include;

Personal information

Details & bio, relationships with others (private or public)

  • "hCard is a simple, open, distributed format for representing people, companies, organizations, and places, using a 1:1 representation of vCard (RFC 2426) properties and values in semantic HTML or XHTML. hCard is one of several open microformat standards suitable for embedding in HTML, XHTML, Atom, RSS, and arbitrary XML."
  • FOAF
Privacy for some items with an OpenID?/XFN whitelist?


What we all know and love as blogging, or, LiveJournal with trackbacks, or, the feature MySpace? and Facebook suck at. RSS exists, but there seems more possibility for getting multiformat content syndication right with Atom.

"On the atom:content element, the value of the "type" attribute MAY be one of "text", "html", or "xhtml" --RFC 4287

Apr 10, 2008


Distributed Twitter. There's a microformat for this I'm sure?

There has been microformat talk of this for the last year or so, but the relationship with microblogging and XMPP seems to be getting big in 2008.

Feb 03, 2008

April 22, 2008 May 2, 2008 May 5, 2008 May 7, 2008 May 9, 2008


  • A single image
  • An image gallery
    • Open image gallery format?

Audio (podcast), video (vlog), etc

  • Base64-encoded binary?
  • External links
  • .bittorrent
See also: What is SyncStream? An Overview


For displaying social bookmarking entries/Facebook's Posted Items (the latter not really being social in itself, but a good example of what it would look like)



  • iCal, .ics

Looking at things from the view of services/mechanism's available.



  • Content
  • Crossposting
    • APP/GData/etc to other blog services/installs (for dissemination to multiple data silos)
    • Linkback (trackback, pings, referers)
    • Social bookmark site crossp]osting
    • Jabber PubSub nodes
  • Identity
  • Access and usability
    • Themes, JS
    • Plug-ins/extensions/add-ons/modules/components/gadgets
  • Extras
    • Stats


  • Posting status/blog/items/etc via web or app (via XMPP)
Existing systems

Systems with possible potential to be hacked into forming a base for such a system;

See also

"Social networks are becoming more open, more interconnected, and more distributed. Many of us in the web creation world are embracing and promoting web standards - both client-side and server-side. Microformats, standard apis, and open-source software are key building blocks of these technologies. This model can be described as having three sides/legs/arms/spokes - pick your connection: Information, Identity, and Interaction.

DiSo? (dee • zoh) is an umbrella project for a group of open source implementations of these distributed social networking concepts using the framework/platform of existing content management systems, or as Chris puts it: 'to build a social network with its skin inside out'."

"It’s useful to think of Structured Blogging as an implementation of microformats.

The plugins we offer enable the publishing of structured XHTML content, with microformats-compatible page tags and easily-parsed blocks of XML. They are also designed to transport microcontent in all types of XML feeds – e.g. RSS 2.0, Atom and RSS 1.0. The plugins also enable automatic conversion into RDF and (in future) OPML.

Currently the following types are supported: Reviews, Events, Lists, Media (audio, video, images), People and group showcases"

A system for describing (and linking?) online 'communities' (i.e., distributed Facebook groups?)


Please add your comments and/or interesting links below, thanks; --MilkMiruku

What I'd like is a personal CMS that is a) open source, (yes, LGPL) b) has it's own blogging system , both publication (yes) and aggregation (yes), and c) can used as a platform for one's online/digital identity (OpenID?? (yes) , OAuth (not yet), Microformats (hCalendar, yes, others on todo), FOAF (not yet), OPML (via plugin), APML (no) to interface both with other services that offer the facility to use that identity (sites that do data portability).

TikiWiki? CMS/Groupware has tons of features, all nicely integrated:

Ah great, thanks. I'll check that out shortly. --MilkMiruku

(C) MilkMiruku last change: June 28, 2008