Friend of a Friend (FOAF)
See FOAF Project for basic information about FOAF.
This could be implemented very basic (just store rdf in wiki page -- see FriendofaFriend) or really deep inside of MoinMoin.
The deep inside version could really be more fun.
Put the personal information directly into UserPreferences (or one (subpage of) WikiHomePage).
- Add a checkbox to enable FOAF rdf links
Add a place where you can add Friends (UserPreferences or even HomePage/FriendsGroup - would integrate with ACL).
Or even move some / most of UserPreferences into a wiki dict - less userfriendly (no forms), more flexible and easily extendible
This would be really user friendly instead of forcing the user to use an external FOAF editor or to write it by hand or in some additional complex specification language.
And we would get some benefits from it:
internal friends (known users of this wiki) could be added automatically to a Friends (or even FriendsOfFriends) acl group. perhaps some macro to add them to a *Group. AddFriendsOf(OliverGraf)
Where to store the FOAF data?
Perhaps UserPreferences are a central place to do so. On the other hand a wiki page would be the WikiWiki way to do it...
So !HeinBlöd/!FoafInfo could be the place to store and the URL to request the resulting rdf or a formatted page:
#format FOAF Title:: Herr Firstname:: Hein Surname:: Blöd Email:: my@email.com Homepage:: http:://hein.com/ Workpage:: http:://stupid-corp.com/ Friends:: HeinBlöd/FriendsGroup
a wikidict page would look almost the same as above, except of #format FOAF - so we could also use this, plus an action generating the xml
Nice idea! Implementation (proof of concept) was not to hard. See the FoafDict and the action generated FoaF RDF on the test server. What do we need now: A FoafTemplate for the FoafDict page which lists all possible dict keys (cause we can't support all structures of raw FoaF RDF).
Pro:
- easy to understand
- easy to edit
Contra:
- might not support complex FOAF features (are there complex FOAF features?)
FOAF subformats: foafwiki for the wiki style description above or foafrdf for raw rdf.
How to list your Friends?
On a acl *Group just below your homepage.
* SomeFriend * OtherFriend * FOAF:"Karl Napp","karl@napp.com","http://napp.com/karl.rdf"
This has the bonus that you can just use this group for acls.
Benefits
Let's collect some ideas. We can seperate out the bad ones later.
- might be used for ACL (see above)
- when you visit someones homepage, the "path" of friends could be showed (e.g. on the top)
Me >> MyFriend >> FriendOfMyFriend >> ...
The subscribing-mechanism could be extended so everybody can mark a topic he is interested in - not only if he want's to receive an email. In orkut (see OrkutVsWiki) it was funny to surf arround and look what people are interested in.
idea: move subscribed pages from UserPreferences to HomePage/SubscribedPagesGroup
- ...
Problems
FoaF needs the email to calculate the sha1sum of it (for identification). But the FoafDict page can be viewed and so email grabbers can harvest the mail address from it.
solved by same procedure as in MailTo macro
Reference
FOAF on MoniWiki (not implemented yet)