<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>[adding Chapter Delegates
<a class="moz-txt-link-rfc2396E" href="mailto:chapter-delegates@elists.isoc.org"><chapter-delegates@elists.isoc.org></a> since assumed to be of
general interest]<br>
</p>
<p>Thanks Christian,</p>
<div class="moz-cite-prefix">Christian de Larrinaga wrote on
16.07.25 18:32:<br>
</div>
<blockquote type="cite" cite="mid:87ecuggkp2.fsf@firsthand.net">
<pre class="moz-quote-pre" wrap="">Well done klaus.. looks like you did this despite zero help from the AMS
team. It will take a bit of work I guess to implement into a chapter
admin database and then as a web scraper any change to the AMS which
can happen pretty arbitrarily might be breaking.</pre>
</blockquote>
<p>After looking at the code (HTML & Co) the risk of AMS changes
seems smaller than it first appeared. If there are any they most
likely will not be dramatic. But as I mentioned in the readme: the
risk exists. So wait and see ...<br>
</p>
<p>Members Administration in this context is a dead simple thing.
AMS takes a lot of effort to make it komplex.</p>
<p>isoc-ams makes it simple again. Nearly everything in members
admin - that can be done with online AMS - can be done with a
simple isoc-ams workflow - no programming skills required at all.</p>
<p>2 Steps:</p>
<ol>
<li>Get lists of AMS Chapter members and pending applications:<br>
<pre> python -m isoc_ams
</pre>
Delivers a list of AMS Chapter members and a list of pending
applications.<br>
<br>
</li>
<li>Decide what operations are due (deny or approve applicants,
delete entries from members list).<br>
Then call isoc-ams like this:<br>
<pre> python -m isoc_ams -i <commands.txt
</pre>
the file <font face="monospace">commands.txt</font> file holds
the required operations like this<br>
<pre> deny isocid1, isocid2 ...
approve isocid10, isocid11 ...
delete isocid20, isocid21 ...
...
</pre>
to deny, approve pending applications or delete entries from the
AMS Chapter members list. </li>
</ol>
<p>And you are done. No need to wade clicking (and maybe typing)
through lot of pages.</p>
<p><br>
</p>
<p>For a fully automated process using the API (as we do it at
ISOC.DE) it is also straight forward and simple to implement. (If
I ever decide to build a next release the interface will provide
the option to do this in any programming language you like - not
only Python).</p>
<p>It also can be grouped in 2 steps:</p>
<ol>
<li>Apply your local rules how to treat pending applications e.g.</li>
<ol>
<li>deny old ones that didn't make it to your local members list</li>
<li>approve those who made it to your local members list</li>
<li>leave the others as they are (maybe send an invitations to
join)</li>
</ol>
<li>Compare your local members list (assumed to be the up-to-date
one) with the AMS Chapter list:</li>
<ol>
<li>delete those from the AMS Chapter list who are no longer on
your local list</li>
<li>send a mail to <a class="moz-txt-link-abbreviated" href="mailto:ams-help@isoc.org">ams-help@isoc.org</a> asking to add those who are
not on the AMS list (since you are not authorized to add
them).</li>
</ol>
</ol>
<p>That's it. I admit I was surprised how simple it turned out to be
- once you manage to hide the AMS Web interface.</p>
<p>(Why is it a fairy tale by Danish Hans Christian Andersen:
„Kejserens nye Klæder“ comes int my mind? 🙂)</p>
<blockquote type="cite" cite="mid:87ecuggkp2.fsf@firsthand.net">
<pre class="moz-quote-pre" wrap="">Hope this isn't going to be a rod to your back - so to speak. But maybe
this will spur that strong sense of not invented here phobia at ISOC?</pre>
</blockquote>
Frankly, I'm rather curious if there will be any reaction at all 😉.
I think that the AMS folks over the last ten+ years never understood
how an API should look like. So they silently denied any effort to
provide it.<br>
<blockquote type="cite" cite="mid:87ecuggkp2.fsf@firsthand.net">
<pre class="moz-quote-pre" wrap="">Having said all that kudos and respect.</pre>
</blockquote>
<p>Thank you.</p>
<p>Klaus<span style="white-space: pre-wrap">
</span></p>
<blockquote type="cite" cite="mid:87ecuggkp2.fsf@firsthand.net">
<pre class="moz-quote-pre" wrap="">Klaus Birkenbihl via Chapter-delegates <a class="moz-txt-link-rfc2396E" href="mailto:chapter-delegates@elists.isoc.org"><chapter-delegates@elists.isoc.org></a> writes:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">Dear AMS Chapter Admin,
by today the isoc-ams API is released. Don't ask AMS-help for it.
Just check <a class="moz-txt-link-freetext" href="https://github.com/birkenbihl/isoc-ams/">https://github.com/birkenbihl/isoc-ams/</a> for details.
Best regards
Klaus
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap=""></pre>
</blockquote>
<pre class="moz-signature" cols="0">--
Klaus Birkenbihl
Internet Society German Chapter (ISOC.DE) e.V.
c/o ict-Media GmbH
<a class="moz-txt-link-freetext" href="https://www.isoc.de">https://www.isoc.de</a></pre>
</body>
</html>