<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hi Pierre,</p>
    <p><br>
    </p>
    <p>Thanks a lot.<br>
      Yesterday I pulled your PR, built it, but didn't have time to
      check. So I repulled today, rebuilt and hope I have some spare
      time at work.</p>
    <p>This looks very interesting and should really simplify to
      implement small uwsgi plugins.</p>
    <p><br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 14/03/2017 18:25, Pierre Tardy
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAJ+soVc+z9SVNRdY_nB-b6RRxC_AboA8BVAX1W+JSHVimE+NoA@mail.gmail.com"
      type="cite">
      <div dir="ltr">Hi Gelonida,
        <div><br>
        </div>
        <div>Here is a first version of the flash_dashboard plugin</div>
        <div><a moz-do-not-send="true"
            href="https://github.com/buildbot/buildbot/pull/3041">https://github.com/buildbot/buildbot/pull/3041</a></div>
        <div><br>
        </div>
        <div>there are still needs to be some polishing, but the main
          ideas are there.</div>
        <div><br>
        </div>
        <div>See documentation to get an idea on how to use it</div>
        <div><a moz-do-not-send="true"
href="https://github.com/buildbot/buildbot/pull/3041/files#diff-eea13d1ebd483f573175b4da8762a6e5">https://github.com/buildbot/buildbot/pull/3041/files#diff-eea13d1ebd483f573175b4da8762a6e5</a></div>
        <div><br>
        </div>
        <div>Please let me know if this is the right level of
          abstraction for you.</div>
        <div><br>
        </div>
        <div>You can use requests to get the REST api, but you can also
          use app.buildbot_api.dataGet to bypass the REST api layer (and
          the authorization layer)</div>
        <div><br>
        </div>
        <div>Pierre</div>
        <div><br>
          <div class="gmail_quote">
            <div dir="ltr">On Tue, Mar 14, 2017 at 12:05 PM Gelonida
              <<a moz-do-not-send="true"
                href="mailto:gelonida@gmail.com">gelonida@gmail.com</a>>
              wrote:<br>
            </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
                <p class="gmail_msg">Hi Pierre,</p>
                <p class="gmail_msg">Thanks for your reply,</p>
                <p class="gmail_msg">In our context we don't need a real
                  time dashboard (at least for the start)</p>
                <p class="gmail_msg">I think I will start with a server
                  side created bottle or flask implementation and play
                  with angular at a later time.<br class="gmail_msg">
                  The idea is to have a view quickly for some users and
                  Angular views are not quickly to develop if you don't
                  have the habit.<br class="gmail_msg">
                  I did not try with buildbot (and it's js
                  dependencies), but often just getting the node / grunt
                  / gulp build environment up and <br class="gmail_msg">
                  running can already be painful. So an attractive
                  Angular web front end only later.</p>
                <p class="gmail_msg">Do I already need a web-dev build
                  environment for hooking up a single url into the
                  buildbot env or is there some plugin magic,<br
                    class="gmail_msg">
                  that will avoid this.<br class="gmail_msg">
                </p>
                <p class="gmail_msg"><br class="gmail_msg">
                </p>
                <p class="gmail_msg">I'd appreciate a lot if you could
                  point  me to information of how to integrate any url
                  (static / server side) into the buildbot webif.<br
                    class="gmail_msg">
                </p>
                <p class="gmail_msg">If easier to integrate, then the
                  dynamic web script could just yield some JSON file but
                  I'd be curious of how to integrate <br
                    class="gmail_msg">
                  some non Angular HTML.<br class="gmail_msg">
                </p>
                <p class="gmail_msg"><br class="gmail_msg">
                </p>
                My dynamic script could either yield something like:<br
                  class="gmail_msg">
                <html><br class="gmail_msg">
                <body><br class="gmail_msg">
                <h1>all release branches<h1><br
                  class="gmail_msg">
                <form><br class="gmail_msg">
                <select name = "branchgroups"><br
                  class="gmail_msg">
                                  <option
                value="all">all</option><br class="gmail_msg">
                                  <option
                value="release">release</option><br
                  class="gmail_msg">
                                  <option
                value="develop">develop</option><br
                  class="gmail_msg">
                                </select><br class="gmail_msg">
                </form><br class="gmail_msg">
                <table><br class="gmail_msg">
                . . . .<br class="gmail_msg">
                </table><br class="gmail_msg">
                </body><br class="gmail_msg">
                </html><br class="gmail_msg">
                <br class="gmail_msg">
                or just a json with something similar to:<br
                  class="gmail_msg">
                { "title": "all release branches",<br class="gmail_msg">
                   "header_row": [ "project", "branch", "builder",
                "builds"],<br class="gmail_msg">
                  "rows" : [<br class="gmail_msg">
                    [ "pjt one", "rls/v1.0", "lint_results", [
                {"buildid": 4, "status": "pass"}, {"buildid": 3,
                "status": "pass"}, {"buildid": 1, "status": "fail"}] ],<br
                  class="gmail_msg">
                    [ "pjt one", "rls/v1.0", "quick_unittests", [
                {"buildid": 4, "status": "pass"}, {"buildid": 3,
                "status": "pass"}, {"buildid": 1, "status": "fail"}] ],<br
                  class="gmail_msg">
                    [ "pjt one", "rls/v2.0", "lint_results", [
                {"buildid": 6, "status": "fail"}, {"buildid": 5,
                "status": "pass"}, {"buildid": 2, "status": "fail"}] ]<br
                  class="gmail_msg">
                  ]<br class="gmail_msg">
                }<br class="gmail_msg">
                <br class="gmail_msg">
                whatever is easier to integrate.<br class="gmail_msg">
                <br class="gmail_msg">
                <br class="gmail_msg">
                At the moment I start looking at the REST-API calls, and
                the amount of calls, that I would need to implement such
                view.<br class="gmail_msg">
                On a first glance this seems quite costly.<br
                  class="gmail_msg">
                <br class="gmail_msg">
                I'll follow up.</div>
              <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br
                  class="gmail_msg">
                <br class="gmail_msg">
                <div class="m_950433075199581844moz-cite-prefix
                  gmail_msg">On 03/12/2017 05:48 PM, Pierre Tardy wrote:<br
                    class="gmail_msg">
                </div>
              </div>
              <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
                <blockquote type="cite" class="gmail_msg">
                  <div dir="ltr" class="gmail_msg">
                    <div class="gmail_quote gmail_msg">
                      <blockquote class="gmail_quote gmail_msg"
                        style="margin:0 0 0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">
                        <div bgcolor="#FFFFFF" text="#000000"
                          class="gmail_msg">
                          <p class="gmail_msg">Question(s):<br
                              class="gmail_msg">
                            ----------------<br class="gmail_msg">
                            Did anyone already implement something
                            similar?<br class="gmail_msg">
                          </p>
                        </div>
                      </blockquote>
                      <div class="gmail_msg">Well console view and
                        waterfall views are such dashboards or showing
                        the builds in specific manner.</div>
                      <div class="gmail_msg"> </div>
                      <blockquote class="gmail_quote gmail_msg"
                        style="margin:0 0 0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">
                        <div bgcolor="#FFFFFF" text="#000000"
                          class="gmail_msg">
                          <p class="gmail_msg"> Does anyone have a
                            similar issue? If yes how do you solve this
                            problem?<br class="gmail_msg">
                            What would be the easiest way to create such
                            a page <br class="gmail_msg">
                          </p>
                        </div>
                      </blockquote>
                    </div>
                  </div>
                </blockquote>
              </div>
              <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
                <blockquote type="cite" class="gmail_msg">
                  <div dir="ltr" class="gmail_msg">
                    <div class="gmail_quote gmail_msg">
                      <div class="gmail_msg">The easiest way if you know
                        angularjs is to indeed write a UI plugin.
                        buildbot UI has been designed for this, and this
                        is the only way you can write a real time
                        updated dashboard.</div>
                    </div>
                  </div>
                </blockquote>
              </div>
              <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
                <blockquote type="cite" class="gmail_msg">
                  <div dir="ltr" class="gmail_msg">
                    <div class="gmail_quote gmail_msg">
                      <div class="gmail_msg"><br class="gmail_msg">
                      </div>
                      <blockquote class="gmail_quote gmail_msg"
                        style="margin:0 0 0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">
                        <div bgcolor="#FFFFFF" text="#000000"
                          class="gmail_msg">
                          <p class="gmail_msg"> I'm not very good with
                            web development and never tried to change
                            the buildbot web front end.<br
                              class="gmail_msg">
                            Would it be simpler to create a standalone
                            page, which constructs this contents with
                            the help of the web api?<br
                              class="gmail_msg">
                          </p>
                        </div>
                      </blockquote>
                      <div class="gmail_msg">Server side servers are
                        indeed a bit easier. You could indeed create a
                        separate flask application that would access the
                        REST api using python-requests.</div>
                      <div class="gmail_msg">This can help you to write
                        a dashboard to look exactly as you wish.</div>
                      <div class="gmail_msg"><br class="gmail_msg">
                      </div>
                      <div class="gmail_msg">I usually recommend to take
                        the effort to learn angularJS and front end
                        development as I find it did unlock a lot of
                        opportunities.</div>
                      <div class="gmail_msg">I do realize it is not
                        practical for everybody, and we should have an
                        easier story for custom dashboard creation that
                        does not require front end development mastery.</div>
                      <div class="gmail_msg"><br class="gmail_msg">
                      </div>
                      <div class="gmail_msg">I will be happy to help
                        reviewing your flask application, and will help
                        you integrate it as a dashboard in the main UI.
                        I think it can work with some JS magic to embed
                        a flask application into a Buildbot UI plugin.</div>
                      <div class="gmail_msg"><br class="gmail_msg">
                      </div>
                      <div class="gmail_msg">Regards</div>
                      <div class="gmail_msg">Pierre </div>
                      <div class="gmail_msg"><br class="gmail_msg">
                      </div>
                      <div class="gmail_msg"><br class="gmail_msg">
                      </div>
                    </div>
                  </div>
                </blockquote>
              </div>
            </blockquote>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>