<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mailman.git/src/mailman/model/docs/membership.rst, branch pluggable-workflows</title>
<subtitle>The GNU Mailing List manager.</subtitle>
<id>https://git.neuromancer.sk/mailman.git/atom/src/mailman/model/docs/membership.rst?h=pluggable-workflows</id>
<link rel='self' href='https://git.neuromancer.sk/mailman.git/atom/src/mailman/model/docs/membership.rst?h=pluggable-workflows'/>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/'/>
<updated>2016-03-31T22:29:27Z</updated>
<entry>
<title>Members and nonmembers moderation action fallback</title>
<updated>2016-03-31T22:29:27Z</updated>
<author>
<name>Aurélien Bompard</name>
</author>
<published>2016-02-09T11:23:38Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=71cfeda5fb51c49fd87b6d34e00221a3725b9ec0'/>
<id>urn:sha1:71cfeda5fb51c49fd87b6d34e00221a3725b9ec0</id>
<content type='text'>
Members and nonmember's moderation action should be None by default, and
in that case the moderation rule should fallback to the mailing list's
default action.

Fixes: #189
</content>
</entry>
<entry>
<title>Added IMember.subscriber to definitively return how a member is subscribed to</title>
<updated>2015-04-14T16:35:53Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2015-04-14T16:35:53Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=85afb7bac938eb2c2f00507482886e1470bdcaa1'/>
<id>urn:sha1:85afb7bac938eb2c2f00507482886e1470bdcaa1</id>
<content type='text'>
the mailing list (via preferred address/user or explicit address).

IMember.get_member() is defined to return the explicit address when members
are subscribed in both ways.

IMember.get_memberships() returns a sequence of length 0, 1, or 2 containing
all the member records associated with the email address.

Fixed the AbstractMemberRoster methods query to properly return subscriptions
via the user's preferred address and via an explicit address.
</content>
</entry>
<entry>
<title>All model tests except for pendings.rst is passing now.</title>
<updated>2014-12-13T20:12:54Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2014-12-13T20:12:54Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=e7440d3b4d3236056dc5552731efc411c62825e1'/>
<id>urn:sha1:e7440d3b4d3236056dc5552731efc411c62825e1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use print functions consistently through, and update all __future__ imports to</title>
<updated>2014-04-28T15:23:35Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2014-04-28T15:23:35Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=d4d71f71f08d6d440b17482eecc5472dcfe6cbae'/>
<id>urn:sha1:d4d71f71f08d6d440b17482eecc5472dcfe6cbae</id>
<content type='text'>
reflect this.

Also, mock out sys.stderr on some tests so that their nose2 output is quieter.

A few other minor coding style consistencies.
</content>
</entry>
<entry>
<title>Switch to PEP 435 enums from flufl.enums.</title>
<updated>2013-06-19T02:43:40Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2013-06-19T02:43:40Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=0120c079ed8c9a9b0b1bc5d8341ac2ec1a8638d3'/>
<id>urn:sha1:0120c079ed8c9a9b0b1bc5d8341ac2ec1a8638d3</id>
<content type='text'>
</content>
</entry>
<entry>
<title> * Two new events are triggered on membership changes: `SubscriptionEvent`</title>
<updated>2012-12-23T19:43:31Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2012-12-23T19:43:31Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=f620f664e138e672a2bc88ca7603075a99858882'/>
<id>urn:sha1:f620f664e138e672a2bc88ca7603075a99858882</id>
<content type='text'>
   when a new member joins a mailing list, and an `UnsubscriptionEvent` when a
   member leaves a mailing list.  (LP: #1047286)
</content>
</entry>
<entry>
<title>* The link between members and the mailing lists they are subscribed to, is</title>
<updated>2012-09-05T01:31:50Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2012-09-05T01:31:50Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=3c77c83ec4070e7183482445ff0b9a30398b72f4'/>
<id>urn:sha1:3c77c83ec4070e7183482445ff0b9a30398b72f4</id>
<content type='text'>
  now via the RFC 2369 `list_id` instead of the fqdn listname (i.e. posting
  address).  This is because while the posting address can change if the
  mailing list is moved to a new server, the list id is fixed.
  (LP: #1024509)
  + IListManager.get_by_list_id() added.
  + IListManager.list_ids added.
  + IMailingList.list_id added.
  + Several internal APIs that accepted fqdn list names now require list ids,
    e.g. ISubscriptionService.join() and .find_members().
  + IMember.list_id attribute added; .mailing_list is now an alias that
    retrieves and returns the IMailingList.
  - list_id added (LP: #1024509)
</content>
</entry>
<entry>
<title>* User and Member ids are now proper UUIDs.  The UUIDs are pended as unicodes,</title>
<updated>2011-08-30T23:11:19Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2011-08-30T23:11:19Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=0664713d4f7e30b0b56b1ce00ccf3367f416c901'/>
<id>urn:sha1:0664713d4f7e30b0b56b1ce00ccf3367f416c901</id>
<content type='text'>
  and exposed to the REST API as their integer equivalents.  They are stored
  in the database using Storm's UUID type.
  - ISubscriptionService.get_member() now takes a UUID
  - IUserManager.get_user_by_id() now takes a UUID
* Moderators and owners can be added via REST (LP: #834130).  Given by
  Stephen A. Goss.
  - add_member() grows a `role` parameter.
  - ISubscriptionService.join() grows a `role` parameter.
* InvalidEmailAddressError no longer repr()'s its value.
* `address` -&gt; `email` for consistency
  - delete_member()
  - ISubscriptionService.leave()
* Fixed typo in app/subscriptions.py __all__
* AlreadySubscribedError: attributes are now public.
* More .txt -&gt; .rst renames.
</content>
</entry>
</feed>
