Brion Vibber [Wed, 4 Nov 2009 00:57:39 +0000 (16:57 -0800)]
Bringing Sphinx search support up to code: broken out to a plugin, now supports multiple sites on a single server.
Upgrade notes:
* Index names have changed from hardcoded 'Identica_people' and 'Identica_notices' to use the database name and actual table names. Must reindex.
New events:
* GetSearchEngine to override default search engine class selection from plugins
New scripts:
* gen_config.php generates a sphinx.conf from database configuration (with theoretical support for status_network table, but it doesn't seem to be cleanly queriable right now without knowing the db setup info for that. Needs generalized support.)
* Replaced old sphinx-indexer.sh and sphinx-cron.sh with index_update.php
Other fixes:
* sphinx.conf.sample better matches our live config, skipping unused stopword list and using a more realistic indexer memory limit
Further notes:
* Probably doesn't work right with PostgreSQL yet; Sphinx can pull from PG but the extraction queries currently look like they use some MySQL-specific functions.
Brion Vibber [Tue, 10 Nov 2009 16:47:54 +0000 (08:47 -0800)]
Performance fix for subscription/subscriber lists based on feedback from ops.
Extended subscription table indexes for subscriber and subscribed to include the created field, which is used to sort for display. This lets us skip a filesort and do the join much more efficiently.
Alter table from 08to09.sql needs to be run manually (though no ill effects if you forget other than not getting the perf improvement).
Brion Vibber [Tue, 10 Nov 2009 16:23:24 +0000 (08:23 -0800)]
Adjusting indexes to make favorites query more efficient, based on feedback from ops.
fave_user_id_idx index changed from (user_id) to (user_id,modified), so the timestamp ordering can be done straight from the index while we're looking up the user's notices.
Added to 08to09.sql and 08to09_pg.sql; may need to be run manually by folks doing development.
(No harm if you don't update it, the favorites tab/rss feed will just stay inefficent.)
Brion Vibber [Tue, 10 Nov 2009 15:57:58 +0000 (07:57 -0800)]
Revert untested code; spews PHP notice warnings on every page view: "just sent a http 200 for the check-fancy from install.php"
Notice: Undefined index: p in /Library/WebServer/Documents/mublog/lib/common.php on line 41
Rebuild pot file *without* --join-existing to get rid of the cruft. Not sure why "--join-existing" must be in. Only thing I can think of is manual additions, which I could not find.
"SMS address" header here makes no sense; it would be inconsistent with the other tabs and headings on the same and related pages, and would look very awkward with another giant "SMS" right above it
Brion Vibber [Sun, 8 Nov 2009 22:22:13 +0000 (23:22 +0100)]
Revert "* check usage of 'people' in UI and change it to 'users' or something else in most places"
This reverts commit 81b4a381d9ddc71ed8a53c074ea10910882d3156.
IMO "user" is a bit impersonal and we shouldn't go changing the tone of the UI willy-nilly when we're updating localisations.
Evan Prodromou [Sun, 8 Nov 2009 22:04:46 +0000 (17:04 -0500)]
Restructure theme.php to define a class Theme
For various reasons, it's nicer to have a class for theme-file paths
and such. So, I've rewritten the code for determining the locations of
theme files to be more OOPy.
I changed all the uses of the two functions in the module (theme_file
and theme_path) to use Theme::file and Theme::path respectively.
I've also removed the code in common.php that require's the module;
using a class means we can autoload it instead.
Brion Vibber [Sun, 8 Nov 2009 13:33:22 +0000 (14:33 +0100)]
Fix bug 1962: deleteuser.php regression when OpenID plugin not enabled
The User_openid data object was explicitly listed as a related field to delete from in User::delete(); this class doesn't exist anymore by default since OpenID was broken out to a plugin.
Added UserDeleteRelated event for plugins to add related tables to delete from at user delete time.
Localisation updates from translatewiki.net
* found some duplication in the large "Commands:" messages. Manually removed from the pot file, and then updated. Have to ask someone if I can just rebuild the complete pot from scratch, or if --join-existing is always needed (and if so, why). File appears to contain at least some dirt.
Zach Copley [Sat, 7 Nov 2009 01:21:08 +0000 (17:21 -0800)]
Better workaround for PHP returning empty $_POST and $_FILES when
POST length > post_max_size in php.ini. I also added this check to
avatar upload, which was failing with huge files.