Brion Vibber [Mon, 4 Jan 2010 22:38:56 +0000 (14:38 -0800)]
Exclude process-specific link & result cache references from serialized Memcached_Data_Object instances.
Should fix seemingly-random bugs due to destructor free()ing local resources by mistake.
Brion Vibber [Mon, 4 Jan 2010 21:01:17 +0000 (13:01 -0800)]
Ticket 2141: bugs with weighted popularity lists across year boundary.
Consolidated several separate implementations of the same weighting algorithm into common_sql_weight() and fixed some bugs...
For MySQL, now using timestampdiff() instead of subtraction for the comparison, so we get sane results when the year doesn't match, and utc_timestamp() rather than now() so we don't get negative ages for recent items with local server timezone.
Unknown whether the same problems affect PostgreSQL, but note that it lacks the timestampdiff() SQL function.
Evan Prodromou [Mon, 4 Jan 2010 20:00:17 +0000 (10:00 -1000)]
Memcached_DataObject stores empty values in the cache
There's great value in knowing that something doesn't exist. We
now cache this information, and carefully compare the results from
cache as $results !== false instead of !empty($results), since some
empty values (null, 0, empty array, empty string) are stored in the
cache.
Caching staticGet() and pkeyGet() now store DB misses in the cache,
and cachedQuery() checks for empty results from the cache.
Brion Vibber [Mon, 4 Jan 2010 19:55:27 +0000 (11:55 -0800)]
Ticket 2141: bugs with weighted popularity lists across year boundary.
Consolidated several separate implementations of the same weighting algorithm into common_sql_weight() and fixed some bugs...
For MySQL, now using timestampdiff() instead of subtraction for the comparison, so we get sane results when the year doesn't match, and utc_timestamp() rather than now() so we don't get negative ages for recent items with local server timezone.
Unknown whether the same problems affect PostgreSQL, but note that it lacks the timestampdiff() SQL function.
Evan Prodromou [Mon, 4 Jan 2010 18:59:19 +0000 (08:59 -1000)]
Stop caching unfindable keys
There were some problems with the automated cache/uncache system
for data objects that made us cache unfindable keys (with null
attributes and sometimes null names). Fixed those problems and
refactored the encache() and decache() methods so they use a helper
to find the cache keys to use.
Brion Vibber [Mon, 4 Jan 2010 18:41:52 +0000 (10:41 -0800)]
Drop the overly-prominent link to checklibs display; it's unnecessary and just confuses people.
The ability's still there to aid in debugging, but it won't be tempting people to click on it.
Brion Vibber [Mon, 4 Jan 2010 18:30:19 +0000 (10:30 -0800)]
Fix for auto_increment parameter in auto-created tables via checkschema.
Update FeedSub plugin for non-Plugin_DataObject setup and working checkschema updates.
Craig Andrews [Mon, 4 Jan 2010 17:49:25 +0000 (12:49 -0500)]
Enable memcache automatic compression, starting at 20k and only if compression gain is greater than 20%.
Allows storage of larger objects (over 1mb in size uncompressed), such as huge LDAP schemas.
Should also improve cache efficiency (allows more stuff to be stored in same memory) and reduce network latency (less data transfer)
Added errorCallback() to geoCurrentPosition() i.e., if user doesn't
grant permission, removes the Geo processing and (if any) existing geo
location data from notice form.
Evan Prodromou [Sun, 3 Jan 2010 21:02:36 +0000 (11:02 -1000)]
Expand SamplePlugin to show other best practices
I modified the SamplePlugin to show how to do some real processing,
adding a data class and an action class and modifying the main
menu to link to the new action. I added documentation comments to
all the methods and made sure the modules were PHPCS-clean.
Zach Copley [Thu, 31 Dec 2009 22:32:10 +0000 (22:32 +0000)]
- Use a stripped down new notice form for FB app because FB canvas apps
can't support image upload via multipart/form-data (and location sharing
is iffy).
- Deal with new error code 100 from Facebook, which seem to be for
inactive accounts.
Evan Prodromou [Thu, 31 Dec 2009 22:38:58 +0000 (12:38 -1000)]
Script to update the location ID for users
Since we added locations to the database, some users may have
location strings in their profiles but not structured locations. This
script updates the locations for single users or for all users.
Sarven Capadisli [Thu, 31 Dec 2009 16:19:49 +0000 (16:19 +0000)]
If UA doens't support navigation.geolocation or have JavaScript
enabled, the user should still be able to enable/disable their share
location setting per notice.