Loading ...
Sorry, an error occurred while loading the content.

HATEOAS - Numerous States

Expand Messages
  • Tim Williams
    I m having challenges in certain situations because of the numerous allowable state transitions. For example, if I have an phone book search application, I
    Message 1 of 14 , Jun 1, 2009
    • 0 Attachment
      I'm having challenges in certain situations because of the numerous
      allowable state transitions. For example, if I have an "phone book"
      search application, I might be able to expose the initial search like:

      http://myphonebook.com/search?q={searchTerms}

      Which might respond with a list of people. But the service doesn't
      want to return them all, so it pages them and provides links to the
      next/previous page.

      <link rel="previous" href="http://myphonebook.com/results/123?p=1"/>
      <link rel="next" href="http://myphonebook.com/results/123?p=3"/>

      But then a client comes in and says she needs some additional state
      transitions for sorting some metadata fields. So, the service exposes
      them:

      <link rel="previous" href="http://myphonebook.com/results/123?p=1"/>
      <link rel="next" href="http://myphonebook.com/results/123?p=3"/>
      <link rel="sort.lastname" href="http://myphonebook.com/results/123?s=lastname"/>
      <link rel="sort.firstname"
      href="http://myphonebook.com/results/123?s=firstname"/>
      <link rel="sort.city" href="http://myphonebook.com/results/123?s=city"/>
      <link rel="sort.county" href="http://myphonebook.com/results/123?s=county"/>

      Later, another client comes and says he needs to provide direct links
      to 10 pages of results (e.g. page 1 - 10). So, the services exposes
      those too:

      <link rel="previous" href="http://myphonebook.com/results/123?p=1"/>
      <link rel="page.1" href="http://myphonebook.com/results/123?p=1"/>
      <link rel="page.2" href="http://myphonebook.com/results/123?p=2"/>
      <link rel="page.3" href="http://myphonebook.com/results/123?p=3"/>
      <link rel="page.4" href="http://myphonebook.com/results/123?p=4"/>
      <link rel="page.5" href="http://myphonebook.com/results/123?p=5"/>
      <link rel="page.6" href="http://myphonebook.com/results/123?p=6"/>
      <link rel="page.7" href="http://myphonebook.com/results/123?p=7"/>
      <link rel="page.8" href="http://myphonebook.com/results/123?p=8"/>
      <link rel="page.9" href="http://myphonebook.com/results/123?p=9"/>
      <link rel="page.10" href="http://myphonebook.com/results/123?p=10"/>
      <link rel="sort.lastname" href="http://myphonebook.com/results/123?s=lastname"/>
      <link rel="sort.firstname"
      href="http://myphonebook.com/results/123?s=firstname"/>
      <link rel="sort.city" href="http://myphonebook.com/results/123?s=city"/>
      <link rel="sort.county" href="http://myphonebook.com/results/123?s=county"/>

      Even later... well, you get the point. So, how do folks generally
      deal with resources that happen to have many potential next states?
      At a certain point the list of links can get ridiculous, leading to
      the temptation to templatize the URL - but then that parameterization
      feels wrong. Thoughts?

      I'm also concerned about the tight-coupling of it. I mean, it seems
      that URI Templates are less than ideal because it creates a tighter
      coupling between service/client. On the other hand, it seems that
      I've basically transferred that coupling from the templated URL over
      to the "rel" attribute. Any thoughts on this?

      Thanks,
      --tim
    • Ebenezer Ikonne
      Interestingly enough I found myself thinking about something similar last week. I don t have my thoughts formalized but I find myself asking myself: how
      Message 2 of 14 , Jun 1, 2009
      • 0 Attachment
        Interestingly enough I found myself thinking about something similar last week. I don't have my thoughts formalized but I find myself asking myself: "how would I layout this out for human navigation"?

        In other words, if this was a web page (providing the same capabilities) would I really have a page with all these state transitions (links) available on it or would I model the solution completely differently? If it would be different for the human usage scenario, why isn't that applicable in the machine/API usage scenario?

        Obviously, the situations do differ but I think I would need to figure out where designing for human consumption fails to meet the needs of machine consumption and then make changes there.

        Eb

        --- In rest-discuss@yahoogroups.com, Tim Williams <williamstw@...> wrote:
        >
        > I'm having challenges in certain situations because of the numerous
        > allowable state transitions. For example, if I have an "phone book"
        > search application, I might be able to expose the initial search like:
        >
        > http://myphonebook.com/search?q={searchTerms}
        >
        > Which might respond with a list of people. But the service doesn't
        > want to return them all, so it pages them and provides links to the
        > next/previous page.
        >
        > <link rel="previous" href="http://myphonebook.com/results/123?p=1"/>
        > <link rel="next" href="http://myphonebook.com/results/123?p=3"/>
        >
        > But then a client comes in and says she needs some additional state
        > transitions for sorting some metadata fields. So, the service exposes
        > them:
        >
        > <link rel="previous" href="http://myphonebook.com/results/123?p=1"/>
        > <link rel="next" href="http://myphonebook.com/results/123?p=3"/>
        > <link rel="sort.lastname" href="http://myphonebook.com/results/123?s=lastname"/>
        > <link rel="sort.firstname"
        > href="http://myphonebook.com/results/123?s=firstname"/>
        > <link rel="sort.city" href="http://myphonebook.com/results/123?s=city"/>
        > <link rel="sort.county" href="http://myphonebook.com/results/123?s=county"/>
        >
        > Later, another client comes and says he needs to provide direct links
        > to 10 pages of results (e.g. page 1 - 10). So, the services exposes
        > those too:
        >
        > <link rel="previous" href="http://myphonebook.com/results/123?p=1"/>
        > <link rel="page.1" href="http://myphonebook.com/results/123?p=1"/>
        > <link rel="page.2" href="http://myphonebook.com/results/123?p=2"/>
        > <link rel="page.3" href="http://myphonebook.com/results/123?p=3"/>
        > <link rel="page.4" href="http://myphonebook.com/results/123?p=4"/>
        > <link rel="page.5" href="http://myphonebook.com/results/123?p=5"/>
        > <link rel="page.6" href="http://myphonebook.com/results/123?p=6"/>
        > <link rel="page.7" href="http://myphonebook.com/results/123?p=7"/>
        > <link rel="page.8" href="http://myphonebook.com/results/123?p=8"/>
        > <link rel="page.9" href="http://myphonebook.com/results/123?p=9"/>
        > <link rel="page.10" href="http://myphonebook.com/results/123?p=10"/>
        > <link rel="sort.lastname" href="http://myphonebook.com/results/123?s=lastname"/>
        > <link rel="sort.firstname"
        > href="http://myphonebook.com/results/123?s=firstname"/>
        > <link rel="sort.city" href="http://myphonebook.com/results/123?s=city"/>
        > <link rel="sort.county" href="http://myphonebook.com/results/123?s=county"/>
        >
        > Even later... well, you get the point. So, how do folks generally
        > deal with resources that happen to have many potential next states?
        > At a certain point the list of links can get ridiculous, leading to
        > the temptation to templatize the URL - but then that parameterization
        > feels wrong. Thoughts?
        >
        > I'm also concerned about the tight-coupling of it. I mean, it seems
        > that URI Templates are less than ideal because it creates a tighter
        > coupling between service/client. On the other hand, it seems that
        > I've basically transferred that coupling from the templated URL over
        > to the "rel" attribute. Any thoughts on this?
        >
        > Thanks,
        > --tim
        >
      • mike amundsen
        One possibility would be to adopt a pattern of sending a related link that points to another representation with all the additional transition links.
        Message 3 of 14 , Jun 1, 2009
        • 0 Attachment
          One possibility would be to adopt a pattern of sending a "related"
          link that points to another representation with all the additional
          transition links.

          <link rel="related" href="http://myphonebook.com/results/123?r=dhFk3gf" />

          You might commit to having a set of expected state transitions in all
          search results (paging, start new search, etc.) and then place any
          additional links in the related resource.

          Another advantage of this pattern is that you have the opportunity to
          customize the contents of the related resource based on criteria such
          as the type of search, the user doing the search, etc.

          mca
          http://amundsen.com/blog/




          On Mon, Jun 1, 2009 at 10:26, Ebenezer Ikonne <amaeze@...> wrote:
          > Interestingly enough I found myself thinking about something similar last week.  I don't have my thoughts formalized but I find myself asking myself: "how would I layout this out for human navigation"?
          >
          > In other words, if this was a web page (providing the same capabilities) would I really have a page with all these state transitions (links) available on it or would I model the solution completely differently?  If it would be different for the human usage scenario, why isn't that applicable in the machine/API usage scenario?
          >
          > Obviously, the situations do differ but I think I would need to figure out where designing for human consumption fails to meet the needs of machine consumption and then make changes there.
          >
          > Eb
          >
          > --- In rest-discuss@yahoogroups.com, Tim Williams <williamstw@...> wrote:
          >>
          >> I'm having challenges in certain situations because of the numerous
          >> allowable state transitions.  For example, if I have an "phone book"
          >> search application, I might be able to expose the initial search like:
          >>
          >> http://myphonebook.com/search?q={searchTerms}
          >>
          >> Which might respond with a list of people.  But the service doesn't
          >> want to return them all, so it pages them and provides links to the
          >> next/previous page.
          >>
          >> <link rel="previous" href="http://myphonebook.com/results/123?p=1"/>
          >> <link rel="next" href="http://myphonebook.com/results/123?p=3"/>
          >>
          >> But then a client comes in and says she needs some additional state
          >> transitions for sorting some metadata fields.  So, the service exposes
          >> them:
          >>
          >> <link rel="previous" href="http://myphonebook.com/results/123?p=1"/>
          >> <link rel="next" href="http://myphonebook.com/results/123?p=3"/>
          >> <link rel="sort.lastname" href="http://myphonebook.com/results/123?s=lastname"/>
          >> <link rel="sort.firstname"
          >> href="http://myphonebook.com/results/123?s=firstname"/>
          >> <link rel="sort.city" href="http://myphonebook.com/results/123?s=city"/>
          >> <link rel="sort.county" href="http://myphonebook.com/results/123?s=county"/>
          >>
          >> Later, another client comes and says he needs to provide direct links
          >> to 10 pages of results (e.g. page 1 - 10).  So, the services exposes
          >> those too:
          >>
          >> <link rel="previous" href="http://myphonebook.com/results/123?p=1"/>
          >> <link rel="page.1" href="http://myphonebook.com/results/123?p=1"/>
          >> <link rel="page.2" href="http://myphonebook.com/results/123?p=2"/>
          >> <link rel="page.3" href="http://myphonebook.com/results/123?p=3"/>
          >> <link rel="page.4" href="http://myphonebook.com/results/123?p=4"/>
          >> <link rel="page.5" href="http://myphonebook.com/results/123?p=5"/>
          >> <link rel="page.6" href="http://myphonebook.com/results/123?p=6"/>
          >> <link rel="page.7" href="http://myphonebook.com/results/123?p=7"/>
          >> <link rel="page.8" href="http://myphonebook.com/results/123?p=8"/>
          >> <link rel="page.9" href="http://myphonebook.com/results/123?p=9"/>
          >> <link rel="page.10" href="http://myphonebook.com/results/123?p=10"/>
          >> <link rel="sort.lastname" href="http://myphonebook.com/results/123?s=lastname"/>
          >> <link rel="sort.firstname"
          >> href="http://myphonebook.com/results/123?s=firstname"/>
          >> <link rel="sort.city" href="http://myphonebook.com/results/123?s=city"/>
          >> <link rel="sort.county" href="http://myphonebook.com/results/123?s=county"/>
          >>
          >> Even later... well, you get the point.  So, how do folks generally
          >> deal with resources that happen to have many potential next states?
          >> At a certain point the list of links can get ridiculous, leading to
          >> the temptation to templatize the URL - but then that parameterization
          >> feels wrong.  Thoughts?
          >>
          >> I'm also concerned about the tight-coupling of it.  I mean, it seems
          >> that URI Templates are less than ideal because it creates a tighter
          >> coupling between service/client.  On the other hand, it seems that
          >> I've basically transferred that coupling from the templated URL over
          >> to the "rel" attribute.  Any thoughts on this?
          >>
          >> Thanks,
          >> --tim
          >>
          >
          >
          >
          >
          > ------------------------------------
          >
          > Yahoo! Groups Links
          >
          >
          >
          >
        • Will Hartung
          ... I m new here, but I d like to dive in anyway just so I can get my thoughts in the mix. But, to me, this sounds like a good idea, the concept of an extended
          Message 4 of 14 , Jun 1, 2009
          • 0 Attachment
            On Mon, Jun 1, 2009 at 7:37 AM, mike amundsen <mamund@...> wrote:
            >
            >
            > One possibility would be to adopt a pattern of sending a "related"
            > link that points to another representation with all the additional
            > transition links.
            >
            > <link rel="related" href="http://myphonebook.com/results/123?r=dhFk3gf" />
            >
            > You might commit to having a set of expected state transitions in all
            > search results (paging, start new search, etc.) and then place any
            > additional links in the related resource.
            >
            > Another advantage of this pattern is that you have the opportunity to
            > customize the contents of the related resource based on criteria such
            > as the type of search, the user doing the search, etc.

            I'm new here, but I'd like to dive in anyway just so I can get my
            thoughts in the mix.

            But, to me, this sounds like a good idea, the concept of an extended service.

            For example, the "paging options", with 10 links for pages 1 to 10.
            Why stop at 10? Why 10 at all? Why not 5 or 20, etc. Since one of the
            points of the idiom is that the client is not supposed to generate
            these links like hand, there needs to be some mechanism for the
            service to provide those link for the client.

            Now, this can be done several ways. One, is simply that there will be
            no service that can give you the link to, say, page 73. However, there
            will be services that can let you step your way, and zero in on the
            page. You could say "here's all of the pages, in blocks of 100"
            (1-100, 101-200, 201-300...). Use on of those links and you can get
            list of pages in the 10s (201-210, 211-220), and finally, those block
            will give you the 201, 202, 203, etc. pages.

            So, there is an algorithm to walk the links without necessarily giving
            the algorithm to the client. You present it as workflow.

            My point here is that this concept can be extended to other services
            besides paging, like what was suggested here.

            As I said, I'm new here, and new to thinking in this mode, so I may be
            utterly off base. Opinions appreciated.

            Regards,

            Will Hartung
          • Devdatta
            ... Forms ? select/option etc. The mime type of html will tell you how to understand that form and how to make requests using that form.
            Message 5 of 14 , Jun 1, 2009
            • 0 Attachment
              >
              > Even later... well, you get the point. So, how do folks generally
              > deal with resources that happen to have many potential next states?
              > At a certain point the list of links can get ridiculous, leading to
              > the temptation to templatize the URL - but then that parameterization
              > feels wrong. Thoughts?
              >

              Forms ? select/option etc.
              The mime type of html will tell you how to understand that form and
              how to make requests using that form.


              > I'm also concerned about the tight-coupling of it. I mean, it seems
              > that URI Templates are less than ideal because it creates a tighter
              > coupling between service/client. On the other hand, it seems that
              > I've basically transferred that coupling from the templated URL over
              > to the "rel" attribute. Any thoughts on this?
              >
              > Thanks,
              > --tim
              >
              >
            • Ebenezer Ikonne
              ... Does anyone have strong thoughts on what to do with custom relational types? I see a mixture of URI and string literals in examples. It would seem that
              Message 6 of 14 , Jun 1, 2009
              • 0 Attachment
                --- In rest-discuss@yahoogroups.com, Tim Williams <williamstw@...> wrote:

                > <link rel="page.1" href="http://myphonebook.com/results/123?p=1"/>


                Does anyone have strong thoughts on what to do with custom relational types? I see a mixture of URI and string literals in examples. It would seem that if the relational type is not registered, URIs should be leveraged.

                Thoughts?
              • mike amundsen
                Recently, I ve been toying with clients that can scan for pre-defined rel values. I use this pattern to write bots that can be programmed by the server via
                Message 7 of 14 , Jun 1, 2009
                • 0 Attachment
                  Recently, I've been toying with clients that can scan for pre-defined
                  rel values. I use this pattern to write "bots" that can be
                  "programmed" by the server via links.

                  I've also used pre-defined rel values to give non-HTML clients hints
                  on how (and where) to display links to the user.

                  mca
                  http://amundsen.com/blog/




                  On Mon, Jun 1, 2009 at 15:44, Ebenezer Ikonne <amaeze@...> wrote:
                  > --- In rest-discuss@yahoogroups.com, Tim Williams <williamstw@...> wrote:
                  >
                  >> <link rel="page.1" href="http://myphonebook.com/results/123?p=1"/>
                  >
                  >
                  > Does anyone have strong thoughts on what to do with custom relational types?  I see a mixture of URI and string literals in examples.  It would seem that if the relational type is not registered, URIs should be leveraged.
                  >
                  > Thoughts?
                  >
                  >
                  >
                  > ------------------------------------
                  >
                  > Yahoo! Groups Links
                  >
                  >
                  >
                  >
                • Ebenezer Ikonne
                  What s been the format of these rel values? rel = myValue or rel = http://www.domain.com/rel/myValue
                  Message 8 of 14 , Jun 1, 2009
                  • 0 Attachment
                    What's been the format of these rel values?

                    rel = "myValue" or
                    rel = "http://www.domain.com/rel/myValue"

                    On Mon, Jun 1, 2009 at 3:52 PM, mike amundsen <mamund@...> wrote:


                    Recently, I've been toying with clients that can scan for pre-defined
                    rel values. I use this pattern to write "bots" that can be
                    "programmed" by the server via links.

                    I've also used pre-defined rel values to give non-HTML clients hints
                    on how (and where) to display links to the user.

                    On Mon, Jun 1, 2009 at 15:44, Ebenezer Ikonne <amaeze@...> wrote:
                    > --- In rest-discuss@yahoogroups.com, Tim Williams <williamstw@...> wrote:
                    >
                    >> <link rel="page.1" href="http://myphonebook.com/results/123?p=1"/>
                    >
                    >
                    > Does anyone have strong thoughts on what to do with custom relational types?  I see a mixture of URI and string literals in examples.  It would seem that if the relational type is not registered, URIs should be leveraged.
                    >
                    > Thoughts?
                    >
                    >
                    >
                    > ------------------------------------
                    >
                    > Yahoo! Groups Links
                    >
                    >
                    >
                    >

                  • mike amundsen
                    Right now I m using my own tokens ( delete , refresh , clear , list , etc.) right now as this was easier to start and is only used in some local utility
                    Message 9 of 14 , Jun 1, 2009
                    • 0 Attachment
                      Right now I'm using my own tokens ("delete", "refresh", "clear",
                      "list", etc.) right now as this was easier to start and is only used
                      in some local utility apps. I'm also not considering clashes w/
                      existing names (i.e. changing semantics).

                      mca
                      http://amundsen.com/blog/




                      On Mon, Jun 1, 2009 at 16:06, Ebenezer Ikonne <amaeze@...> wrote:
                      >
                      >
                      > What's been the format of these rel values?
                      >
                      > rel = "myValue" or
                      > rel = "http://www.domain.com/rel/myValue"
                      >
                      > On Mon, Jun 1, 2009 at 3:52 PM, mike amundsen <mamund@...> wrote:
                      >>
                      >>
                      >> Recently, I've been toying with clients that can scan for pre-defined
                      >> rel values. I use this pattern to write "bots" that can be
                      >> "programmed" by the server via links.
                      >>
                      >> I've also used pre-defined rel values to give non-HTML clients hints
                      >> on how (and where) to display links to the user.
                      >>
                      >> mca
                      >> http://amundsen.com/blog/
                      >>
                      >> On Mon, Jun 1, 2009 at 15:44, Ebenezer Ikonne <amaeze@...> wrote:
                      >> > --- In rest-discuss@yahoogroups.com, Tim Williams <williamstw@...>
                      >> > wrote:
                      >> >
                      >> >> <link rel="page.1" href="http://myphonebook.com/results/123?p=1"/>
                      >> >
                      >> >
                      >> > Does anyone have strong thoughts on what to do with custom relational
                      >> > types?  I see a mixture of URI and string literals in examples.  It would
                      >> > seem that if the relational type is not registered, URIs should be
                      >> > leveraged.
                      >> >
                      >> > Thoughts?
                      >> >
                      >> >
                      >> >
                      >> > ------------------------------------
                      >> >
                      >> > Yahoo! Groups Links
                      >> >
                      >> >
                      >> >
                      >> >
                      >
                      >
                      >
                      >
                    • Subbu Allamaraju
                      URIs are safer. ... http://subbu.org
                      Message 10 of 14 , Jun 1, 2009
                      • 0 Attachment
                        URIs are safer.

                        On Jun 1, 2009, at 1:06 PM, Ebenezer Ikonne wrote:

                        > What's been the format of these rel values?
                        >
                        > rel = "myValue" or
                        > rel = "http://www.domain.com/rel/myValue"
                        >
                        > On Mon, Jun 1, 2009 at 3:52 PM, mike amundsen <mamund@...>
                        > wrote:
                        >
                        >>
                        >>
                        >> Recently, I've been toying with clients that can scan for pre-defined
                        >> rel values. I use this pattern to write "bots" that can be
                        >> "programmed" by the server via links.
                        >>
                        >> I've also used pre-defined rel values to give non-HTML clients hints
                        >> on how (and where) to display links to the user.
                        >>
                        >>
                        >> mca
                        >> http://amundsen.com/blog/
                        >>
                        >> On Mon, Jun 1, 2009 at 15:44, Ebenezer Ikonne
                        >> <amaeze@...<amaeze%40gmail.com>>
                        >> wrote:
                        >>> --- In rest-discuss@yahoogroups.com <rest-discuss
                        >>> %40yahoogroups.com>,
                        >> Tim Williams <williamstw@...> wrote:
                        >>>
                        >>>> <link rel="page.1" href="http://myphonebook.com/results/123?p=1"/>
                        >>>
                        >>>
                        >>> Does anyone have strong thoughts on what to do with custom
                        >>> relational
                        >> types? I see a mixture of URI and string literals in examples. It
                        >> would
                        >> seem that if the relational type is not registered, URIs should be
                        >> leveraged.
                        >>>
                        >>> Thoughts?
                        >>>
                        >>>
                        >>>
                        >>> ------------------------------------
                        >>>
                        >>> Yahoo! Groups Links
                        >>>
                        >>>
                        >>>
                        >>>
                        >>
                        >>

                        ---
                        http://subbu.org
                      • Ebenezer Ikonne
                        Safer? Can you share why?
                        Message 11 of 14 , Jun 1, 2009
                        • 0 Attachment
                          Safer?  Can you share why?

                          On Mon, Jun 1, 2009 at 4:56 PM, Subbu Allamaraju <subbu@...> wrote:
                          URIs are safer.


                          On Jun 1, 2009, at 1:06 PM, Ebenezer Ikonne wrote:

                          What's been the format of these rel values?

                          rel = "myValue" or
                          rel = "http://www.domain.com/rel/myValue"

                          On Mon, Jun 1, 2009 at 3:52 PM, mike amundsen <mamund@...> wrote:



                          Recently, I've been toying with clients that can scan for pre-defined
                          rel values. I use this pattern to write "bots" that can be
                          "programmed" by the server via links.

                          I've also used pre-defined rel values to give non-HTML clients hints
                          on how (and where) to display links to the user.


                          mca
                          http://amundsen.com/blog/

                          On Mon, Jun 1, 2009 at 15:44, Ebenezer Ikonne <amaeze@...<amaeze%40gmail.com>>
                          wrote:
                          --- In rest-discuss@yahoogroups.com <rest-discuss%40yahoogroups.com>,
                          Tim Williams <williamstw@...> wrote:

                          <link rel="page.1" href="http://myphonebook.com/results/123?p=1"/>


                          Does anyone have strong thoughts on what to do with custom relational
                          types?  I see a mixture of URI and string literals in examples.  It would
                          seem that if the relational type is not registered, URIs should be
                          leveraged.

                          Thoughts?



                          ------------------------------------

                          Yahoo! Groups Links







                          ---
                          http://subbu.org


                        • Subbu Allamaraju
                          I mean, to avoid naming conflicts.
                          Message 12 of 14 , Jun 1, 2009
                          • 0 Attachment
                            I mean, to avoid naming conflicts.

                            On Mon, Jun 1, 2009 at 2:32 PM, Ebenezer Ikonne <amaeze@...> wrote:
                            Safer?  Can you share why?


                            On Mon, Jun 1, 2009 at 4:56 PM, Subbu Allamaraju <subbu@...> wrote:
                            URIs are safer.


                            On Jun 1, 2009, at 1:06 PM, Ebenezer Ikonne wrote:

                            What's been the format of these rel values?

                            rel = "myValue" or
                            rel = "http://www.domain.com/rel/myValue"

                            On Mon, Jun 1, 2009 at 3:52 PM, mike amundsen <mamund@...> wrote:



                            Recently, I've been toying with clients that can scan for pre-defined
                            rel values. I use this pattern to write "bots" that can be
                            "programmed" by the server via links.

                            I've also used pre-defined rel values to give non-HTML clients hints
                            on how (and where) to display links to the user.


                            mca
                            http://amundsen.com/blog/

                            On Mon, Jun 1, 2009 at 15:44, Ebenezer Ikonne <amaeze@...<amaeze%40gmail.com>>
                            wrote:
                            --- In rest-discuss@yahoogroups.com <rest-discuss%40yahoogroups.com>,
                            Tim Williams <williamstw@...> wrote:

                            <link rel="page.1" href="http://myphonebook.com/results/123?p=1"/>


                            Does anyone have strong thoughts on what to do with custom relational
                            types?  I see a mixture of URI and string literals in examples.  It would
                            seem that if the relational type is not registered, URIs should be
                            leveraged.

                            Thoughts?



                            ------------------------------------

                            Yahoo! Groups Links







                            ---
                            http://subbu.org



                          • Sebastien Lambla
                            They are safer from a clashing perspective. More importantly, that s where most proposals are going because the existing use of relationships in HTML and XHTML
                            Message 13 of 14 , Jun 2, 2009
                            • 0 Attachment
                              They are safer from a clashing perspective. More importantly, that's where most proposals are going because the existing use of relationships in HTML and XHTML family of languages had a restriction of using profile= which no one uses.
                               
                              And then you have the whole CURIEs in RDFa for relationships proposal, which is quite a mess at the moment, but still is URIs in RELs.
                               
                              It's just a safer bet from a web arch point of view.
                               
                              Seb 

                              To: subbu@...
                              CC: rest-discuss@yahoogroups.com
                              From: amaeze@...
                              Date: Mon, 1 Jun 2009 17:32:37 -0400
                              Subject: Re: [rest-discuss] Re: HATEOAS - Numerous States



                              Safer?  Can you share why?

                              On Mon, Jun 1, 2009 at 4:56 PM, Subbu Allamaraju <subbu@...> wrote:
                              URIs are safer.


                              On Jun 1, 2009, at 1:06 PM, Ebenezer Ikonne wrote:

                              What's been the format of these rel values?

                              rel = "myValue" or
                              rel = "http://www.domain.com/rel/myValue"

                              On Mon, Jun 1, 2009 at 3:52 PM, mike amundsen <mamund@...> wrote:



                              Recently, I've been toying with clients that can scan for pre-defined
                              rel values. I use this pattern to write "bots" that can be
                              "programmed" by the server via links.

                              I've also used pre-defined rel values to give non-HTML clients hints
                              on how (and where) to display links to the user.


                              mca
                              http://amundsen.com/blog/

                              On Mon, Jun 1, 2009 at 15:44, Ebenezer Ikonne <amaeze@...<amaeze%40gmail.com>>
                              wrote:
                              --- In rest-discuss@yahoogroups.com <rest-discuss%40yahoogroups.com>,
                              Tim Williams <williamstw@...> wrote:

                              <link rel="page.1" href="http://myphonebook.com/results/123?p=1"/>


                              Does anyone have strong thoughts on what to do with custom relational
                              types?  I see a mixture of URI and string literals in examples.  It would
                              seem that if the relational type is not registered, URIs should be
                              leveraged.

                              Thoughts?



                              ------------------------------------

                              Yahoo! Groups Links







                              ---
                              http://subbu.org






                              View your Twitter and Flickr updates from one place – Learn more!
                            • Tim Williams
                              ... So, one thing I left out was that the results are already in defined format - namely, a custom extension of OpenSearch, which is an extension to Atom. I
                              Message 14 of 14 , Jun 4, 2009
                              • 0 Attachment
                                On Mon, Jun 1, 2009 at 3:22 PM, Devdatta <dev.akhawe@...> wrote:
                                >>
                                >> Even later... well, you get the point. So, how do folks generally
                                >> deal with resources that happen to have many potential next states?
                                >> At a certain point the list of links can get ridiculous, leading to
                                >> the temptation to templatize the URL - but then that parameterization
                                >> feels wrong. Thoughts?
                                >>
                                >
                                > Forms ? select/option etc.
                                > The mime type of html will tell you how to understand that form and
                                > how to make requests using that form.

                                So, one thing I left out was that the results are already in defined
                                format - namely, a custom extension of OpenSearch, which is an
                                extension to Atom. I suppose I could plug the form constructs in but
                                I'm not sure the best way to convey that these are the forms they know
                                and love through the content type alone. The "link" element was
                                already supported in the the root content type (atom). I suppose
                                there's no magic here, I just have to create a schema for it and
                                clients need to learn it.

                                --tim
                              Your message has been successfully submitted and would be delivered to recipients shortly.