README
------
-StatusNet 0.9.5 "What's The Frequency, Kenneth?"
-10 September 2010
+StatusNet 0.9.6 "Man on the Moon"
+29 October 2010
This is the README file for StatusNet, the Open Source microblogging
platform. It includes installation instructions, descriptions of
New this version
================
-This is a security, bug and feature release since version 0.9.4 released on
-16 August 2010.
+This is a security, bug and feature release since version 0.9.5 released on
+10 September 2010.
For best compatibility with client software and site federation, and a lot of
bug fixes, it is highly recommended that all public sites upgrade to the new
Notable changes this version:
-- Change of license for default themes and documentation from
- AGPLv3 to CC-By 3.0 Unported.
-- An experimental TinyMCE plugin to do in-browser rich editing of
- status updates. Does not support StatusNet syntax like @-replies or
- #hashtags very well.
-- An experimental plugin to add titles to notices.
-- A plugin to support the Echo <http://aboutecho.com/> commenting
- system.
-- A plugin to support the Disqus <http://disqus.com/> commenting system.
-- Changes to OStatus support to make StatusNet work for the Social Web
- Acid Test Level 0 <http://federatedsocialweb.net/wiki/SWAT0>.
-- Themes now support a theme.ini file for theme configuration, including
- defining a "base" theme.
-- Improved two-way Twitter integration, including support for
- repeats and retweets, replies, and faves going both ways across the
- bridge, as well as better parsing of Twitter statuses.
-
-A full changelog is available at http://status.net/wiki/StatusNet_0.9.5.
+- Site moderators can now delete groups.
+- New themes: clean, shiny, mnml, victorian
+- New YammerImport plugin allows site admins to import non-private profiles and
+ message from an authenticated Yammer site.
+- New experimental plugins: AnonFavorites, SlicedFavorites, GroupFavorited,
+ ForceGroup, ShareNotice
+- OAuth upgraded to 1.0a
+- Localization updates now include plugins, thanks to translatewiki.net!
+- SSL link generation should be more consistent; alternate SSL URLs can be
+ set in the admin UI for more parts of the system.
+- Experimental backupuser.php, restoreuser.php command-line scripts to
+ dump/restore a user's complete activity stream. Can be used to transfer
+ accounts manually between sites, or to save a backup before deleting.
+- Unicode fixes for OStatus notices
+- Header metadata on notice pages to aid in manual reposting on Facebook
+- Lots of little fixes...
+
+Changes from 0.9.6 release candidate 1:
+- fix for broken group pages when logged out
+- fix for stuck ping queue entries when bad profile
+- fix for bogus single-user nickname config entry error
+- i18n updates
+- nofollow updates
+- SSL-only mode secure cookie fix
+- experimental ApiLogger plugin for usage data gathering
+- experimental follow-everyone plugin
+
+A full changelog is available at http://status.net/wiki/StatusNet_0.9.6.
Prerequisites
=============
version may render your StatusNet site unable to send or receive XMPP
messages.
- Facebook library. Used for the Facebook application.
-- PEAR Services_oEmbed. Used for some multimedia integration.
-- PEAR HTTP_Request is an oEmbed dependency.
-- PEAR Validate is an oEmbed dependency.
-- PEAR Net_URL2 is an oEmbed dependency.
+- PEAR Validate is used for URL and email validation.
- Console_GetOpt for parsing command-line options.
- libomb. a library for implementing OpenMicroBlogging 0.1, the
predecessor to OStatus.
- HTTP_Request2, a library for making HTTP requests.
+- PEAR Net_URL2 is an HTTP_Request2 dependency.
A design goal of StatusNet is that the basic Web functionality should
work on even the most restrictive commercial hosting services.
1. Unpack the tarball you downloaded on your Web server. Usually a
command like this will work:
- tar zxf statusnet-0.9.5.tar.gz
+ tar zxf statusnet-0.9.6.tar.gz
- ...which will make a statusnet-0.9.5 subdirectory in your current
+ ...which will make a statusnet-0.9.6 subdirectory in your current
directory. (If you don't have shell access on your Web server, you
may have to unpack the tarball on your local computer and FTP the
files to the server.)
2. Move the tarball to a directory of your choosing in your Web root
directory. Usually something like this will work:
- mv statusnet-0.9.5 /var/www/statusnet
+ mv statusnet-0.9.6 /var/www/statusnet
This will make your StatusNet instance available in the statusnet path of
your server, like "http://example.net/statusnet". "microblog" or
compile the ".po" files into ".mo" files, however.
Contributions of translation information to StatusNet are very easy:
-you can use the Web interface at TranslateWiki.net 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
also download more up-to-date .po files there, if you so desire.
If you've been using StatusNet 0.7, 0.6, 0.5 or lower, or if you've
been tracking the "git" version of the software, you will probably
want to upgrade and keep your existing data. There is no automated
-upgrade procedure in StatusNet 0.9.5. Try these step-by-step
+upgrade procedure in StatusNet 0.9.6. Try these step-by-step
instructions; read to the end first before trying them.
0. Download StatusNet and set up all the prerequisites as if you were
5. Once all writing processes to your site are turned off, make a
final backup of the Web directory and database.
6. Move your StatusNet directory to a backup spot, like "statusnet.bak".
-7. Unpack your StatusNet 0.9.5 tarball and move it to "statusnet" or
+7. Unpack your StatusNet 0.9.6 tarball and move it to "statusnet" or
wherever your code used to be.
8. Copy the config.php file and the contents of the avatar/, background/,
file/, and local/ subdirectories from your old directory to your new
have a line in your config.php pointing to the old name, you'll need
to update it.
+NOTE: the 1.0.0 version of StatusNet changed the URLs for all admin
+panels from /admin/* to /panel/*. This now allows the (popular)
+username 'admin', but blocks the considerably less popular username
+'panel'. If you have an existing user named 'panel', you should rename
+them before upgrading.
+
Notice inboxes
--------------
biolimit: max character length of bio; 0 means no limit; null means to use
the site text limit default.
+backup: whether users can backup their own profiles. Defaults to true.
+restore: whether users can restore their profiles from backup files. Defaults
+ to true.
+delete: whether users can delete their own accounts. Defaults to false.
+move: whether users can move their accounts to another server. Defaults
+ to true.
newuser
-------
null (default) means to use the site-wide text limits. 0
means no limit.
-oohembed
+oembed
--------
-oEmbed endpoint for multimedia attachments (links in posts).
+oEmbed endpoint for multimedia attachments (links in posts). Will also
+work as 'oohembed' for backwards compatibility.
-endpoint: oohembed endpoint using http://oohembed.com/ software.
+endpoint: oohembed endpoint using http://oohembed.com/ software. Defaults to
+ 'http://oohembed.com/oohembed/'.
+order: Array of methods to check for OEmbed data. Methods include 'built-in'
+ (use a built-in function to simulate oEmbed for some sites),
+ 'well-known' (use well-known public oEmbed endpoints),
+ 'discovery' (discover using <link> headers in HTML), 'service' (use
+ a third-party service, like oohembed or embed.ly. Default is
+ array('built-in', 'well-known', 'service', 'discovery'). Note that very
+ few sites implement oEmbed; 'discovery' is going to fail 99% of the
+ time.
search
------
contentlimit: max length of the plain-text content of a notice.
Default is null, meaning to use the site-wide text limit.
0 means no limit.
+defaultscope: default scope for notices. Defaults to 0; set to
+ 1 to keep notices private to this site by default.
message
-------
interface. It also makes the user's profile the root URL.
enabled: Whether to run in "single user mode". Default false.
-nickname: nickname of the single user.
+nickname: nickname of the single user. If no nickname is specified,
+ the site owner account will be used (if present).
robotstxt
---------
URLs in the notice will be shortened. Users can override.
-1 means the text limit for notices.
+router
+------
+
+We use a router class for mapping URLs to code. This section controls
+how that router works.
+
+cache: whether to cache the router in memcache (or another caching
+ mechanism). Defaults to true, but may be set to false for
+ developers (who might be actively adding pages, so won't want the
+ router cached) or others who see strange behavior. You're unlikely
+ to need this unless you're a developer.
+
+http
+----
+
+Settings for the HTTP client.
+
+ssl_cafile: location of the CA file for SSL. If not set, won't verify
+ SSL peers. Default unset.
+curl: Use cURL <http://curl.haxx.se/> for doing HTTP calls. You must
+ have the PHP curl extension installed for this to work.
+proxy_host: Host to use for proxying HTTP requests. If unset, doesn't
+ do any HTTP proxy stuff. Default unset.
+proxy_port: Port to use to connect to HTTP proxy host. Default null.
+proxy_user: Username to use for authenticating to the HTTP proxy. Default null.
+proxy_password: Password to use for authenticating to the HTTP proxy. Default null.
+proxy_auth_scheme: Scheme to use for authenticating to the HTTP proxy. Default null.
+
+plugins
+-------
+
+default: associative array mapping plugin name to array of arguments. To disable
+ a default plugin, unset its value in this array.
+locale_path: path for finding plugin locale files. In the plugin's directory
+ by default.
+server: Server to find static files for a plugin when the page is plain old HTTP.
+ Defaults to site/server (same as pages). Use this to move plugin CSS and
+ JS files to a CDN.
+sslserver: Server to find static files for a plugin when the page is HTTPS. Defaults
+ to site/server (same as pages). Use this to move plugin CSS and JS files
+ to a CDN.
+path: Path to the plugin files. defaults to site/path + '/plugins/'. Expects that
+ each plugin will have a subdirectory at plugins/NameOfPlugin. Change this
+ if you're using a CDN.
+sslpath: Path to use on the SSL server. Same as plugins/path.
+
Plugins
=======
T_STRING") in the browser, check to see that you don't have any
conflicts in your code.
-If you upgraded to StatusNet 0.9.5 without reading the "Notice
+If you upgraded to StatusNet 0.9.x without reading the "Notice
inboxes" section above, and all your users' 'Personal' tabs are empty,
read the "Notice inboxes" section above.
* mEDI
* Brett Taylor
* Brigitte Schuster
+* Siebrand Mazeland and the amazing volunteer translators at translatewiki.net
+* Brion Vibber, StatusNet, Inc.
+* James Walker, StatusNet, Inc.
+* Samantha Doherty, designer, StatusNet, Inc.
Thanks also to the developers of our upstream library code and to the
thousands of people who have tried out Identi.ca, installed StatusNet,