<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Ahoj,<br>
    <br>
    zkousel jsem to delat jak s Rails tak s grape a ani jedno
    nesplnovalo pozadavky. Na ohybani to bylo moc daleko.<br>
    <br>
    Testy zatim nejsou ve frameworku samotnem, ale nase API testovane
    je, viz
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <a href="https://github.com/vpsfreecz/vpsadminapi">https://github.com/vpsfreecz/vpsadminapi</a>.<br>
    <br>
    Jakub<br>
    <br>
    <div class="moz-cite-prefix">On 05/22/2014 09:48 AM, René Klačan
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAD8Jy_Mm5QqfAvR+gq4b5XYoD08dZgWXFkYE1rbe9NpLq19Fhw@mail.gmail.com"
      type="cite">
      <div dir="ltr">Ahojte,
        <div><br>
        </div>
        <div>nebolo jednoduchsie a casovo uspornejsie pouzit uz nejaky
          existujuci API framework? Z mojho pohladu by to mohlo usetrit
          vela casu. Napriklad <a moz-do-not-send="true"
            href="https://github.com/intridea/grape">https://github.com/intridea/grape</a>
          . Ci si myslite, ze poziadavky su natolko specificke, ze by to
          podobna kniznica efektivne nepokryla a bolo by ju nutne az
          nezmyselne ohybat?</div>
        <div><br>
        </div>
        <div>Ale inak skvela praca, velmi pekne napisane a tiez velmi
          ocenujem, ze to je v Ruby! Len by som vytkol to, ze tam
          nevidim testy.</div>
        <div><br>
        </div>
        <div>Rene</div>
      </div>
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">2014-05-21 22:10 GMT+02:00 Pavel Snajdr
          <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:snajpa@snajpa.net" target="_blank">snajpa@snajpa.net</a>></span>:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            -----BEGIN PGP SIGNED MESSAGE-----<br>
            Hash: SHA256<br>
            <br>
            Ahoj,<br>
            <br>
            posilat porad username+password a nemit rozliseni mezi API
            pristupem a<br>
            UI pristupem je smrt, natoz to chtit nejak potom auditovat,
            totalne<br>
            nemozne - takze to je jedna z veci, co se bude resit dal,
            vime o tom.<br>
            <br>
            Neco na ten, jak rikas, je urcite v planu, ono to jenom
            nejde delat<br>
            jako revoluci "vsechno najednou", jelikoz prerodit vpsAdmin
            za behu v<br>
            neco min srackoidniho (zdravim sam sebe o 5 let v minulosti)
            to neni<br>
            task na par tydnu a obzvlast kdyz se to clovek rozhodne
            udelat poradne<br>
            a jeste to chce udelat recyklovatelne.<br>
            <br>
            Proto jsme vymysleli jak co nejvic ty prace ohledne API a
            tak<br>
            automatizovat uz samotnym napsanim toho kodu urcitym stylem,
            aby se<br>
            napsal jenom jednou a nebylo potreba udrzovat <a
              moz-do-not-send="true" href="tel:228342934"
              value="+420228342934">228342934</a> veci okolo<br>
            jako napr. dokumentace a kvadrilion ruznych klientu pro
            triliardu<br>
            platform :))<br>
            <br>
            Aither prerodil tenhle muj napad v HaveAPI, coz vypada jako
            uplne<br>
            super vec, na kterou jsem celou dobu cekal.<br>
            Uz nejakou chvili se zabyvam s ruznymi lidmi automatizaci
            ruznych<br>
            low-level procesu (mluvim o low-level vecech z pohledu
            provozovatele<br>
            byznysu online, tzn. nastaveni OS, runtime jazyka, DB...) a
            presne<br>
            nejaka takovahle moznost jak vybavit uzavrene komplexni
            prostredi<br>
            jasne popsanym strukturovanym rozhrani na praci s nim, to mi
            presne<br>
            chybelo.<br>
            <br>
            Proto bych chtel, jestli mate kdo ted cas, fakt na to
            mrknete, jestli<br>
            jste meli potrebu kdy tvorit nejaky APIcka pro neco, tohle
            je uplne o<br>
            necem jinym, je to holt vyzdimana koncentrovana bolest pri
            psani API<br>
            pretavena v lek :))<br>
            <br>
            No a celej duvod, proc jsem se s Aitherem dohodnul, ze to
            announcne uz<br>
            ted, kdyz se uci na statnice, je aby byl prostor na
            feedback.<br>
            <br>
            Takze kdo jste kdy delal HTTP API pro neco, kouknete na to a
            dejte<br>
            vedet. Dik!<br>
            <br>
            S pozdravem<br>
            <br>
            Pavel Snajdr<br>
            <br>
            <a moz-do-not-send="true"
              href="tel:%2B421%20948%20816%20186" value="+421948816186">+421
              948 816 186</a>  | <a moz-do-not-send="true"
              href="tel:%2B420%20720%20107%20791" value="+420720107791">+420
              720 107 791</a>          | 110-010-956<br>
            CTO of Relbit     | Predseda vpsFree.cz, o.s. | RHCE<br>
            <a moz-do-not-send="true" href="http://relbit.com"
              target="_blank">http://relbit.com</a> | <a
              moz-do-not-send="true" href="http://vpsfree.cz"
              target="_blank">http://vpsfree.cz</a>         | <a
              moz-do-not-send="true" href="https://www.redhat.com"
              target="_blank">https://www.redhat.com</a><br>
            <div class=""><br>
              On 05/21/2014 08:20 PM, Ján Raska wrote:<br>
              > Ahoj,<br>
              ><br>
              > super napad. Akurat mam malu vyhradu voci
              autentifikacii, moderne<br>
              > RESTful APIs sa dnes vacsinou robia stateless s
              pouzitim tokenu,<br>
              > ktory sa zasiela vramci Authentication headeru. S tym
              ze okrem<br>
              > temporary tokenu je aj moznost zisat long-term token
              (bez<br>
              > expiracie), alebo este lepsie short-term token spolu
              s refresh<br>
              > tokenom (refresh token bezpecne ulozim, komunikujem
              so short term<br>
              > tokenom a ked vyprsi, tak pomocou refresh tokenu
              urobim reissue). V<br>
              > podstate na podobnom principe pracuje OAuth 2.0, ale
              na nieco<br>
              > taketo je z mojich skusenosti jednoduchsie nakodit
              nieco vlastne<br>
              > nez implementovat cely OAuth (pokial samozrejme
              nepouzijem hotovu<br>
              > libku :) ).<br>
              ><br>
              > Vyhoda takehoto API je, ze sa potom k tomu daju
              napisat mobilne<br>
              > appky, do ktorych sa prihlasis raz a oni si token
              ulozia do device<br>
              > DB.<br>
              ><br>
              > Jano<br>
              ><br>
              > On 20 May 2014, at 19:01, Jakub Skokan <<a
                moz-do-not-send="true"
                href="mailto:jakub.skokan@havefun.cz">jakub.skokan@havefun.cz</a><br>
            </div>
            <div>
              <div class="h5">> <mailto:<a moz-do-not-send="true"
                  href="mailto:jakub.skokan@havefun.cz">jakub.skokan@havefun.cz</a>>>
                wrote:<br>
                ><br>
                >> Zdravím,<br>
                >><br>
                >> na adrese <a moz-do-not-send="true"
                  href="https://api.vpsfree.cz" target="_blank">https://api.vpsfree.cz</a>
                je k dispozici vývojová verze<br>
                >> vpsAdmin API. Je to ve stavu, kdy to funguje,
                ale není to<br>
                >> doladěné a nemá to všechny funkce.<br>
                >><br>
                >> Při vývoji vzniknul framework HaveAPI [1],
                který naše API<br>
                >> využívá. Jedná se o framework na tvorbu
                sebepopisujících se<br>
                >> RESTful API.<br>
                >><br>
                >> Sebepopisující se API odpovídá na HTTP metodu
                OPTIONS a vrací<br>
                >> JSON obsahující seznam dostupných verzí API,
                objektů, akcí,<br>
                >> jejich vstupních/výstupních parametrů, popis,
                validaci, ukázku<br>
                >> použítí, apod. Díky této vlastnosti lze
                vytvořit klienta, který<br>
                >> dokáže komunikovat s jakýmkoli API, které je
                postavené nad<br>
                >> HaveAPI. Změny v API se okamžitě projeví ve
                všech klientech,<br>
                >> atd.<br>
                >><br>
                >> Dokumentace API: - Automaticky generovaná
                frameworkem na<br>
                >> <a moz-do-not-send="true"
                  href="https://api.vpsfree.cz" target="_blank">https://api.vpsfree.cz</a><br>
                >><br>
                >> Co to zatím umí: - Vytvoření a smazání
                playground VPS, - seznam<br>
                >> vlastních VPS, start, stop, restart, změna
                hesla, přeinstalace, -<br>
                >> výpis konfigurace VPS, - seznam IP adres VPS, -
                seznam dostupných<br>
                >> dstribucí (nutné k vytvoření VPS).<br>
                >><br>
                >> Připravení klienti: - CLI a klient v Ruby
                (>= 2.0) [2], který<br>
                >> také existuje v obecné formě (pro jakékoliv
                API, rozdíl je pouze<br>
                >> ve jménu a výchozí URL) [3], - PHP klient [4] a
                jeho obecná forma<br>
                >> [5].<br>
                >><br>
                >> Návody na instalaci a použití jednotlivých
                klientů jsou na<br>
                >> přiložených odkazech.<br>
                >><br>
                >> Aktivita je vítána. Hodilo by se, kdyby se
                našlo pár lidí, co by<br>
                >> udělali klienta ve svém oblíbeném jazyce.
                Nejvíc by se nám hodil<br>
                >> alespoň proof-of-concept v JS, abychom si
                ověřili, že je možné<br>
                >> udělat UI kompletně v HTML5 & JS, já už na
                to aktuálně nemám<br>
                >> čas.<br>
                >><br>
                >> Pokud nenarazíme na nějaké větší problémy,
                aplikační logika<br>
                >> vpsAdminu se bude postupně přesouvat z webového
                rozhraní do<br>
                >> tohoto API. Současně se z vpsAdminu pomalu bude
                stávat nezávislý<br>
                >> projekt na vpsFree.cz, aby jeho použití nebylo
                limitováno naším<br>
                >> sdružením a šel nasadit i jinde.<br>
                >><br>
                >> Do budoucna se počítá s tím, že přes API půjde
                hýbat s parametry<br>
                >> VPS a člen si bude moci rozdělit přidělené
                prostředky mezi více<br>
                >> VPS jak se mu zlíbí (v rozumných mantinelech).<br>
                >><br>
                >> Rozhodli jsme se to spustit a oznámit co
                nejdříve, i když<br>
                >> nekompletní, aby se koncept otestoval v praxi.
                Budu rád za<br>
                >> jakoukoliv zpětnou vazbu, nápady či připomínky.<br>
                >><br>
                >> [1] <a moz-do-not-send="true"
                  href="https://github.com/vpsfreecz/haveapi"
                  target="_blank">https://github.com/vpsfreecz/haveapi</a><br>
                >><br>
                >> [2] <a moz-do-not-send="true"
                  href="https://github.com/vpsfreecz/vpsfree-client"
                  target="_blank">https://github.com/vpsfreecz/vpsfree-client</a><br>
                >><br>
                >> [3] <a moz-do-not-send="true"
                  href="https://github.com/vpsfreecz/haveapi-client"
                  target="_blank">https://github.com/vpsfreecz/haveapi-client</a><br>
                >><br>
                >> [4] <a moz-do-not-send="true"
                  href="https://github.com/vpsfreecz/haveapi-client-php/tree/vpsfree"
                  target="_blank">https://github.com/vpsfreecz/haveapi-client-php/tree/vpsfree</a><br>
                >><br>
                >> [5] <a moz-do-not-send="true"
                  href="https://github.com/vpsfreecz/haveapi-client-php"
                  target="_blank">https://github.com/vpsfreecz/haveapi-client-php</a>
                -- S<br>
                >> pozdravem<br>
                >><br>
                >> Jakub Skokan
                _______________________________________________<br>
                >> News-list mailing list <a
                  moz-do-not-send="true"
                  href="mailto:News-list@lists.vpsfree.cz">News-list@lists.vpsfree.cz</a><br>
              </div>
            </div>
            >> <mailto:<a moz-do-not-send="true"
              href="mailto:News-list@lists.vpsfree.cz">News-list@lists.vpsfree.cz</a>><br>
            >> <a moz-do-not-send="true"
              href="http://lists.vpsfree.cz/listinfo/news-list"
              target="_blank">http://lists.vpsfree.cz/listinfo/news-list</a><br>
            <div class="">><br>
              ><br>
              ><br>
              > _______________________________________________
              Community-list<br>
              > mailing list <a moz-do-not-send="true"
                href="mailto:Community-list@lists.vpsfree.cz">Community-list@lists.vpsfree.cz</a><br>
              > <a moz-do-not-send="true"
                href="http://lists.vpsfree.cz/listinfo/community-list"
                target="_blank">http://lists.vpsfree.cz/listinfo/community-list</a><br>
              ><br>
            </div>
            -----BEGIN PGP SIGNATURE-----<br>
            Version: GnuPG v1<br>
            Comment: Using GnuPG with Thunderbird - <a
              moz-do-not-send="true" href="http://www.enigmail.net/"
              target="_blank">http://www.enigmail.net/</a><br>
            <br>
iF4EAREIAAYFAlN9CEsACgkQMBKdi9lkZ6p1UgD9FhUz15ApUnlTqufJgATy2BCa<br>
QPkScmJTxfU/gcDGynAA+wavOPBtamMxqOjiRsuKHt4SUYPLtJSuEq2wB8VrH8e/<br>
            =jIPF<br>
            -----END PGP SIGNATURE-----<br>
            <div class="HOEnZb">
              <div class="h5">_______________________________________________<br>
                Community-list mailing list<br>
                <a moz-do-not-send="true"
                  href="mailto:Community-list@lists.vpsfree.cz">Community-list@lists.vpsfree.cz</a><br>
                <a moz-do-not-send="true"
                  href="http://lists.vpsfree.cz/listinfo/community-list"
                  target="_blank">http://lists.vpsfree.cz/listinfo/community-list</a><br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Community-list mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Community-list@lists.vpsfree.cz">Community-list@lists.vpsfree.cz</a>
<a class="moz-txt-link-freetext" href="http://lists.vpsfree.cz/listinfo/community-list">http://lists.vpsfree.cz/listinfo/community-list</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>