## page was renamed from FriendofaFriend = Friend of a Friend (FOAF) = See [[http://www.foaf-project.org/|FOAF Project]] for basic information about FOAF. This could be implemented very basic (just store rdf in wiki page -- see JuraWiki: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 [[http://fp2.sky.rhein-zeitung.de/wiki/OliverGraf/FoafDict|FoafDict]] and the action generated [[http://fp2.sky.rhein-zeitung.de/wiki/OliverGraf?action=foaf|FoaF RDF]] on the test server. What do we need now: A [[http://fp2.sky.rhein-zeitung.de/wiki/FoafTemplate|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 MeatBall: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 = * http://rdfweb.org/topic/FoafProject * [[http://moniwiki.sourceforge.net/wiki.php/FoafOnMoniWiki|FOAF on MoniWiki]] (not implemented yet) ---- CategoryFeatureRequest