[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