Merge branch 'master' of gitorious.org:statusnet/mainline

This commit is contained in:
Brion Vibber 2010-01-27 20:49:40 -08:00
commit 944a89dfeb
6 changed files with 30 additions and 31 deletions

37
README
View File

@ -2,8 +2,8 @@
README README
------ ------
StatusNet 0.9.0 ("Stand") Beta 3 StatusNet 0.9.0 ("Stand") Beta 4
20 Jan 2010 27 Jan 2010
This is the README file for StatusNet (formerly Laconica), the Open This is the README file for StatusNet (formerly Laconica), the Open
Source microblogging platform. It includes installation instructions, Source microblogging platform. It includes installation instructions,
@ -597,26 +597,19 @@ server is probably a good idea for high-volume sites.
needs as a parameter the install path; if you run it from the needs as a parameter the install path; if you run it from the
StatusNet dir, "." should suffice. StatusNet dir, "." should suffice.
This will run eight (for now) queue handlers: This will run the queue handlers:
* queuedaemon.php - polls for queued items for inbox processing and
pushing out to OMB, SMS, XMPP, etc.
* xmppdaemon.php - listens for new XMPP messages from users and stores * xmppdaemon.php - listens for new XMPP messages from users and stores
them as notices in the database. them as notices in the database; also pulls queued XMPP output from
* jabberqueuehandler.php - sends queued notices in the database to queuedaemon.php to push out to clients.
registered users who should receive them.
* publicqueuehandler.php - sends queued notices in the database to
public feed listeners.
* ombqueuehandler.php - sends queued notices to OpenMicroBlogging
recipients on foreign servers.
* smsqueuehandler.php - sends queued notices to SMS-over-email addresses
of registered users.
* xmppconfirmhandler.php - sends confirmation messages to registered
users.
Note that these queue daemons are pretty raw, and need your care. In These two daemons will automatically restart in most cases of failure
particular, they leak memory, and you may want to restart them on a including memory leaks (if a memory_limit is set), but may still die
regular (daily or so) basis with a cron job. Also, if they lose or behave oddly if they lose connections to the XMPP or queue servers.
the connection to the XMPP server for too long, they'll simply die. It
may be a good idea to use a daemon-monitoring service, like 'monit', It may be a good idea to use a daemon-monitoring service, like 'monit',
to check their status and keep them running. to check their status and keep them running.
All the daemons write their process IDs (pids) to /var/run/ by All the daemons write their process IDs (pids) to /var/run/ by
@ -626,7 +619,7 @@ daemons.
Since version 0.8.0, it's now possible to use a STOMP server instead of Since version 0.8.0, it's now possible to use a STOMP server instead of
our kind of hacky home-grown DB-based queue solution. See the "queues" our kind of hacky home-grown DB-based queue solution. See the "queues"
config section below for how to configure to use STOMP. As of this config section below for how to configure to use STOMP. As of this
writing, the software has been tested with ActiveMQ ( writing, the software has been tested with ActiveMQ.
Sitemaps Sitemaps
-------- --------
@ -712,10 +705,12 @@ subdirectory to add a new language to your system. You'll need to
compile the ".po" files into ".mo" files, however. compile the ".po" files into ".mo" files, however.
Contributions of translation information to StatusNet are very easy: Contributions of translation information to StatusNet are very easy:
you can use the Web interface at http://status.net/pootle/ to add one you can use the Web interface at TranslateWiki.net to add one
or a few or lots of new translations -- or even new languages. You can or a few or lots of new translations -- or even new languages. You can
also download more up-to-date .po files there, if you so desire. also download more up-to-date .po files there, if you so desire.
For info on helping with translations, see http://status.net/wiki/Translations
Backups Backups
------- -------

View File

@ -303,8 +303,9 @@ class ApiOauthAuthorizeAction extends ApiOauthAction
$access = ($this->app->access_type & Oauth_application::$writeAccess) ? $access = ($this->app->access_type & Oauth_application::$writeAccess) ?
'access and update' : 'access'; 'access and update' : 'access';
$msg = _("The application <strong>%s</strong> by <strong>%s</strong> would like " . $msg = _('The application <strong>%1$s</strong> by ' .
"the ability to <strong>%s</strong> your account data."); '<strong>%2$s</strong> would like the ability ' .
'to <strong>%3$s</strong> your account data.');
$this->raw(sprintf($msg, $this->raw(sprintf($msg,
$this->app->name, $this->app->name,

View File

@ -326,9 +326,13 @@ class Notice extends Memcached_DataObject
# XXX: someone clever could prepend instead of clearing the cache # XXX: someone clever could prepend instead of clearing the cache
$notice->blowOnInsert(); $notice->blowOnInsert();
$qm = QueueManager::get(); if (common_config('queue', 'inboxes')) {
$qm = QueueManager::get();
$qm->enqueue($notice, 'distrib'); $qm->enqueue($notice, 'distrib');
} else {
$handler = new DistribQueueHandler();
$handler->handle($notice);
}
return $notice; return $notice;
} }
@ -1374,8 +1378,6 @@ class Notice extends Memcached_DataObject
} }
$reply->free(); $reply->free();
return $ids;
} }
function clearRepeats() function clearRepeats()

View File

@ -22,7 +22,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
//exit with 200 response, if this is checking fancy from the installer //exit with 200 response, if this is checking fancy from the installer
if (isset($_REQUEST['p']) && $_REQUEST['p'] == 'check-fancy') { exit; } if (isset($_REQUEST['p']) && $_REQUEST['p'] == 'check-fancy') { exit; }
define('STATUSNET_VERSION', '0.9.0beta3'); define('STATUSNET_VERSION', '0.9.0beta4');
define('LACONICA_VERSION', STATUSNET_VERSION); // compatibility define('LACONICA_VERSION', STATUSNET_VERSION); // compatibility
define('STATUSNET_CODENAME', 'Stand'); define('STATUSNET_CODENAME', 'Stand');

View File

@ -87,6 +87,7 @@ $default =
'monitor' => null, // URL to monitor ping endpoint (work in progress) 'monitor' => null, // URL to monitor ping endpoint (work in progress)
'softlimit' => '90%', // total size or % of memory_limit at which to restart queue threads gracefully 'softlimit' => '90%', // total size or % of memory_limit at which to restart queue threads gracefully
'debug_memory' => false, // true to spit memory usage to log 'debug_memory' => false, // true to spit memory usage to log
'inboxes' => true, // true to do inbox distribution & output queueing from in background via 'distrib' queue
), ),
'license' => 'license' =>
array('type' => 'cc', # can be 'cc', 'allrightsreserved', 'private' array('type' => 'cc', # can be 'cc', 'allrightsreserved', 'private'

View File

@ -87,7 +87,7 @@ class RealtimePlugin extends Plugin
$scripts = $this->_getScripts(); $scripts = $this->_getScripts();
foreach ($scripts as $script) { foreach ($scripts as $script) {
$action->script(common_path($script)); $action->script($script);
} }
$user = common_current_user(); $user = common_current_user();
@ -307,7 +307,7 @@ class RealtimePlugin extends Plugin
function _getScripts() function _getScripts()
{ {
return array('plugins/Realtime/realtimeupdate.js'); return array(common_path('plugins/Realtime/realtimeupdate.js'));
} }
function _updateInitialize($timeline, $user_id) function _updateInitialize($timeline, $user_id)