<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <br>
    <div class="moz-cite-prefix">On 06/08/2015 16:21, Harshal Patil
      wrote:<br>
    </div>
    <blockquote
      cite="mid:201508061921.t76JLVnu020753@d28av01.in.ibm.com"
      type="cite">
      <div class="socmaildefaultfont" dir="ltr"
        style="font-family:Arial;font-size:10.5pt">
        <div dir="ltr">Typical use case... I write a fancy bindings for
          wok RESTful APIs say, in Haskell (because yeah! ;-) ). For the
          given endpoint (let's say /abc) there is a JSON response you
          get for the GET method. Everything is working fine until wok
          developers figure out that with the changing needs may be the
          JSON sent as a response by /abc GET might need to change. At
          this point if our RESTful API supports versioning poor Haskell
          loving engineers can still be sure that their bindings will
          work properly while giving the flexibility to wok developers
          to change the product with changing requirements. </div>
        <div dir="ltr"> </div>
        <div dir="ltr"> </div>
      </div>
    </blockquote>
    <br>
    With version or not, if users want to update to the newer Kimchi/wok
    version they will need to update their application to use the new
    API otherwise they will keep back on old version.<br>
    <br>
    All that because we don't  (and will not!) maintain old versions -
    as I said before.<br>
    <br>
    I understand the scenario but it only makes sense while taking track
    on different versions simultaneously - which is not our case.<br>
    If you need to do that for other matters, you suggest to maintain
    one branch per version and keep tracking on which patch to apply on
    each branch.<br>
    <br>
    <br>
    <blockquote
      cite="mid:201508061921.t76JLVnu020753@d28av01.in.ibm.com"
      type="cite">
      <div class="socmaildefaultfont" dir="ltr"
        style="font-family:Arial;font-size:10.5pt">
        <div dir="ltr"> </div>
        <blockquote data-history-content-modified="1" dir="ltr"
          style="border-left:solid #aaaaaa 2px; margin-left:5px;
          padding-left:5px; direction:ltr">----- Original message -----<br>
          From: Aline Manera <a class="moz-txt-link-rfc2396E" href="mailto:alinefm@linux.vnet.ibm.com">&lt;alinefm@linux.vnet.ibm.com&gt;</a><br>
          Sent by: <a class="moz-txt-link-abbreviated" href="mailto:kimchi-devel-bounces@ovirt.org">kimchi-devel-bounces@ovirt.org</a><br>
          To: Chandra Shehkhar Reddy Potula
          <a class="moz-txt-link-rfc2396E" href="mailto:chandra@linux.vnet.ibm.com">&lt;chandra@linux.vnet.ibm.com&gt;</a>, <a class="moz-txt-link-abbreviated" href="mailto:kimchi-devel@ovirt.org">kimchi-devel@ovirt.org</a><br>
          Cc:<br>
          Subject: Re: [Kimchi-devel] [Proposal] Introducing the version
          in REST API URI for kimchi/ginger plugins<br>
          Date: Fri, Aug 7, 2015 12:03 AM<br>
           <br>
          <!--Notes ACF
<meta content="text/html; charset=utf8"
      http-equiv="Content-Type" >--><br>
           
          <div>On 06/08/2015 07:41, Chandra Shehkhar Reddy Potula wrote:</div>
          <blockquote cite="mid:55C339D4.2070502@linux.vnet.ibm.com"
            type="cite"><!--Notes ACF
<meta content="text/html; charset=utf8"
        http-equiv="Content-Type" >-->Hi Aline,<br>
            <br>
            No need to mention explicitly, but this is very useful in
            case where end users are exploiting functionality via REST
            API directly and not UI way.</blockquote>
          <br>
          I suppose end users know which version he/she is using, right?
          =)<br>
           
          <blockquote cite="mid:55C339D4.2070502@linux.vnet.ibm.com"
            type="cite"><br>
            Regards<br>
            Chandra<br>
             
            <div>On 08/06/2015 01:52 PM, Chandra Shehkhar Reddy Potula
              wrote:</div>
            <blockquote cite="mid:55C3194D.3040208@linux.vnet.ibm.com"
              type="cite"><!--Notes ACF
<meta content="text/html; charset=utf8"
          http-equiv="Content-Type" >-->Hi Aline,<br>
              <br>
              Versioning helps you iterate faster and prevents invalid
              requests from hitting updated endpoints. It also helps
              smooth transitions over any major API version as you can
              continue to offer old API versions for a period of time.
              Definitely supporting the old version of API period of
              time while offering new functionality with newer version
              always give benefits and extra time for end user to adjust
              to new one.<br>
              <br>
              I see lot of products in the market are adapting
              versioning (see below link)<br>
              <a
href="http://www.lexicalscope.com/blog/2012/03/12/how-are-rest-apis-versioned/"
                moz-do-not-send="true" target="_blank">http://www.lexicalscope.com/blog/2012/03/12/how-are-rest-apis-versioned/</a><br>
              <br>
              I do understand the concern of maintaining the version of
              the API endpoints , below are some of the links from
              Openstack, which talks about it.<br>
              <a href="http://developer.openstack.org/api-ref.html"
                moz-do-not-send="true" target="_blank">http://developer.openstack.org/api-ref.html</a><br>
              <a href="https://wiki.openstack.org/wiki/VersionDiscovery"
                moz-do-not-send="true" target="_blank">https://wiki.openstack.org/wiki/VersionDiscovery</a><br>
              <br>
              Hope it make senses to you.<br>
              <br>
              Regards<br>
              Chandra<br>
               
              <div>On 08/06/2015 12:04 AM, Aline Manera wrote:</div>
              <blockquote cite="mid:55C25745.1000903@linux.vnet.ibm.com"
                type="cite"><!--Notes ACF
<meta content="text/html; charset=utf8"
            http-equiv="Content-Type" >--><br>
                Hi Chandra,<br>
                <br>
                I don't see any benefit in adding the version in the
                URL. Instead of that, it scares me on how we will
                maintain it.<br>
                <br>
                Once we move to wok and Kimchi as plugin, all the APIs
                will be automatically updated so everything will be in
                the same page.<br>
                <br>
                Regards,<br>
                Aline Manera<br>
                 
                <div>On 17/07/2015 09:47, Chandra Sr Potula wrote:</div>
                <blockquote
cite="mid:OF5F31939B.F65133B3-ON65257E85.0044037D-65257E85.0046405F@in.ibm.com"
                  type="cite">
                  <p><font size="2" face="DejaVu Serif">Hi Kimchi/Ginger
                      Devel-Team,</font><br>
                    <br>
                    <font size="2" face="DejaVu Serif">Thank you for
                      creating WOK branch to separate the kimchi plugin
                      from the base frame work. It is a great idea.</font><br>
                    <br>
                    <font size="2" face="DejaVu Serif">Along with the
                      separation of kimchi plugin looks like there is a
                      transformation of REST API URIs as well. So
                      thinking in those lines will it be good idea even
                      to introduce version to the REST API URIs ?</font><br>
                    <br>
                    <font size="2" face="DejaVu Serif">Let me take one
                      REST API URI to convey clear on what I am talking
                      about.</font><br>
                    <br>
                    <font size="2" face="DejaVu Serif">To retrieve the
                      host repository information, current URI is:
                       "/plugins/kimchi/host/repositories".</font><br>
                    <br>
                    <font size="2" face="DejaVu Serif"><b>Recommendation</b></font><font
                      size="2" face="DejaVu Serif">:</font><br>
                    <font size="2" face="DejaVu Serif">New host
                      repository URI can look like : </font><font
                      size="2" face="DejaVu Serif"><b>"</b></font><font
                      size="2" face="DejaVu Serif"><b>/plugins/kimchi/v&lt;version&gt;/host/repositories"
                        , </b></font><font size="2" face="DejaVu Serif">so
                      that it is easy to maintain REST API future
                      enhancements at the same time do not brake some
                      body who is using the existing URI.</font><br>
                    <br>
                    <font size="2" face="DejaVu Serif">Note* Adding
                      version in the  URI above is just an example and
                      we could place the version in the URI best
                      possible way.</font></p>
                  <p><font size="2" face="DejaVu Serif">Thanks and
                      Regards,</font><br>
                    <font size="3" color="#888888" face="Georgia"><b>Chandra
                        Shekhar Reddy Potula</b></font><br>
                    <font size="1" color="#00CCFF" face="Georgia">Staff
                      System Software Engineer<br>
                      IBM Systems &amp; Technology Group, Systems
                      Software Development<br>
                      System z Firmware Development</font><font size="3"
                      face="serif"> </font></p>
                  <table border="0" cellpadding="0" cellspacing="0">
                    <tbody>
                      <tr valign="top">
                        <td colspan="2" valign="middle" width="650">
                          <hr align="left" size="2" width="100%"></td>
                      </tr>
                      <tr valign="top">
                        <td width="401"><font size="1" color="#466BB0"
                            face="Georgia"><b>Phone:</b></font><font
                            size="1" color="#5F5F5F" face="Georgia"> 91-080-4066-0786</font><font
                            size="1" color="#466BB0" face="Georgia"> | </font><font
                            size="1" color="#466BB0" face="Georgia"><b>Mobile:</b></font><font
                            size="1" color="#5F5F5F" face="Georgia"> 91-973-1122-221</font><br>
                          <font size="1" color="#466BB0" face="Georgia"><b>E-mail:</b></font><font
                            size="1" color="#5F5F5F" face="Georgia"> </font><a
                            href="mailto:chandra.shekhar@in.ibm.com"
                            moz-do-not-send="true" target="_blank"><font
                              size="1" color="#5F5F5F" face="Georgia"><u>chandra.shekhar@in.ibm.com</u></font></a></td>
                        <td width="249">
                          <div align="right"><img alt="IBM"
                              src="cid:part5.05010002.01090509@linux.vnet.ibm.com"
                              height="30" width="83"><br>
                            <br>
                            <font size="1" color="#5F5F5F"
                              face="Georgia">ORR, Manyatha MD3 1F B247<br>
                              Bengaluru, Karnataka 560045<br>
                              India</font></div>
                        </td>
                      </tr>
                    </tbody>
                  </table>
                  <font size="3" face="serif"> </font>
                  <p> </p>
                  <fieldset> </fieldset>
                   
                  <div><font size="2" face="Default Monospace,Courier
                      New,Courier,monospace">_______________________________________________<br>
                      Kimchi-devel mailing list<br>
                      <a href="mailto:Kimchi-devel@ovirt.org"
                        moz-do-not-send="true" target="_blank">Kimchi-devel@ovirt.org</a><br>
                      <a
                        href="http://lists.ovirt.org/mailman/listinfo/kimchi-devel"
                        moz-do-not-send="true" target="_blank">http://lists.ovirt.org/mailman/listinfo/kimchi-devel</a></font></div>
                </blockquote>
                 
                <fieldset> </fieldset>
                 
                <div><font size="2" face="Default Monospace,Courier
                    New,Courier,monospace">_______________________________________________<br>
                    Kimchi-devel mailing list<br>
                    <a href="mailto:Kimchi-devel@ovirt.org"
                      moz-do-not-send="true" target="_blank">Kimchi-devel@ovirt.org</a><br>
                    <a
                      href="http://lists.ovirt.org/mailman/listinfo/kimchi-devel"
                      moz-do-not-send="true" target="_blank">http://lists.ovirt.org/mailman/listinfo/kimchi-devel</a></font></div>
              </blockquote>
               
              <fieldset> </fieldset>
               
              <div><font size="2" face="Default Monospace,Courier
                  New,Courier,monospace">_______________________________________________<br>
                  Kimchi-devel mailing list<br>
                  <a href="mailto:Kimchi-devel@ovirt.org"
                    moz-do-not-send="true" target="_blank">Kimchi-devel@ovirt.org</a><br>
                  <a
                    href="http://lists.ovirt.org/mailman/listinfo/kimchi-devel"
                    moz-do-not-send="true" target="_blank">http://lists.ovirt.org/mailman/listinfo/kimchi-devel</a></font></div>
            </blockquote>
          </blockquote>
           
          <div><font size="2" face="Default Monospace,Courier
              New,Courier,monospace">_______________________________________________<br>
              Kimchi-devel mailing list<br>
              <a class="moz-txt-link-abbreviated" href="mailto:Kimchi-devel@ovirt.org">Kimchi-devel@ovirt.org</a><br>
              <a moz-do-not-send="true"
                href="http://lists.ovirt.org/mailman/listinfo/kimchi-devel"
                target="_blank">http://lists.ovirt.org/mailman/listinfo/kimchi-devel</a></font></div>
        </blockquote>
        <div dir="ltr"> </div>
      </div>
      <br>
    </blockquote>
    <br>
  </body>
</html>