<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mailman.git/src/mailman/queue/docs, branch master</title>
<subtitle>The GNU Mailing List manager.</subtitle>
<id>https://git.neuromancer.sk/mailman.git/atom/src/mailman/queue/docs?h=master</id>
<link rel='self' href='https://git.neuromancer.sk/mailman.git/atom/src/mailman/queue/docs?h=master'/>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/'/>
<updated>2011-05-29T16:45:19Z</updated>
<entry>
<title>Rename 'queue' directory to 'runners' since not all subprocesses run a queue.</title>
<updated>2011-05-29T16:45:19Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2011-05-29T16:45:19Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=521a179d309fac857fdbbe162d5db136c3ec3b1e'/>
<id>urn:sha1:521a179d309fac857fdbbe162d5db136c3ec3b1e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>* bounce_unrecognized_goes_to_list_owner -&gt; forward_unrecognized_bounces_to </title>
<updated>2011-05-26T01:30:56Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2011-05-26T01:30:56Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=0795e34d56a8f627348730843210cdba4071b26b'/>
<id>urn:sha1:0795e34d56a8f627348730843210cdba4071b26b</id>
<content type='text'>
* Add an additional option for unrecognized bounce disposition: send it to the
  site administrators.
* Move maybe_forward() from src/mailman/queue/bounce.py to
  src/mailman/app/bounces.py, refactor and add tests.
* Add a LogFileMark class to help with tests that want to check the output to
  a log file.
* OwnerNotification gets a better signature.  Instead of tomoderators, the
  last argument is a roster to send the notification to.  If roster is None,
  then the notification goes to the site administrators.
</content>
</entry>
<entry>
<title>Refactor .subscribe() from IAddress to IMailingList.</title>
<updated>2011-04-16T16:55:48Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2011-04-16T16:55:48Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=3db11b8bcb7194b5672426ad057f965734134a59'/>
<id>urn:sha1:3db11b8bcb7194b5672426ad057f965734134a59</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Split member and nonmember moderation.</title>
<updated>2011-01-02T22:09:11Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2011-01-02T22:09:11Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=00e2ef1c318e00cbf0f862ed839f6c7e44b1c0a9'/>
<id>urn:sha1:00e2ef1c318e00cbf0f862ed839f6c7e44b1c0a9</id>
<content type='text'>
 * member-moderation happens at the same place in the built-in chain that the
   previously named moderation rule happens.  nonmember-moderation happens
   after all the other normal moderation rules.
 * Handle unsubscribed nonmember posts.

Other changes:

 * Message.senders now filters out Nones and empty strings.
 * Various test cleanups and simplifications.
 * More `address` -&gt; `email` fixes.
 * Give Link class a useful repr.
 * Fix a potential UnboundLocalError.
 * Various other small changes.
</content>
</entry>
<entry>
<title>Because it was just to damn confusing, rename IAddress.address to</title>
<updated>2011-01-01T16:28:29Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2011-01-01T16:28:29Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=3f1f5a2826feb9c5fb202ae266ba7f0ff76ebe21'/>
<id>urn:sha1:3f1f5a2826feb9c5fb202ae266ba7f0ff76ebe21</id>
<content type='text'>
IAddress.email and IAddress.original_address to IAddress.original_email.  From
now on we'll use "address" to talk about the IAddress object and "email" to
talk about the textual email address.
</content>
</entry>
<entry>
<title>* Simplify the membership.txt doctest.</title>
<updated>2010-12-31T18:17:16Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2010-12-31T18:17:16Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=d0f8e9e03d3c55641165b73a4d8971ec514a9cdc'/>
<id>urn:sha1:d0f8e9e03d3c55641165b73a4d8971ec514a9cdc</id>
<content type='text'>
* Add test to show that the incoming runner adds all sender addresses to
  the global user manager.
* New doctest helper: dump_list()
* Other random cleanups.
</content>
</entry>
<entry>
<title>Fairly significant change to the way member and nonmember moderation occurs.</title>
<updated>2010-12-30T04:54:08Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2010-12-30T04:54:08Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=534e90fea33c52585c74fa9127cca8b70178d5e0'/>
<id>urn:sha1:534e90fea33c52585c74fa9127cca8b70178d5e0</id>
<content type='text'>
Now, nonmembers are represented by a separate roster of IMembers, the latter
which has grown a `moderation_action` enum.  When that action is `defer`, then
the normal processing rules apply.  Anything else and the `moderation` chain
is jumped to for a shortcut to moderation (which may include immediate
acceptance).

TODO: handle unregistered nonmembers.

Details:

 * The member-moderation rule is renamed to just moderation, and handles both
   members and nonmembers (though the latter must currently be registered).
 * The moderation rule is moved up in the builtin chain.  It is now checked
   after `approved`, `emergency`, and `loop`, but before the normal moderation
   checks.  This means that nonmember postings will be (by default) held much
   earlier.
 * IMember.is_moderated is removed.
 * IMember.moderation_action is added.
 * IMailingList.default_member_moderation is removed.
 * IMailingList.default_member_action and
   IMailingList.default_nonmember_action are added.
 * MemberRole.nonmember is added.
</content>
</entry>
<entry>
<title>This is part 1 of the merge of Jimmy Bergman's branch</title>
<updated>2010-12-28T18:14:41Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2010-12-28T18:14:41Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=c89087190a641da1353b394a722cf9cee3792394'/>
<id>urn:sha1:c89087190a641da1353b394a722cf9cee3792394</id>
<content type='text'>
lp:~jimmy-sigint/mailman/restapi_additional_attributes

Ostensibly, this adds support for a few additional attributes through the REST
API:
 * default_member_moderation
 * generic_nonmember_action
 * member_moderation_action
 * reply_goes_to_list
 * send_welcome_msg
 * welcome_msg

However, I had never previously fleshed out the conversion of
default_member_moderation and member_moderation_action into the MM3 way of
things.  That is now done.  Non-member moderation still needs to be done.

Specific changes:

* mailman.chains.base.Chain no longer self registers
* The built-in chain gets a new link for checking 'member-moderation'.  If
  this rule matches, it jumps to the 'member-moderation' chain, which checks
  member_moderation_action and returns a link that jumps to the appropriate
  terminal chain.
* Chain initialization is done by the same auto-detection as rules, handlers,
  etc.  The one tricky thing is that abstract base classes such as Chain and
  TerminalChainBase can't be instantiated.  For now, there's an ugly special
  case to skip these.
* default_member_moderation is now exposed in the IMailingList interface.
* Member.is_moderated gets set in the constructor from the mailing list's
  default_member_moderation.
* The 'moderation' rule is renamed 'member-moderation'.

TODO:

* Work out non-member moderation
* Add member_moderation_action to IMailingList
* Double check tests for reply_goes_to_list, send_welcome_msg, and welcome_msg
</content>
</entry>
<entry>
<title>Insulate the test environment from the running environment.  Sadly, the test</title>
<updated>2010-12-22T22:41:21Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2010-12-22T22:41:21Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=42715ec95d8c512399326fe127648e9af4df57c9'/>
<id>urn:sha1:42715ec95d8c512399326fe127648e9af4df57c9</id>
<content type='text'>
ports are still hard coded.

Also, 'bin/mailman info' dumps the REST root url and credentials.
</content>
</entry>
<entry>
<title>More documentation cleanups.</title>
<updated>2010-09-14T21:35:14Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2010-09-14T21:35:14Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=a60710ba55c822c1c7045c44c6a251413a408052'/>
<id>urn:sha1:a60710ba55c822c1c7045c44c6a251413a408052</id>
<content type='text'>
</content>
</entry>
</feed>
