[Rt-commit] [svn] r837 - in RTx-Atom: . lib/RTx

autrijus at pallas.eruditorum.org autrijus at pallas.eruditorum.org
Wed May 5 19:57:37 EDT 2004


Author: autrijus
Date: Wed May  5 19:57:36 2004
New Revision: 837

Modified:
   RTx-Atom/   (props changed)
   RTx-Atom/lib/RTx/Atom.pm
Log:
 ----------------------------------------------------------------------
 r4507 at not:  autrijus | 2004-05-05T23:57:27.301439Z
 
 * Document the link autodiscovery algorithm.
 ----------------------------------------------------------------------


Modified: RTx-Atom/lib/RTx/Atom.pm
==============================================================================
--- RTx-Atom/lib/RTx/Atom.pm	(original)
+++ RTx-Atom/lib/RTx/Atom.pm	Wed May  5 19:57:36 2004
@@ -48,7 +48,7 @@
     /Atom/0.3/RT-Tickets			# FeedURI
     /Atom/0.3/RT-Tickets!add			# PostURI (Container)
     /Atom/0.3/RT-Tickets/15			# EditURI (Object)
-    /Atom/0.3/RT-Tickets/15.Subject		# EditURI (Attribute)
+    /Atom/0.3/RT-Tickets/15.Subject		# EditURI (Property)
     /Atom/0.3/RT-Tickets/15!update		# PostURI (Object)
     /Atom/0.3/RT-Tickets/15!comment		# PostURI (Object)
     /Atom/0.3/RT-Tickets/15!correspond		# PostURI (Object)
@@ -237,4 +237,30 @@
     400: Request failed.  Body is the error message.
     404: The specific object is not found, or supports no such adverb.
 
+=head1 LINK AUTO-DISCOVERY
+
+Methods, object membership and properties are all discovered via the
+C<link> tag inside I<AtomFeed> and I<AtomEntry> constructs.
+
+The design goal is to facilitate lazy loading - the client need not
+to follow the link to retrieve any representations immediately; it
+can wait until the first operation is performed on that object, and
+follow the link responsible for that operation.
+
+Whenever the client receives an Atom construct, it may look at each
+C<link> tag.  The C<title> attribute determines the type of link:
+
+    Prefixed with '_': back reference, eg. C<_up>.
+    Prefixed with '!': an operation, eg. C<!add>.
+    Otherwise: A member, eg. C<Tickets>.
+
+The C<href> attribute is the target URI.  The C<rel> attribute determines
+the type of the link target:
+
+    "service.feed": a Container.
+    "service.edit": an Object or Property.
+    "service.post": an operation supported by the object that shares the same
+                    'title'.  If no such object is found, this operation
+		    applies to the object itself.
+
 =cut


More information about the Rt-commit mailing list