<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Andale Mono";
        panose-1:2 11 5 9 0 0 0 0 0 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1343167105;
        mso-list-template-ids:-600159576;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Sorry for the delay!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Looked into this some:<br>
<br>
1. So, it looks like these are two separate distinctions:  system means “including hidden users,” which are:<br>
<br>
<span style="font-family:"Andale Mono"">+----------------------------+<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Andale Mono"">| name                       |<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Andale Mono"">+----------------------------+<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Andale Mono"">| Search Indexer             |<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Andale Mono"">| Public Interface Anonymous |<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Andale Mono"">| Staff System User          |<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Andale Mono"">| Request System User        |<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Andale Mono"">+----------------------------+<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Local… doesn’t as far as I can tell mean anything?  It might in context of some plugins, i.e. if someone has a plugin that adds an SSO sign in option, there’d be a distinction, but IMO it looks like it’s not signifying anything in the software
 as delivered.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">2. Hmmm. So, re: users showing up with empty groups, I have run into this before – IIRC, it might be an issue with permissions – you need to have admin perms to see other users groups, I think?  If it’s not that, then we’ll need to dig
 in.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">3. It definitely ought to have a link, and possibly duplicate some info as well.  Honestly, I think cross-linking them would be ideal.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">5. I can maybe take a look at writing examples for this tonight.<o:p></o:p></p>
<div>
<p class="MsoNormal">--<o:p></o:p></p>
<p class="MsoNormal">Dave Mayo (he/him)<o:p></o:p></p>
</div>
<p class="MsoNormal">Senior Digital Library Software Engineer<br>
Harvard University > HUIT > LTS<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black"><archivesspace_api_doc_adhoc-bounces@lyralists.lyrasis.org> on behalf of "David W. Hodges" <dwh2128@columbia.edu><br>
<b>Reply-To: </b>"archivesspace_api_doc_adhoc@lyralists.lyrasis.org" <archivesspace_api_doc_adhoc@lyralists.lyrasis.org><br>
<b>Date: </b>Tuesday, October 20, 2020 at 2:46 PM<br>
<b>To: </b>"archivesspace_api_doc_adhoc@lyralists.lyrasis.org" <archivesspace_api_doc_adhoc@lyralists.lyrasis.org><br>
<b>Subject: </b>[Archivesspace_api_doc_adhoc] Some updates for /users/ endpoints<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Hi all. I made my way through the routes related to user management (users.rb), starting at row 257 of the spreadsheet. I staged my changes in a branch here:<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_dwhodges2_archivesspace_blob_dh-2Ddocs-2Dfixes_backend_app_controllers_users.rb&d=DwMFaQ&c=WO-RGvefibhHBZq3fL85hQ&r=_Mv1dY22K7jvT5MD7xjbvGVzRDOUMhx4WYcnPSIzYnE&m=6FX9zSFFEdHl9ewJ6OZz0-_2m3z5PvUDZkR3mkrC3QI&s=uGW21H6fvo9GOaT4u7ezOKP_c1iQW7Md9_TGN2Bh5Bw&e=">https://github.com/dwhodges2/archivesspace/blob/dh-docs-fixes/backend/app/controllers/users.rb</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I tested the existing shell scripts and added ASnake examples where I could (see below). I have a few questions/observations:<o:p></o:p></p>
</div>
<div>
<ol start="1" type="1">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
I am not sure I understand the distinction between "system" vs. "local" users. One route says "create a local user" and another says "get a list of system users" but they are hitting the same list as far as I can tell. Is this a meaningful distinction, or can
 we just simplify both to "users"? <o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
"Update a user’s groups": I'm not able to confirm this route works. We have users assigned to groups in AS but when I pull any user's info it has groups = []. So I wasn't able to construct or test any examples. Is something deprecated here, or can someone point
 me to relevant info?<o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
Should the "log in" route just refer users to the authentication section? Seems redundant and less informative here.<o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
I was unable to work with "become a different user" in either shell or Python. I'm wondering what use case there would be for this, as opposed to just authenticating as a different user. In any case, I left it as it is for now but I think the default shell
 example needs to be tweaked as I couldn't get it to work.<o:p></o:p></li><li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
I was not able to figure out Python examples for these:<br>
• "Get a user’s details including their groups for the current repository"<br>
• "Create a local user"<br>
Someone more adept at ASnake could maybe weigh in (I don't use it in production at the moment).<o:p></o:p></li></ol>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Dave, should I create a PR for the branch above? Or let me know what the next step should be. Any feedback would be much appreciated. I replicated these notes in the spreadsheet FYI.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">David<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">-- <o:p></o:p></p>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;color:#999999">David W. Hodges</span><span style="font-size:10.0pt"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;color:#999999">Special Collections Analyst</span><span style="font-size:10.0pt"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;color:#999999">Columbia University Libraries</span><span style="font-size:10.0pt"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;color:#999999">Butler Library</span><span style="font-size:10.0pt"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;color:#999999">535 West 114th St.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;color:#999999">New York, NY 10027</span><span style="font-size:10.0pt"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;color:#999999">212 854-8758</span><span style="font-size:10.0pt"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;color:black"><o:p> </o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>