Additional Forms of Interaction
In addition to the API outlined above there are several API-like URLs that can be used to retrieve data from anyMeta.
In general they should be used as a complement, not a replacement, for the API, but naturally usage will vary depending on what you are trying to achieve. As many of the URLs are provided by anyMeta modules which are common, but not universal, you need to first check whether the anyMeta site you're working with has the module installed. Of course, simply making a request to one of the URLs and looking for a 404 response is the easiest way.
//thing_id
Any Thing in an anyMeta site can be requested by using the URL pattern http://the.anymeta.site//thing_id. Like with the API, a symbolic name may also be used in place of a numeric thing_id. These URLs are not actual destinations or representations of Things but instead route the requester to URLs that do. The response will be an HTTP response with the 303 See Other status and provide a Location header specifying a URL that fulfills the requester's requirements. Requirements are given via the Accept request header. The following table outlines what sort of response Location and content can be expected given certain Accept headers.
Accept Header
Redirects To
Description
anyMeta Module
text/html;application/xhtml+xml;*/*
/page/:/person/:/search/:/forum/:/note/:id
HTML representation (depending on thing type)
Page
application/json
/thing/:/json
Full JSON dump
ThingDump
application/x-php-serialized
/thing/:/php
Full PHP-serialized dump
ThingDump
application/x-anymeta-thing+xml
/thing/:id
Full XML dump
ThingDump
application/atom+xml
/atom/:id
Atom XML of thing (atom )
Atom
application/rdf+xml
/foaf/:id
Friend-of-a-friend XML representation of user
Contact
image/* (literal! image/jpeg wont work)
/picture/:id
Redirects to image URL age
text/json+xmpp-pubsub-uri
/pubsub/:id
XMPP URI of pubsub node for subscribing to thing updates
PubSub
For instance:
$ curl -D - -A 'Accept: application/atom+xml' http://www.mediamatic.net//22661
HTTP/1.1 303 See Other
Location: http://www.mediamatic.net/atom/22661
Other URLs with thing representations
The following are also valid for all things, but cannot be requested through an Accept header on the resource_uri.
URI
Description
Response Content Type
anyMeta Module
/rdf/:id
RDF XML representation
application/rdf+xml
RDF
/atom/feed/:id
Atom feed of the thing. The thing needs to be a LISTPUBLISH or a SET.
application/atom+xml
Atom
/person/feed/:id
Atom feed of the activity stream of the person.
application/atom+xml
Notifications
/attachment/:id
For things of type 'attachment', serves the raw file as download.
depending on thing
Page
/visualize/:id
Flash visualization of the thing and its network
text/html
Visualize
/changes/:id
Change log of the history of a thing. Only visible when you have edit permissions on the thing.
text/html
Page
/browse/:id
Semantic browser, showing incoming and outgoing edges for the thing.
text/html
Browser
/dump/:id
Shows a php “var_dump” dump of the public thing record.
text/html
ThingDump
/page/:/:lang
Request the thing page in a specific language
text/html
Page
/edit/:id
Edit the thing
text/html
Edit
/edit/:/:lang
Edit a language version of the thing
text/html
Edit
anyMeta's XMPP nodes
Every anyMeta website which is connected to the Open-CI network also has XMPP connectivity. anyMeta implements XEP-60, publish/subscribe, which generates notifications to certain nodes whenever somethings happens on a website. When subscribing, you need a service and a node. The service of an anyMeta website is usually the hostname with 'www' replaced by 'pubsub': www.mediamatic.net → pubsub.mediamatic.net, etc. The nodes, and their explanations, are listed in the table below.
Node
Get a notification whenever...
Item content
anyMeta Module
(empty string)
any other pubsub node would get a notification.
varied
PubSub
/:id
this thing has been updated.
thing atom representation
PubSub
kind/:kind
a thing with given kind has been updated.
thing atom representation
PubSub
type/:type
a thing with given kind has been updated.
thing atom representation
PubSub
status
somebody sets his status
xml
Status
activity
anybody produces an activity
atom entry with activitystreams extension
Notifications
activity/:id
user :id receives an activity
atom entry with activitystreams extension
Notifications
ikcam/:id
ikcam :id makes a picture
xml: <rsp>...</rsp>
IkCam
ikcam/by_event/:id
an ikcam connected to event :id has made a picture
xml: <rsp>...</rsp>
IkCam
status/:id
user :id has updated his status
xml: <rsp>...</rsp>
Status
status/by_event/:id
a user participating in event :id has updated his status
xml: <rsp>...</rsp>
Status
vote/:id
a user has voted on question :id
xml: <rsp>...</rsp>
IkPoll
race/:id
a user has completed the alleycat race :id
xml: <rsp>...</rsp>
Alleycat
race
a user has completed an alleycat race.
xml: <rsp>...</rsp>
Alleycat
regdesk
a badge has been printed out for a user.
xml: <rsp>...</rsp>
Badge