gnu-social/plugins
Brion Vibber 26fdf0c9d2 XMPP queued output & initial retooling of DB queue manager to support non-Notice objects.
Queue handlers for XMPP individual & firehose output now send their XML stanzas
to another output queue instead of connecting directly to the chat server. This
lets us have as many general processing threads as we need, while all actual
XMPP input and output go through a single daemon with a single connection open.

This avoids problems with multiple connected resources:
* multiple windows shown in some chat clients (psi, gajim, kopete)
* extra load on server
* incoming message delivery forwarding issues

Database changes:
* queue_item drops 'notice_id' in favor of a 'frame' blob.
  This is based on Craig Andrews' work branch to generalize queues to take any
  object, but conservatively leaving out the serialization for now.
  Table updater (preserves any existing queued items) in db/rc3to09.sql

Code changes to watch out for:
* Queue handlers should now define a handle() method instead of handle_notice()
* QueueDaemon and XmppDaemon now share common i/o (IoMaster) and respawning
  thread management (RespawningDaemon) infrastructure.
* The polling XmppConfirmManager has been dropped, as the message is queued
  directly when saving IM settings.
* Enable $config['queue']['debug_memory'] to output current memory usage at
  each run through the event loop to watch for memory leaks

To do:
* Adapt XMPP i/o to component connection mode for multi-site support.
* XMPP input can also be broken out to a queue, which would allow the actual
  notice save etc to be handled by general queue threads.
* Make sure there are no problems with simply pushing serialized Notice objects
  to queues.
* Find a way to improve interactive performance of the database-backed queue
  handler; polling is pretty painful to XMPP.
* Possibly redo the way QueueHandlers are injected into a QueueManager. The
  grouping used to split out the XMPP output queue is a bit awkward.
2010-01-21 16:42:50 -08:00
..
Autocomplete Add version information to a bunch of plugins 2010-01-09 19:04:53 -05:00
BitlyUrl add versions for url-shortener plugins 2010-01-08 00:20:38 -08:00
Blacklist Mapstraction PluginVersion 2010-01-08 00:38:20 -08:00
CasAuthentication dos -> unix line endings on CasAuthentication's CAS library 2010-01-11 15:42:17 -08:00
Comet define LACONICA and accept LACONICA for backwards compatibility 2009-08-26 10:41:36 -04:00
EmailAuthentication Add version information to a bunch of plugins 2010-01-09 19:04:53 -05:00
Enjit XMPP queued output & initial retooling of DB queue manager to support non-Notice objects. 2010-01-21 16:42:50 -08:00
Facebook XMPP queued output & initial retooling of DB queue manager to support non-Notice objects. 2010-01-21 16:42:50 -08:00
FeedSub Fix for auto_increment parameter in auto-created tables via checkschema. 2010-01-04 10:30:58 -08:00
FirePHP Add version information to a bunch of plugins 2010-01-09 19:04:53 -05:00
Gravatar Add version information to a bunch of plugins 2010-01-09 19:04:53 -05:00
Imap Made the IMAP plugin work in the style of the new queue/iomanagers 2010-01-13 15:35:53 -05:00
InfiniteScroll Add version information to a bunch of plugins 2010-01-09 19:04:53 -05:00
LdapAuthentication Add nickname suggestion capability for use during autoregistration. 2010-01-14 19:52:11 -05:00
LdapAuthorization Add version information to a bunch of plugins 2010-01-09 19:04:53 -05:00
LilUrl add versions for url-shortener plugins 2010-01-08 00:20:38 -08:00
Mapstraction Mapstraction PluginVersion 2010-01-08 00:38:20 -08:00
Meteor Removed old comments 2009-11-12 10:24:18 +00:00
Minify Add version information to a bunch of plugins 2010-01-09 19:04:53 -05:00
Mobile Init for WAP 2.0 and XHTML Mobile Profile support. WAP20Plugin is a 2009-10-02 11:46:14 +00:00
MobileProfile Better alignment for notice options in MobileProfile 2010-01-20 18:50:48 +01:00
Mollom Use plugin configuration instead of common_config() 2010-01-06 00:20:15 -05:00
OpenID inject session before redirect for openid finish login 2010-01-11 08:40:41 +00:00
Orbited remove spurious readme from Orbited 2009-10-04 04:11:10 -04:00
PoweredByStatusNet Apparently, I can't spell my family name. 2010-01-11 13:02:04 +01:00
PtitUrl add versions for url-shortener plugins 2010-01-08 00:20:38 -08:00
PubSubHubBub add class and function doc comments to PuSH plugin 2010-01-20 16:37:41 -05:00
Realtime use whoGets() for realtime plugin 2010-01-09 13:56:54 -08:00
Recaptcha Added Plugin Version info to recaptcha plugin 2010-01-18 18:33:09 -05:00
RequireValidatedEmail Add version information to a bunch of plugins 2010-01-09 19:04:53 -05:00
ReverseUsernameAuthentication Add version information to a bunch of plugins 2010-01-09 19:04:53 -05:00
RSSCloud XMPP queued output & initial retooling of DB queue manager to support non-Notice objects. 2010-01-21 16:42:50 -08:00
Sample add version info to SamplePlugin 2010-01-07 17:37:44 -08:00
SimpleUrl add versions for url-shortener plugins 2010-01-08 00:20:38 -08:00
SphinxSearch Bringing Sphinx search support up to code: broken out to a plugin, now supports multiple sites on a single server. 2009-11-10 13:44:40 -08:00
TightUrl add versions for url-shortener plugins 2010-01-08 00:20:38 -08:00
TwitterBridge XMPP queued output & initial retooling of DB queue manager to support non-Notice objects. 2010-01-21 16:42:50 -08:00
UrlShortener Ticket 1870: drop unnecessary Tidy module installation requirement. 2009-11-30 09:12:19 -08:00
UserFlag Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-06 23:23:30 -08:00
APCPlugin.php Add version information to a bunch of plugins 2010-01-09 19:04:53 -05:00
BlogspamNetPlugin.php Revert "Remove more contractions" 2009-11-09 20:01:46 +01:00
CacheLogPlugin.php Add version info to the CacheLog plugin 2010-01-07 17:39:15 -08:00
DiskCachePlugin.php safer storage for diskcacheplugin 2010-01-11 16:23:34 -08:00
GeonamesPlugin.php add version information to Geonames plugin 2010-01-07 17:27:01 -08:00
GeoURLPlugin.php add version information to GeoURL 2010-01-07 17:58:48 -08:00
GoogleAnalyticsPlugin.php add version information to GoogleAnalytics 2010-01-07 17:51:57 -08:00
LinkbackPlugin.php Actually skip the pingback if XML-RPC extension is missing, instead of considering it then trying anyway and dying of a fatal error. :) 2010-01-12 12:12:31 -08:00
MemcachePlugin.php Cleanup for memcached host/port split -- apparently we use ';' on purpose, restoring. Keeping fix for the notices spewing into the log. 2010-01-16 13:39:05 -08:00
PiwikAnalyticsPlugin.php add version information to PiwikAnalyticsPlugin 2010-01-07 17:47:23 -08:00
README-plugins add a quickie plugins/ dir readme mentioning how to add plugins, plus ref to wiki pages 2010-01-18 09:37:42 -08:00
SubscriptionThrottlePlugin.php throttle subscriptions 2010-01-13 03:11:31 -08:00
TemplatePlugin.php add version info to the Template plugin 2010-01-07 17:43:56 -08:00
WikiHashtagsPlugin.php PluginVersion for WikiHashtags 2010-01-08 00:29:09 -08:00
XCachePlugin.php Add version information to a bunch of plugins 2010-01-09 19:04:53 -05:00