]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - README
Combine Facebook and Facebook Connect plugins into one big plugin
[quix0rs-gnu-social.git] / README
diff --git a/README b/README
index ca317b4ed670b821189a9b5d2fedb812e39f9f66..ee75b802ea40fb1349640279e387efeee1711035 100644 (file)
--- a/README
+++ b/README
@@ -2,24 +2,24 @@
 README
 ------
 
-StatusNet 0.8.1 ("Second Guessing")
+StatusNet 0.8.2 ("Life and How to Live It")
 26 Aug 2009
 
-This is the README file for StatusNet, the Open Source microblogging
-platform. It includes installation instructions, descriptions of
-options you can set, warnings, tips, and general info for
-administrators. Information on using StatusNet can be found in the
+This is the README file for StatusNet (formerly Laconica), the Open
+Source microblogging platform. It includes installation instructions,
+descriptions of options you can set, warnings, tips, and general info
+for administrators. Information on using StatusNet can be found in the
 "doc" subdirectory or in the "help" section on-line.
 
 About
 =====
 
-StatusNet (pronounced "luh-KAWN-ih-kuh") is a Free and Open Source
-microblogging platform. It helps people in a community, company or
-group to exchange short (140 character) messages over the Web. Users
-can choose which people to "follow" and receive only their friends' or
-colleagues' status messages. It provides a similar service to sites
-like Twitter, Jaiku and Plurk.
+StatusNet (formerly Laconica) is a Free and Open Source microblogging
+platform. It helps people in a community, company or group to exchange
+short (140 character) messages over the Web. Users can choose which
+people to "follow" and receive only their friends' or colleagues'
+status messages. It provides a similar service to sites like Twitter,
+Jaiku, Yammer, and Plurk.
 
 With a little work, status messages can be sent to mobile phones,
 instant messenger programs (GTalk/Jabber), and specially-designed
@@ -37,6 +37,12 @@ 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
+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.
+
 License
 =======
 
@@ -71,62 +77,49 @@ for additional terms.
 New this version
 ================
 
-This is a major feature release since version 0.7.4, released May 31
-2009. Notable changes this version:
-
-- Support for a hosted service (status network). Multiple sites can
-  share the same codebase but use different databases.
-- OEmbed. Links to pages that support OEmbed (http://www.oembed.com/)
-  become popup links, and the media are shown in a special lightbox.
-- File attachments. Users can attach files of the size and type approved
-  by an administrator, and a shortened link will be included in the
-  notice.
-- Related notices are organized into conversations, with each reply a
-  branch in a tree. Conversations have pages and are linked to from each
-  notice in the conversation.
-- User designs. Users can specify colours and backgrounds
-  for their profile pages and other "personal" pages.
-- Group designs. Group administrators can specify similar designs for
-  group profiles and related pages.
-- Site designs. Site authors can specify a design (background and
-  colors) for the site.
-- New themes. Five new themes are added to the base release; these show
-  off the flexibility of StatusNet's theming system.
-- Statistics. Public sites will periodically send usage statistics,
-  configuration options, and dependency information to StatusNet dev site.
-  This will help us understand how the software is used and plan future
-  versions of the software.
-- Additional hooks. The hooks and plugins system introduced in 0.7.x was
-  expanded with additional points of access.
-- Facebook Connect. A new plugin allows logging in with Facebook Connect
-  (http://developers.facebook.com/connect.php).
-- A session handler. A new optional session handler class to manage PHP
-  sessions reliably and quickly for large sites.
-- STOMP queuing. Queue management for offline daemons has been
-  abstracted with three concrete instances. A new interface that should
-  work with STOMP servers like ActiveMQ and RabbitMQ is available, which
-  should make things scale better.
-- Group block. Group admins can block users from joining or posting to
-  a group.
-- Group aliases. Groups can be referred to with aliases, additional
-  names. For example, "!yul" and "!montreal" can be the same group.
-- Bidirectional Twitter bridge. Users can read the tweets their Twitter
-  friends post on Twitter.
-- Adaptation of WordPress.com Terms of Service (http://en.wordpress.com/tos/)
-  as default TOS for StatusNet sites.
-- Better command-line handling for scripts, including standard options
-  and ability to set hostname and path from the command line.
-- An experimental plugin to use Meteor (http://www.meteorserver.org/)
-  for "real-time" updates.
-- A new framework for "real-time" updates, making it easier to develop
-  plugins for different browser-based update modes.
-- RSS 2.0 and Atom feeds for groups.
-- RSS 2.0 and Atom feeds for tags.
-- Attachments can be sent by email.
-- Attachments are encoded as enclosures in RSS 2.0 and Atom.
-- Notices with attachments display in Facebook as media inline.
-
-- Many, many bug fixes.
+This is a minor feature and bugfix release since version 0.8.0,
+released Jul 15 2009. Notable changes this version:
+
+- Laconica has been renamed StatusNet. With a few minor compatibility
+  exceptions, all references to "Laconica" in code, documentation
+  and comments were changed to "StatusNet".
+- A new plugin to support "infinite scroll".
+- A new plugin to support reCaptcha <http://recaptcha.net>.
+- Better logging of server errors.
+- Add an Openid-only mode for authentication.
+- 'lite' parameter for some Twitter API methods.
+- A new plugin to auto-complete nicknames for @-replies.
+- Configuration options to disable OpenID, SMS, Twitter, post-by-email, and IM.
+- Support for lighttpd <http://lighttpd.org/> using 404-based
+  rewrites.
+- Support for using Twitter's OAuth authentication as a client.
+- First version of the groups API.
+- Can configure a site-wide design, including background image and
+  colors.
+- Improved algorithm for replies and conversations, making
+  conversation trees more accurate and useful.
+- Add a script to create a simulation database for testing/debugging.
+- Sanitize HTML for OEmbed.
+- Improved queue management for DB-based queuing.
+- More complete URL detection.
+- Hashtags now support full Unicode character set.
+- Notice inboxes are now garbage-collected on a regular basis
+  at notice-write time.
+- PiwikAnalyticsPlugin updated for latest Piwik interface.
+- Attachment and notice pages can be embedded with OEmbed
+  <http://www.oembed.com>.
+- Failed authentication is logged.
+- PostgreSQL schema and support brought up-to-date with 0.8.x features.
+- The installer works with PostgreSQL as well as MySQL.
+- RSS 1.0 feeds use HTTP Basic authentication in private mode.
+- Many, many bug fixes, particularly with performance.
+- Better (=working) garbage collection for old sessions.
+- Better (=working) search queries.
+- Some cleanup of HTML output.
+- Better error handling when updating Facebook.
+- Considerably better performance when using replication for API
+  calls.
+- Initial unit tests.
 
 Prerequisites
 =============
@@ -153,6 +146,7 @@ Your PHP installation must include the following PHP extensions:
 - GD. For scaling down avatar images.
 - mbstring. For handling Unicode (UTF-8) encoded strings.
 - gettext. For multiple languages. Default on many PHP installs.
+- tidy. Used to clean up HTML/URLs for the URL shortener to consume.
 
 For some functionality, you will also need the following extensions:
 
@@ -231,9 +225,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.8.0.tar.gz
+          tar zxf statusnet-0.8.1.tar.gz
 
-   ...which will make a statusnet-0.8.0 subdirectory in your current
+   ...which will make a statusnet-0.8.1 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.)
@@ -241,7 +235,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.8.0 /var/www/mublog
+          mv statusnet-0.8.1 /var/www/mublog
 
    This will make your StatusNet instance available in the mublog path of
    your server, like "http://example.net/mublog". "microblog" or
@@ -532,8 +526,6 @@ This will run eight (for now) queue handlers:
   of registered users.
 * xmppconfirmhandler.php - sends confirmation messages to registered
   users.
-* twitterqueuehandler.php - sends queued notices to Twitter for user
-  who have opted to set up Twitter bridging.
 * facebookqueuehandler.php - sends queued notices to Facebook for users
   of the built-in Facebook application.
 
@@ -548,59 +540,11 @@ All the daemons write their process IDs (pids) to /var/run/ by
 default. This can be useful for starting, stopping, and monitoring the
 daemons.
 
-With 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"
 config section below for how to configure to use STOMP. As of this
 writing, the software has been tested with ActiveMQ (
 
-Twitter Bridge
---------------
-
-* OAuth
-
-As of 0.8.1, OAuth is used to to access protected resources on Twitter
-instead of HTTP Basic Auth.  To use Twitter bridging you will need
-to register your instance of StatusNet as an application on Twitter
-(http://twitter.com/apps), and update the following variables in your
-config.php with the consumer key and secret Twitter generates for you:
-
-      $config['twitter']['consumer_key']    = 'YOURKEY';
-      $config['twitter']['consumer_secret'] = 'YOURSECRET';
-
-When registering your application with Twitter set the type to "Browser"
-and your Callback URL to:
-
-      http://example.org/mublog/twitter/authorization
-
-The default access type should be, "Read & Write".
-
-* Importing statuses from Twitter
-
-To allow your users to import their friends' Twitter statuses, you will
-need to enable the bidirectional Twitter bridge in config.php:
-
-      $config['twitterbridge']['enabled'] = true;
-
-and run the TwitterStatusFetcher daemon (scripts/twitterstatusfetcher.php).
-Additionally, you will want to set the integration source variable,
-which will keep notices posted to Twitter via StatusNet from looping
-back.  The integration source should be set to the name of your
-application, exactly as you specified it on the settings page for your
-StatusNet application on Twitter, e.g.:
-
-      $config['integration']['source'] = 'YourApp';
-
-* Twitter Friends Syncing
-
-Users may set a flag in their settings ("Subscribe to my Twitter friends
-here" under the Twitter tab) to have StatusNet attempt to locate and
-subscribe to "friends" (people they "follow") on Twitter who also have
-accounts on your StatusNet system, and who have previously set up a link
-for automatically posting notices to Twitter.
-
-As of 0.8.0, this is no longer accomplished via a cron job. Instead you
-must run the SyncTwitterFriends daemon (scripts/synctwitterfreinds.php).
-
 Built-in Facebook Application
 -----------------------------
 
@@ -629,10 +573,10 @@ key and secret, e.g.:
 
 In Facebook's application editor, specify the following URLs for your app:
 
-- Callback URL: http://example.net/mublog/facebook/
-- Post-Remove URL: http://example.net/mublog/facebook/remove
+- Canvas Callback URL: http://example.net/mublog/facebook/
+- Post-Remove Callback URL: http://example.net/mublog/facebook/remove
 - Post-Add Redirect URL: http://apps.facebook.com/yourapp/
-- Canvas URL: http://apps.facebook.com/yourapp/
+- Canvas Page URL: http://apps.facebook.com/yourapp/
 
 (Replace 'example.net' with your host's URL, 'mublog' with the path
 to your StatusNet installation, and 'yourapp' with the name of the
@@ -774,7 +718,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.8.0. Try these step-by-step
+upgrade procedure in StatusNet 0.8.1. 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
@@ -795,13 +739,16 @@ 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 "mublog.bak".
-7. Unpack your StatusNet 0.8.0 tarball and move it to "mublog" or
+7. Unpack your StatusNet 0.8.1 tarball and move it to "mublog" or
    wherever your code used to be.
 8. Copy the config.php file and avatar directory 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. NOTE: this step is destructive and cannot be
+10. Rebuild the database. (You can safely skip this step and go to #12
+    if you're upgrading from another 0.8.x version).
+
+    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!
 
@@ -834,7 +781,7 @@ the fixup_* scripts in the scripts directories. These will store some
 precooked data in the DB. All upgraders should check out the inboxes
 options below.
 
-NOTE: the database definition file, stoica.ini, has been renamed to
+NOTE: the database definition file, laconica.ini, has been renamed to
 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.
@@ -842,37 +789,8 @@ to update it.
 Notice inboxes
 --------------
 
-Before version 0.6.2, the page showing all notices from people the
-user is subscribed to ("so-and-so with friends") was calculated at run
-time. Starting with 0.6.2, we have a new data structure for holding a
-user's "notice inbox". (Note: distinct from the "message inbox", which
-is the "inbox" tab in the UI. The notice inbox appears under the
-"Personal" tab.)
-
-Notices are added to the inbox when they're created. This speeds up
-the query considerably, and also allows us the opportunity, in the
-future, to add different kind of notices to an inbox -- like @-replies
-or subscriptions to search terms or hashtags.
-
-Notice inboxes are enabled by default for new installations. If you
-are upgrading an existing site, this means that your users will see
-empty "Personal" pages. The following steps will help you fix the
-problem.
-
-0. $config['inboxes']['enabled'] can be set to one of three values. If
-   you set it to 'false', the site will work as before. Support for this
-   will probably be dropped in future versions.
-1. Setting the flag to 'transitional' means that you're in transition.
-   In this mode, the code will run the "new query" or the "old query"
-   based on whether the user's inbox has been updated.
-2. After setting the flag to "transitional", you can run the
-   fixup_inboxes.php script to create the inboxes. You may want to set
-   the memory limit high. You can re-run it without ill effect.
-3. When fixup_inboxes is finished, you can set the enabled flag to
-   'true'.
-
-NOTE: we will drop support for non-inboxed sites in the 0.9.x version
-of StatusNet. It's time to switch now!
+Notice inboxes are now required. If you don't have inboxes enabled,
+StatusNet will no longer run.
 
 UTF-8 Database
 --------------
@@ -968,8 +886,6 @@ closed: If set to 'true', will disallow registration on your site.
        the service, *then* set this variable to 'true'.
 inviteonly: If set to 'true', will only allow registration if the user
            was invited by an existing user.
-openidonly: If set to 'true', will only allow registrations and logins
-           through OpenID.
 private: If set to 'true', anonymous users will be redirected to the
          'login' page. Also, API methods that normally require no
          authentication will require it. Note that this does not turn
@@ -997,6 +913,9 @@ shorturllength: Length of URL at which URLs in a message exceeding 140
 dupelimit: minimum time allowed for one person to say the same thing
            twice. Default 60s. Anything lower is considered a user
            or UI error.
+textlimit: default max size for texts in the site. Defaults to 140.
+           0 means no limit. Can be fine-tuned for notices, messages,
+           profile bios and group descriptions.
 
 db
 --
@@ -1036,6 +955,14 @@ utf8: whether to talk to the database in UTF-8 mode. This is the default
       with new installations, but older sites may want to turn it off
       until they get their databases fixed up. See "UTF-8 database"
       above for details.
+schemacheck: when to let plugins check the database schema to add
+             tables or update them. Values can be 'runtime' (default)
+             or 'script'. 'runtime' can be costly (plugins check the
+             schema on every hit, adding potentially several db
+             queries, some quite long), but not everyone knows how to
+             run a script. If you can, set this to 'script' and run
+             scripts/checkschema.php whenever you install or upgrade a
+             plugin.
 
 syslog
 ------
@@ -1197,14 +1124,6 @@ For configuring invites.
 
 enabled: Whether to allow users to send invites. Default true.
 
-openid
-------
-
-For configuring OpenID.
-
-enabled: Whether to allow users to register and login using OpenID. Default
-        true.
-
 tag
 ---
 
@@ -1282,24 +1201,11 @@ For SMS integration.
 enabled: Whether to enable SMS integration. Defaults to true. Queues
          should also be enabled.
 
-twitter
--------
-
-For Twitter integration
-
-enabled: Whether to enable Twitter integration. Defaults to true.
-         Queues should also be enabled.
-
 integration
 -----------
 
 A catch-all for integration with other systems.
 
-source: The name to use for the source of posts to Twitter. Defaults
-       to 'statusnet', but if you request your own source name from
-       Twitter <http://twitter.com/help/request_source>, you can use
-       that here instead. Status updates on Twitter will then have
-       links to your site.
 taguri: base for tag:// URIs. Defaults to site-server + ',2009'.
 
 inboxes
@@ -1307,9 +1213,8 @@ inboxes
 
 For notice inboxes.
 
-enabled: A three-valued flag for whether to use notice inboxes (see
-        upgrading info above for notes about this change). Can be
-        'false', 'true', or '"transitional"'.
+enabled: No longer used. If you set this to something other than true,
+        StatusNet will no longer run.
 
 throttle
 --------
@@ -1331,6 +1236,8 @@ banned: an array of usernames and/or profile IDs of 'banned' profiles.
         The site will reject any notices by these users -- they will
         not be accepted at all. (Compare with blacklisted users above,
         whose posts just won't show up in the public stream.)
+biolimit: max character length of bio; 0 means no limit; null means to use
+          the site text limit default.
 
 newuser
 -------
@@ -1427,6 +1334,9 @@ Options for group functionality.
 
 maxaliases: maximum number of aliases a group can have. Default 3. Set
             to 0 or less to prevent aliases in a group.
+desclimit: maximum number of characters to allow in group descriptions.
+           null (default) means to use the site-wide text limits. 0
+           means no limit.
 
 oohembed
 --------
@@ -1473,15 +1383,6 @@ dir: directory to write backgrounds too. Default is '/background/'
 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.
 
-twitterbridge
--------------
-
-A bi-direction bridge to Twitter (http://twitter.com/).
-
-enabled: default false. If true, will show user's Twitter friends'
-         notices in their inbox and faves pages, only to the user. You
-         must also run the twitterstatusfetcher.php script.
-
 ping
 ----
 
@@ -1505,6 +1406,24 @@ linkcolor: Hex color of all links.
 backgroundimage: Image to use for the background.
 disposition: Flags for whether or not to tile the background image.
 
+notice
+------
+
+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.
+
+message
+-------
+
+Configuration options specific to messages.
+
+contentlimit: max length of the plain-text content of a message.
+              Default is null, meaning to use the site-wide text limit.
+              0 means no limit.
+
 Plugins
 =======
 
@@ -1562,9 +1481,9 @@ 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.7.4 without reading the "Notice inboxes"
-section above, and all your users' 'Personal' tabs are empty, read the
-"Notice inboxes" section above.
+If you upgraded to StatusNet 0.8.1 without reading the "Notice
+inboxes" section above, and all your users' 'Personal' tabs are empty,
+read the "Notice inboxes" section above.
 
 Myths
 =====
@@ -1595,7 +1514,15 @@ If you're adventurous or impatient, you may want to install the
 development version of StatusNet. To get it, use the git version
 control tool <http://git-scm.com/> like so:
 
-       git clone http://status.net/software/statusnet.git
+       git clone git@gitorious.org:statusnet/mainline.git
+
+This is the version of the software that runs on Identi.ca and the
+status.net hosted service. Using it is a mixed bag. On the positive
+side, it usually includes the latest security and bug fix patches. On
+the downside, it may also include changes that require admin
+intervention (like running a script or even raw SQL!) that may not be
+documented yet. It may be a good idea to test this version before
+installing it on your production machines.
 
 To keep it up-to-date, use 'git pull'. Watch for conflicts!
 
@@ -1607,7 +1534,9 @@ There are several ways to get more information about StatusNet.
 * There is a mailing list for StatusNet developers and admins at
   http://mail.status.net/mailman/listinfo/statusnet-dev
 * The #statusnet IRC channel on freenode.net <http://www.freenode.net/>.
-* The StatusNet wiki, http://status.net/trac/
+* The StatusNet wiki, http://status.net/wiki/
+* The StatusNet blog, http://status.net/blog/
+* The StatusNet status update, <http://status.status.net/status> (!)
 
 Feedback
 ========
@@ -1615,7 +1544,7 @@ Feedback
 * Microblogging messages to http://identi.ca/evan are very welcome.
 * StatusNet's Trac server has a bug tracker for any defects you may find,
   or ideas for making things better. http://status.net/trac/
-* e-mail to evan@identi.ca will usually be read and responded to very
+* e-mail to evan@status.net will usually be read and responded to very
   quickly, unless the question is really hard.
 
 Credits