<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mailman.git/src/mailman/rest/docs, branch plugin</title>
<subtitle>The GNU Mailing List manager.
</subtitle>
<id>https://git.neuromancer.sk/mailman.git/atom?h=plugin</id>
<link rel='self' href='https://git.neuromancer.sk/mailman.git/atom?h=plugin'/>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/'/>
<updated>2017-08-07T17:00:49Z</updated>
<entry>
<title>Merge branch 'pluggable-workflows' into plugin</title>
<updated>2017-08-07T17:00:49Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-08-07T17:00:49Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=ee9da27283ffb7adc836f764f1442cd06e3fb2a5'/>
<id>urn:sha1:ee9da27283ffb7adc836f764f1442cd06e3fb2a5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'pluggable-components' into plugin</title>
<updated>2017-08-07T16:36:22Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-08-07T16:36:22Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=d107fd41f03b57f7731b60bb7ba921febc3ce3b9'/>
<id>urn:sha1:d107fd41f03b57f7731b60bb7ba921febc3ce3b9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Save workflows name in Pendable PEND_TYPE.</title>
<updated>2017-08-07T16:18:00Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-07-12T16:57:01Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=139a4b484415843d4f0dcf723ed7b56fc52b2547'/>
<id>urn:sha1:139a4b484415843d4f0dcf723ed7b56fc52b2547</id>
<content type='text'>
 - Saves workflow name in as Pendables type, so that it is correctly
   restored even if the MailingLists sub/unsub policy changes
   while it was pending.
</content>
</entry>
<entry>
<title>Migrate the [un]subscription_policy attribute.</title>
<updated>2017-08-07T16:18:00Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-07-04T23:07:37Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=6c621405c88671a58ef24cd84a9bd74ca324207e'/>
<id>urn:sha1:6c621405c88671a58ef24cd84a9bd74ca324207e</id>
<content type='text'>
 - This is quite a huge commit, since it changes the type of the
   MailingList.subscription_policy and unsubscription_policy
   attributes to the new names of pluggable workflows, in all
   occurences.
 - Also adds a migration to migrate the attributes to the new types.
 - Adds tests for the migration.
</content>
</entry>
<entry>
<title>Add description attribute to IStyle, expose it in REST.</title>
<updated>2017-08-07T16:03:42Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-06-04T15:41:29Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=e65f5e7bbb34063e252ffecd13fc349c5cb69a24'/>
<id>urn:sha1:e65f5e7bbb34063e252ffecd13fc349c5cb69a24</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix coverage, deprecate, but run non-plugin (post|pre)_hooks.</title>
<updated>2017-08-07T15:39:08Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-07-25T19:44:54Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=8addebbf9802e911c06f6a27b7ffff1e0f1d2e57'/>
<id>urn:sha1:8addebbf9802e911c06f6a27b7ffff1e0f1d2e57</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add optional external configuration to plugins.</title>
<updated>2017-08-07T15:39:08Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-06-05T23:05:08Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=260733a13a0ad891e1b10836399dd02af7335fe0'/>
<id>urn:sha1:260733a13a0ad891e1b10836399dd02af7335fe0</id>
<content type='text'>
 - Adds an optional 'conriguration' option similar to the one in
   [mta] which plugins can use to load their specific configs from.
</content>
</entry>
<entry>
<title>Add REST-ability to plugins.</title>
<updated>2017-08-07T15:39:07Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-06-01T18:53:53Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=a665dccf9404d6f95d8a4587f05d748b504e1f9d'/>
<id>urn:sha1:a665dccf9404d6f95d8a4587f05d748b504e1f9d</id>
<content type='text'>
 - Adds the rest_object method to the IPlugin interface. This method
   is called by the REST api to route requests to the plugin's REST
   api. All attributes are proxied, so the object becomes a true
   REST object in the ObjectRouter hierarchy. For example see the
   RESTExample and ExamplePlugin classes in mailman.testing.plugin.
   The plugin might return None from this method, in which case
   all calls to it's REST api route will return 404 NotFound.

 - Adds new routes to the REST api. For version &gt;= 3.1:

   - /3.1/plugins
     Returns a dictionary with plugin names as keys, and their configs
     as values.

   - /3.1/plugins/&lt;plugin_name&gt;
	 Proxies everything to plugin's rest_object, if plugin with such
     name exists and provides a non-null rest_object, else NotFound.
</content>
</entry>
<entry>
<title>Add per-plugin hooks, add docs about plugins.</title>
<updated>2017-08-07T15:39:07Z</updated>
<author>
<name>J08nY</name>
</author>
<published>2017-06-01T13:46:48Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=0d4f53b51892866b5cc85ace229b23f4b9bac896'/>
<id>urn:sha1:0d4f53b51892866b5cc85ace229b23f4b9bac896</id>
<content type='text'>
 - Removes pre_hook, post_hook and ext_dir. With the latter being
   unused. Warns on startup if the hooks are present in config.

 - Adds IPlugin interface with pre_hook and post_hook methods.

 - Adds 'class' config parameter to plugins, which can be set to
   a class implementing the IPlugin interface, it will be
   initialized once on Mailman's startup, then before the DB
   setup the pre_hook will be run, after DB and other components
   the post_hook will be run. Plugin instances are stored in the
   config.plugins dict, with keys being their configuration section
   names.
</content>
</entry>
<entry>
<title>Convert to click for CLI options</title>
<updated>2017-07-22T03:02:05Z</updated>
<author>
<name>Barry Warsaw</name>
</author>
<published>2017-07-22T03:02:05Z</published>
<link rel='alternate' type='text/html' href='https://git.neuromancer.sk/mailman.git/commit/?id=f00b94f18e1d82d1488cbcee6053f03423bc2f49'/>
<id>urn:sha1:f00b94f18e1d82d1488cbcee6053f03423bc2f49</id>
<content type='text'>
</content>
</entry>
</feed>
