<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, May 18, 2018 at 3:54 PM, Dana Walker <span dir="ltr"><<a href="mailto:dawalker@redhat.com" target="_blank">dawalker@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><span class="gmail-"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br><div bgcolor="#FFFFFF"><font face="DejaVu Sans">The pulp-admin CLI provided value not because it combined things
      but because it managed auth and reduced syntax complexity. <br>
    </font><div><div class="gmail-m_6292584989920754399gmail-adm"><div id="gmail-m_6292584989920754399gmail-q_1637464ba634afd1_1" class="gmail-m_6292584989920754399gmail-ajR gmail-m_6292584989920754399gmail-h4"><div class="gmail-m_6292584989920754399gmail-ajT"></div></div></div></div></div></blockquote><div><br></div></span><div>Here's a (perhaps naive, please humor me) question--does it reduce syntax complexity enough over httpie to bother with at all?  Now that we have a Django app, would most users either a) be comfortable enough with the REST API or b) prefer to see an actual Django web UI instead of the CLI?<br><br></div></div></blockquote><div><br></div><div>Most users of the CLI would probably prefer a UI. In situations where the UI is limiting the interaction possibilities, the user would probably prefer to use the REST API directly or via bindings for the language of their choice. <br><br></div><div>With that in mind, I think it is worth exploring adding the Django Admin[0] site to Pulp. We could perform just a little bit of configuration and expose all the models we are interested in exposing. The hard part would creating templates for the sync and publish workflows. <br></div><div><br>[0] <a href="https://docs.djangoproject.com/en/2.0/ref/contrib/admin/">https://docs.djangoproject.com/en/2.0/ref/contrib/admin/</a><br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div>Just curious about the typical users.<br></div></div><div class="gmail_extra"><span class="gmail-"><br clear="all"><div><div class="gmail-m_6292584989920754399gmail_signature"><div dir="ltr"><div>
<p style="font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span>Dana</span> <span>Walker</span></p>
<p style="font-weight:normal;font-size:10px;margin:0px 0px 4px;text-transform:uppercase"><span>Associate Software Engineer</span><span style="font-weight:normal;color:rgb(170,170,170);margin:0px"></span></p>
<p style="font-weight:normal;margin:0px;font-size:10px;color:rgb(153,153,153)"><a style="color:rgb(0,136,206);font-size:10px;margin:0px;text-decoration:none;font-family:"overpass",sans-serif" href="https://www.redhat.com" target="_blank">Red Hat <span><br><br></span></a></p>




<table border="0"><tbody><tr><td width="100px"><a href="https://red.ht/sig" target="_blank"> <img src="https://www.redhat.com/files/brand/email/sig-redhat.png" width="90" height="auto"></a> </td>
</tr></tbody></table>

</div></div></div></div>
<br></span><div><div class="gmail-h5"><div class="gmail_quote">On Fri, May 18, 2018 at 1:30 PM, Jeff Ortel <span dir="ltr"><<a href="mailto:jortel@redhat.com" target="_blank">jortel@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF">
    <font face="DejaVu Sans">The main goal of the CLI is to make it
      easier (</font><font face="DejaVu Sans"><font face="DejaVu Sans">than
        using the REST API and http)</font> for admins to perform
      routine tasks.  It seems likely that A CLI <i>could</i> provide
      an improvement by reducing the REST syntax complexity without
      combining the steps to complete a task.  Also, I think we should
      consider the frequency of tasks & steps.  For example: I would
      anticipate that work flows involving creating and deleting of
      repositories, remotes, publishers and distributions are performed
      with relatively low frequency.  And, each of those will likely
      happen with different frequency.  Work flows involving sync &
      publish would be performed with relatively high frequency. 
      Updating resources (perhaps except Distribution) don't seem likely
      to be a regular thing.<br>
      <br>
      My point is: I think that providing high level, task oriented,
      combination CLI commands won't provide enough value to justify the
      effort.  An admin running (1) complex command (think pulp-admin)
      rather than 3-4 simple commands does not seem like an
      improvement.  Especially since the CLI would probably need to
      provide the simple commands a well for work flows not accounted
      for.  For example: Edit a remote.  Or, would the admin need to use
      the REST API for that?<br>
      <br>
      The pulp-admin CLI provided value not because it combined things
      but because it managed auth and reduced syntax complexity. <br>
    </font><div><div class="gmail-m_6292584989920754399h5"><font size="-1"><font face="DejaVu Sans"> </font></font><br>
    <br>
    <div class="gmail-m_6292584989920754399m_-7429217834541877616moz-cite-prefix">On 05/17/2018 10:52 AM, Dennis Kliban
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>The use cases we outlined earlier provide very little
                value over using httpie to interact with the REST API
                directly. I'd like to propose 5 new use cases:<br>
                <ul>
                  <li>As a CLI user, I can create a repository, a
                    remote, a publisher, and a distribution with a
                    single command.</li>
                  <li>As a CLI user, I can create a repository version,
                    a publication, and update the distribution with a
                    single command.</li>
                  <li>As a CLI user, I can list remote types available
                    on the Pulp server.</li>
                  <li>As a CLI user, I can list publisher types
                    available on the Pulp server.</li>
                  <li>As a CLI user, I can list all repositories
                    available on the Pulp server. <br>
                  </li>
                </ul>
                <br>
                The use cases proposed at the beginning on this thread
                require the user to perform 4 steps before any content
                can be synced:<br>
                <br>
              </div>
              1) Create repository<br>
            </div>
            2) Create remote<br>
          </div>
          3) Create publisher<br>
        </div>
        4) Create distribution <br>
        <div class="gmail_extra"><br>
        </div>
        <div class="gmail_extra">The goal for the CLI should be to
          reduce this to a single step. The CLI will need to make some
          assumptions for the user: publisher name, distribution name,
          auto publish, auto distribute, and maybe others. However, this
          will allow the user to use a single command to create a
          repository that's ready for sync/publish.<br>
          <br>
        </div>
        <div class="gmail_extra">Sync/Publish/Distribute workflow can
          also be 3 steps:<br>
          <br>
        </div>
        <div class="gmail_extra">1) Create a new repository version<br>
        </div>
        <div class="gmail_extra">2) Create a new publication<br>
        </div>
        <div class="gmail_extra">3) Update distribution<br>
          <br>
        </div>
        <div class="gmail_extra">The goal here is to also reduce this to
          a single step. <br>
          <br>
        </div>
        <div class="gmail_extra">The other use cases are auxiliary.<br>
          <br>
        </div>
        <div class="gmail_extra">Questions? Thoughts? Ideas? <br>
          <br>
        </div>
        <div class="gmail_extra">-Dennis<br>
        </div>
        <div class="gmail_extra"><br>
        </div>
        <br>
        <div class="gmail_extra"><br>
          <br>
          <br>
        </div>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">On Mon, May 14, 2018 at 11:58 AM,
            Dana Walker <span dir="ltr"><<a href="mailto:dawalker@redhat.com" target="_blank">dawalker@redhat.com</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
              <div dir="ltr">+1<br>
              </div>
              <div class="gmail_extra"><br clear="all">
                <div>
                  <div class="gmail-m_6292584989920754399m_-7429217834541877616m_52532154587299881gmail_signature">
                    <div dir="ltr">
                      <div>
                        <p style="font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:uppercase"><span>Dana</span>
                          <span>Walker</span></p>
                        <p style="font-weight:normal;font-size:10px;margin:0px 0px 4px;text-transform:uppercase"><span>Associate
                            Software Engineer</span><span style="font-weight:normal;color:rgb(170,170,170);margin:0px"></span></p>
                        <p style="font-weight:normal;margin:0px;font-size:10px;color:rgb(153,153,153)"><a style="color:rgb(0,136,206);font-size:10px;margin:0px;text-decoration:none;font-family:"overpass",sans-serif" href="https://www.redhat.com" target="_blank">Red
                            Hat <span><br>
                              <br>
                            </span></a></p>
                        <table border="0">
                          <tbody>
                            <tr>
                              <td width="100px"><a href="https://red.ht/sig" target="_blank">
                                  <img src="https://www.redhat.com/files/brand/email/sig-redhat.png" width="90" height="auto"></a> </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                    </div>
                  </div>
                </div>
                <br>
                <div class="gmail_quote">
                  <div>
                    <div class="gmail-m_6292584989920754399m_-7429217834541877616h5">On Tue, May 8, 2018 at 10:31 AM,
                      Jeremy Audet <span dir="ltr"><<a href="mailto:jaudet@redhat.com" target="_blank">jaudet@redhat.com</a>></span>
                      wrote:<br>
                    </div>
                  </div>
                  <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                    <div>
                      <div class="gmail-m_6292584989920754399m_-7429217834541877616h5">
                        <div dir="ltr">
                          <div class="gmail_extra">
                            <div class="gmail_quote"><span>
                                <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                                  <div dir="ltr">
                                    <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span><span style="font-size:12.8px">A
                                          configuration file in the
                                          user's home dir, right?</span></span><br>
                                      <span></span></blockquote>
                                    <span>
                                      <div><span style="font-size:12.8px"><br>
                                        </span></div>
                                    </span>
                                    <div><span style="font-size:12.8px">Yes,
                                        exactly.</span></div>
                                  </div>
                                </blockquote>
                                <div><br>
                                </div>
                              </span>
                              <div>Can we make sure to avoid placing
                                configuration files directly in users
                                home directories, and instead place them
                                into directories like ~/.config? This is
                                in line with the <a href="https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html" target="_blank">XDG
                                  Base Directory Specification</a>. The
                                spec is pretty straightforward, but Pulp
                                Smash uses <a href="https://www.freedesktop.org/wiki/Software/pyxdg/" target="_blank">pyxdg</a>
                                to avoid mistakes. There's two big
                                benefits to doing this:<br>
                              </div>
                              <div>
                                <ul>
                                  <li>Less clutter in home directories.</li>
                                  <li>Guidance on what to do with other
                                    types of files, such as cached files
                                    and runtime files.</li>
                                </ul>
                                <p>Projects such as git, htop, lftp,
                                  mpd, neovim, tmuxinator, boybo, and
                                  more do this.<br>
                                </p>
                              </div>
                            </div>
                          </div>
                        </div>
                        <br>
                      </div>
                    </div>
                    <span>______________________________<wbr>_________________<br>
                      Pulp-dev mailing list<br>
                      <a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
                      <a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman<wbr>/listinfo/pulp-dev</a><br>
                      <br>
                    </span></blockquote>
                </div>
                <br>
              </div>
              <br>
              ______________________________<wbr>_________________<br>
              Pulp-dev mailing list<br>
              <a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
              <a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman<wbr>/listinfo/pulp-dev</a><br>
              <br>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="gmail-m_6292584989920754399m_-7429217834541877616mimeAttachmentHeader"></fieldset>
      <br>
      <pre>______________________________<wbr>_________________
Pulp-dev mailing list
<a class="gmail-m_6292584989920754399m_-7429217834541877616moz-txt-link-abbreviated" href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a>
<a class="gmail-m_6292584989920754399m_-7429217834541877616moz-txt-link-freetext" href="https://www.redhat.com/mailman/listinfo/pulp-dev" target="_blank">https://www.redhat.com/mailman<wbr>/listinfo/pulp-dev</a>
</pre>
    </blockquote>
    <br>
  </div></div></div>

<br>______________________________<wbr>_________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman<wbr>/listinfo/pulp-dev</a><br>
<br></blockquote></div><br></div></div></div>
<br>______________________________<wbr>_________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/<wbr>mailman/listinfo/pulp-dev</a><br>
<br></blockquote></div><br></div></div>