]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - README
Fix i18n for some very visible UI messages.
[quix0rs-gnu-social.git] / README
diff --git a/README b/README
index 452123db496001b1ea4c395f8f84787d48654c45..74ef138a2a32f6302c50f43ae1b0193e5b703bb3 100644 (file)
--- a/README
+++ b/README
@@ -2,8 +2,8 @@
 README
 ------
 
-StatusNet 0.9.3 ("Half a World Away")
-29 June 2010
+StatusNet 0.9.7 "World Leader Pretend"
+17 March 2011
 
 This is the README file for StatusNet, the Open Source microblogging
 platform. It includes installation instructions, descriptions of
@@ -38,11 +38,16 @@ more, please see the Open Software Service Definition 1.1:
     http://www.opendefinition.org/ossd
 
 StatusNet, Inc. <http://status.net/> also offers this software as a
-Web service, requiring no installation on your part. The software run
+Web service, requiring no installation on your part. See
+<http://status.net/signup> for details. The software run
 on status.net is identical to the software available for download, so
 you can move back and forth between a hosted version or a version
 installed on your own servers.
 
+A commercial software subscription is available from StatusNet Inc. It
+includes 24-hour technical support and developer support. More
+information at http://status.net/contact or email sales@status.net.
+
 License
 =======
 
@@ -68,6 +73,20 @@ License along with this program, in the file "COPYING".  If not, see
     of using the software, and if you do not wish to share your
     modifications, *YOU MAY NOT INSTALL STATUSNET*.
 
+Documentation in the /doc-src/ directory is available under the
+Creative Commons Attribution 3.0 Unported license, with attribution to
+"StatusNet". See http://creativecommons.org/licenses/by/3.0/ for details.
+
+CSS and images in the /theme/ directory are available under the
+Creative Commons Attribution 3.0 Unported license, with attribution to
+"StatusNet". See http://creativecommons.org/licenses/by/3.0/ for details.
+
+Our understanding and intention is that if you add your own theme that
+uses only CSS and images, those files are not subject to the copyleft
+requirements of the Affero General Public License 3.0. See
+http://wordpress.org/news/2009/07/themes-are-gpl-too/ . This is not
+legal advice; consult your lawyer.
+
 Additional library software has been made available in the 'extlib'
 directory. All of it is Free Software and can be distributed under
 liberal terms, but those terms may differ in detail from the AGPL's
@@ -77,40 +96,47 @@ for additional terms.
 New this version
 ================
 
-This is a minor bug and feature release since version 0.9.1 released 28 
-March 2010.
+This is a security, bug and feature release since version 0.9.6 released on
+23 October 2010.
 
-Because of fixes to OStatus bugs, it is highly recommended that all
-public sites upgrade to the new version immediately.
+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 version. Upgrades require new database indexes for
+best performance; see Upgrade below.
 
 Notable changes this version:
 
-- Installer no longer fails with a PHP fatal error when trying to set up the
-  subscription to update@status.net
-- Fixed email notifications for @-replies that come in via OStatus
-- OStatus related Fixes to the cloudy theme
-- Pass geo locations over Twitter bridge (will only be used if enabled on the
-  Twitter side)
-- scripts/showplugins.php - script to dump the list of activated plugins and
-  their settings
-- scripts/fixup_blocks.php - script to finds any stray subscriptions in
-  violation of blocks, and removes them
-- Allow blocking someone who's not currently subscribed to you (prevents
-  seeing @-replies from them, or them subbing to you in future)
-- Default 2-second timeout on Geonames web service lookups
-- Improved localization for plugins
-- New anti-spam measures: added nofollow rels to group members list,
-  subscribers list
-- Shared cache key option for Geonames plugin (lets multi-instance sites
-  share their cached geoname lookups)
-- Stability fixes to the TwitterStatusFetcher
-- If user allows location sharing but turned off browser location use profile
-  location
-- Improved group listing via the API
-- Improved FOAF output
-- Several other bugfixes
-
-A full changelog is available at http://status.net/wiki/StatusNet_0.9.2.
+- GroupPrivateMessage plugin lets users send private messages
+  to a group. (Similar to "private groups" on Yammer.)
+- Support for Twitter streaming API in Twitter bridge plugin
+- Support for a new Activity Streams-based API using AtomPub, allowing
+  richer API data. See http://status.net/wiki/AtomPub for details.
+- Unified Facebook plugin, replacing previous Facebook application
+  and Facebook Connect plugin.
+- A plugin to send out a daily summary email to network users.
+- In-line thumbnails of some attachments (video, images) and oEmbed objects.
+- Local copies of remote profiles to let moderators manage OStatus users.
+- Upgrade upstream JS, minify everything.
+- Allow pushing plugin JS, CSS, and static files to a CDN.
+- Configurable nickname rules.
+- Better support for bit.ly URL shortener.
+- InProcessCache plugin for additional caching on top of memcached.
+- Support for Activity Streams JSON feeds on many streams.
+- User-initiated backup and restore of account data in Activity Streams
+  format.
+- Bookmark plugin for making del.icio.us-like social bookmarking sites,
+  including del.icio.us backup file import. Supports OStatus.
+- SQLProfile plugin to tune SQL queries.
+- Better sorting on timelines to support restored or imported data.
+- Hundreds of translations from http://translatewiki.net/
+- Hundreds of performance tunings, bug fixes, and UI improvements.
+- Remove deprecated data from Activity Streams Atom output, to the
+  extent possible.
+- NewMenu plugin for new layout of menu items.
+- Experimental support for moving an account from one server to
+  another, using new AtomPub API.
+
+A full changelog is available at http://status.net/wiki/StatusNet_0.9.7.
 
 Prerequisites
 =============
@@ -121,8 +147,8 @@ run correctly.
 - PHP 5.2.3+. It may be possible to run this software on earlier
   versions of PHP, but many of the functions used are only available
   in PHP 5.2 or above. 5.2.6 or later is needed for XMPP background
-  daemons on 64-bit platforms. PHP 5.3.x should work but is known
-  to cause some failures for OpenID.
+  daemons on 64-bit platforms. PHP 5.3.x should work correctly in this
+  release, but problems with some plugins are possible.
 - MySQL 5.x. The StatusNet database is stored, by default, in a MySQL
   server. It has been primarily tested on 5.x servers, although it may
   be possible to install on earlier (or later!) versions. The server
@@ -138,7 +164,6 @@ Your PHP installation must include the following PHP extensions:
 - MySQL. For accessing the database.
 - GD. For scaling down avatar images.
 - mbstring. For handling Unicode (UTF-8) encoded strings.
-- gettext. For multiple languages. Default on many PHP installs.
 
 For some functionality, you will also need the following extensions:
 
@@ -153,6 +178,8 @@ For some functionality, you will also need the following extensions:
   Sphinx server to serve the search queries.
 - bcmath or gmp. For Salmon signatures (part of OStatus). Needed
   if you have OStatus configured.
+- gettext. For multiple languages. Default on many PHP installs;
+  will be emulated if not present.
 
 You will almost definitely get 2-3 times better performance from your
 site if you install a PHP bytecode cache/accelerator. Some well-known
@@ -197,14 +224,12 @@ and the URLs are listed here for your convenience.
   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.
@@ -222,9 +247,9 @@ especially if you've previously installed PHP/MySQL packages.
 1. Unpack the tarball you downloaded on your Web server. Usually a
    command like this will work:
 
-       tar zxf statusnet-0.9.2.tar.gz
+       tar zxf statusnet-0.9.7.tar.gz
 
-   ...which will make a statusnet-0.9.2 subdirectory in your current
+   ...which will make a statusnet-0.9.7 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.)
@@ -232,7 +257,7 @@ especially if you've previously installed PHP/MySQL packages.
 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.2 /var/www/statusnet
+       mv statusnet-0.9.7 /var/www/statusnet
 
    This will make your StatusNet instance available in the statusnet path of
    your server, like "http://example.net/statusnet". "microblog" or
@@ -591,7 +616,7 @@ subdirectory to add a new language to your system. You'll need to
 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.
 
@@ -647,7 +672,7 @@ with this situation.
 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.2. Try these step-by-step
+upgrade procedure in StatusNet 0.9.7. 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
@@ -668,24 +693,30 @@ instructions; read to the end first before trying them.
 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.2 tarball and move it to "statusnet" or
+7. Unpack your StatusNet 0.9.7 tarball and move it to "statusnet" or
    wherever your code used to be.
-8. Copy the config.php file and avatar directory from your old
-   directory to your new directory.
+8. Copy the config.php file and the contents of the avatar/, background/,
+   file/, and local/ subdirectories from your old directory to your new
+   directory.
 9. Copy htaccess.sample to .htaccess in the new directory. Change the
    RewriteBase to use the correct path.
-10. Rebuild the database. (You can safely skip this step and go to #12
-    if you're upgrading from another 0.9.x version).
+10. Rebuild the database.
 
     NOTE: this step is destructive and cannot be
     reversed. YOU CAN EASILY DESTROY YOUR SITE WITH THIS STEP. Don't
     do it without a known-good backup!
 
-    If your database is at version 0.8.0 or above, you can run a
+    If your database is at version 0.8.0 or higher in the 0.8.x line, you can run a
     special upgrade script:
 
         mysql -u<rootuser> -p<rootpassword> <database> db/08to09.sql
 
+    If you are upgrading from any 0.9.x version like 0.9.6, run this script:
+
+        mysql -u<rootuser> -p<rootpassword> <database> db/096to097.sql
+
+    Despite the name, it should work for any 0.9.x branch.
+
     Otherwise, go to your StatusNet directory and AFTER YOU MAKE A
     BACKUP run the rebuilddb.sh script like this:
 
@@ -715,6 +746,12 @@ statusnet.ini (since this is the recommended database name). If you
 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
 --------------
 
@@ -839,6 +876,8 @@ notice: A plain string that will appear on every page. A good place
     be escaped.
 logo: URL of an image file to use as the logo for the site. Overrides
     the logo in the theme, if any.
+ssllogo: URL of an image file to use as the logo on SSL pages. If unset,
+    theme logo is used instead.
 ssl: Whether to use SSL and https:// URLs for some or all pages.
     Possible values are 'always' (use it for all pages), 'never'
     (don't use it for any pages), or 'sometimes' (use it for
@@ -849,9 +888,7 @@ sslserver: use an alternate server name for SSL URLs, like
     parameters correctly so that both the SSL server and the
     "normal" server can access the session cookie and
     preferably other cookies as well.
-shorturllength: Length of URL at which URLs in a message exceeding 140
-    characters will be sent to the user's chosen
-    shortening service.
+shorturllength: ignored. See 'url' section below.
 dupelimit: minimum time allowed for one person to say the same thing
     twice. Default 60s. Anything lower is considered a user
     or UI error.
@@ -1098,6 +1135,9 @@ path: Path part of theme URLs, before the theme name. Relative to the
     which means to use the site path + '/theme'.
 ssl: Whether to use SSL for theme elements. Default is null, which means
     guess based on site SSL settings.
+sslserver: SSL server to use when page is HTTPS-encrypted. If
+    unspecified, site ssl server and so on will be used.
+sslpath: If sslserver if defined, path to use when page is HTTPS-encrypted.
 
 javascript
 ----------
@@ -1109,6 +1149,12 @@ path: Path part of Javascript URLs. Defaults to null,
     which means to use the site path + '/js/'.
 ssl: Whether to use SSL for JavaScript files. Default is null, which means
     guess based on site SSL settings.
+sslserver: SSL server to use when page is HTTPS-encrypted. If
+    unspecified, site ssl server and so on will be used.
+sslpath: If sslserver if defined, path to use when page is HTTPS-encrypted.
+bustframes: If true, all web pages will break out of framesets. If false,
+           can comfortably live in a frame or iframe... probably. Default
+           to true.
 
 xmpp
 ----
@@ -1246,6 +1292,12 @@ Profile management.
 
 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
 -------
@@ -1336,6 +1388,11 @@ ssl: whether to use HTTPS for file URLs. Defaults to null, meaning to
 filecommand: command to use for determining the type of a file. May be
     skipped if fileinfo extension is installed. Defaults to
     '/usr/bin/file'.
+sslserver: if specified, this server will be used when creating HTTPS
+    URLs. Otherwise, the site SSL server will be used, with /file/ path.
+sslpath: if this and the sslserver are specified, this path will be used
+    when creating HTTPS URLs. Otherwise, the attachments|path value
+    will be used.
 
 group
 -----
@@ -1347,13 +1404,25 @@ maxaliases: maximum number of aliases a group can have. Default 3. Set
 desclimit: maximum number of characters to allow in group descriptions.
     null (default) means to use the site-wide text limits. 0
     means no limit.
+addtag: Whether to add a tag for the group nickname for every group post 
+       (pre-1.0.x behaviour). Defaults to false.
 
-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
 ------
@@ -1392,8 +1461,9 @@ dir: directory to write backgrounds too. Default is '/background/'
     subdir of install dir.
 path: path to backgrounds. Default is sub-path of install path; note
     that you may need to change this if you change site-path too.
-ssl: Whether or not to use HTTPS for background files. Defaults to
-    null, meaning to guess from site-wide SSL settings.
+sslserver: SSL server to use when page is HTTPS-encrypted. If
+    unspecified, site ssl server and so on will be used.
+sslpath: If sslserver if defined, path to use when page is HTTPS-encrypted.
 
 ping
 ----
@@ -1426,6 +1496,8 @@ Configuration options specific to notices.
 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
 -------
@@ -1458,7 +1530,8 @@ If an installation has only one user, this can simplify a lot of the
 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
 ---------
@@ -1474,6 +1547,95 @@ disallow: Array of (virtual) directories to disallow. Default is 'main',
     'search', 'message', 'settings', 'admin'. Ignored when site
     is private, in which case the entire site ('/') is disallowed.
 
+api
+---
+
+Options for the Twitter-like API.
+
+realm: HTTP Basic Auth realm (see http://tools.ietf.org/html/rfc2617
+    for details). Some third-party tools like ping.fm want this to be
+    'Identi.ca API', so set it to that if you want to. default = null,
+    meaning 'something based on the site name'.
+
+nofollow
+--------
+
+We optionally put 'rel="nofollow"' on some links in some pages. The
+following configuration settings let you fine-tune how or when things
+are nofollowed. See http://en.wikipedia.org/wiki/Nofollow for more
+information on what 'nofollow' means.
+
+subscribers: whether to nofollow links to subscribers on the profile
+    and personal pages. Default is true.
+members: links to members on the group page. Default true.
+peopletag: links to people listed in the peopletag page. Default true.
+external: external links in notices. One of three values: 'sometimes',
+    'always', 'never'. If 'sometimes', then external links are not
+    nofollowed on profile, notice, and favorites page. Default is
+    'sometimes'.
+
+url
+---
+
+Everybody loves URL shorteners. These are some options for fine-tuning
+how and when the server shortens URLs.
+
+shortener: URL shortening service to use by default. Users can override
+           individually. 'ur1.ca' by default.
+maxlength: If an URL is strictly longer than this limit, it will be
+           shortened. Note that the URL shortener service may return an
+           URL longer than this limit. Defaults to 25. Users can
+           override. If set to 0, all URLs will be shortened.
+maxnoticelength: If a notice is strictly longer than this limit, all
+           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
 =======
 
@@ -1531,7 +1693,7 @@ repository (see below), and you get a compilation error ("unexpected
 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.2 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.
 
@@ -1642,6 +1804,10 @@ if anyone's been overlooked in error.
 * 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,