README
------
-Laconica 0.7.2.1 ("Talk about the Passion")
-11 March 2009
+Laconica 0.7.3 ("You Are The Everything")
+7 April 2009
This is the README file for Laconica, the Open Source microblogging
platform. It includes installation instructions, descriptions of
New this version
================
-This is a minor bug-fix and feature release since version 0.7.1,
-released Feb 9 2009. Notable changes this version:
-
-- First version of a web-based installer
-- Use Net_URL_Mapper instead of mod_rewrite to map "fancy URLs",
- for a much simpler installation and use of PATH_INFO on sites
- that don't have mod_rewrite.
-- A plugin framework for system events, to make it easier to build
- server-side plugins.
-- A plugin for Google Analytics
-- A plugin to use blogspam.net to check notices for spam
-- A plugin to send linkbacks for notices about blog posts
-- Configurable check for duplicate notices in a specific time
- period
-- Better Atom feeds
-- First implementation of Twitter Search API
-- Add streamlined mobile device-friendly styles when enabled in config.
-- A queue server for sending notices to Twitter
-- A queue server for sending notices to Facebook
-- A queue server for sending notices to a ping server
-- Fixed a bug in nonces for OAuth in OpenMicroBlogging
-- Fixed bugs in transfer of avatars in OpenMicroBlogging
-- @-links go to permalinks for local users
-- Better handling of DB errors (instead of dreaded DB_DataObject blank
- screen)
-- Initial version of an RPM spec file
-- More consistent display of notices in notice search
-- A stylesheet for printed output
-- "Social graph" methods for Twitter API
-- Documentation for the JavaScript badge
-- Debugged a ton of problems that happened with E_NOTICE on
-- Better caching in RSS feeds
-- Optionally send email when an @-message is received
-- Automatically add tags for every group message
-- Add framebusting JavaScript to help avoid clickjacking attacks.
-- Optionally ignore some notice sources for public page.
-- Add default SMS carriers and notice sources to distribution file.
-- Change titles to use mixed case instead of all uppercase.
-- Use exceptions for error handling.
-
-Changes in version 0.7.1:
-
-- Vast improvement in auto-linking to URLs.
-- Link to group search from user's group page
-- Improved interface in Facebook application
-- Fix bad redirects in delete notice
-- Updated PostgreSQL database creation script
-- Show filesize in avatar/logo upload
-- Vastly improved avatar/logo upload
-- Allow re-authentication with OpenID
-- Correctly link hashtabs inside parens and brackets
-- Group and avatar image transparency works
-- Better handling of commands through the Web and Ajax channels
-- Fix links for profile page feeds
-- Fixed destroy method in API
-- Fix endpoint of Connect menu when XMPP disabled
-- Show number of group members
-- Enable configuration files in /etc/laconica/
-
-Changes in version 0.7.0:
-
-- Support for groups. Users can join groups and send themed notices
- to those groups. All other members of the group receive the notices.
-- Laconica-specific extensions to the Twitter API.
-- A Facebook application.
-- A massive UI redesign. The HTML generated by Laconica has changed
- significantly, to make theming easier and to give a more open look
- by default. Also, sidebar.
-- Massive code hygiene changes to move towards compliance with the PEAR
- coding standards and to support the new UI redesign.
-- Began the breakup of util.php -- moved about 30% of code to a views
- hierarchy.
-- UI elements for statistical information (like top posters or most
- popular groups) added in a sidebar.
-- include Javascript badge by Kent Brewster.
-- Updated online documentation.
-- Cropping of user avatars using Jcrop.
-- fix for Twitter bridge to not send "Expect:" headers.
-- add 'dm' as a synonym for 'd' in commands.
-- Upgrade upstream version of jQuery to 1.3.
-- Upgrade upstream version of PHP-OpenID to 2.1.2.
-- Move OpenMicroBlogging specification to its own repository.
-- Make tag-based RSS streams work.
-- Additional locales: Bulgarian, Catalan, Greek, Hebrew, simplified
- Chinese, Telugu, Taiwanese Chinese, Vietnamese,
-- PostgreSQL updates.
-- Nasty bug in Twitter bridge that wouldn't verify with Twitter
+This is a minor bug-fix and feature release since version 0.7.2.1,
+released Mar 11 2009. Notable changes this version:
+
+- A plugin to allow a templating language for customization
+- A plugin for Piwik Analytics engine
+- A bookmarklet for posting a notice about a Web page you're reading
+- A welcome notice ('welcomebot') and default subscription for new users
+- Support for SSL for some or all pages on the site
+- Better handling of empty notice lists on many pages
+- Major improvements to the Twitter friend-sync offline processing
+- subscribers, subscriptions, groups are listed on the Personal page.
+- "Invite" link restored to main menu
+- Better memory handling in FOAF output
+- Fix for SUP support (FriendFeed)
+- Correct and intelligent redirect HTTP status codes
+- Fix DB collations for search and sort
+- Better H1s and Titles using user full names
+- Fixes to make the linkback plugin operational
+- Better indication that a notice is being published by Ajax (spinner)
+- Better and unified Atom output
+- Hiding "register" and "join now" messages when site is closed
+- ping, twitter and facebook queuehandlers working better
+- Updated RPM spec
Prerequisites
=============
version may render your Laconica 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 Validat is an oEmbed dependency.e
+- PEAR Net_URL is an oEmbed dependency.2
A design goal of Laconica 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 laconica-0.7.2.1.tar.gz
+ tar zxf laconica-0.7.3.tar.gz
- ...which will make a laconica-0.7.2.1 subdirectory in your current
+ ...which will make a laconica-0.7.3 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 laconica-0.7.2.1 /var/www/mublog
+ mv laconica-0.7.3 /var/www/mublog
This will make your Laconica instance available in the mublog path of
your server, like "http://example.net/mublog". "microblog" or
Upgrading
=========
+IMPORTANT NOTE: Laconica 0.7.4 introduced a fix for some
+incorrectly-stored international characters ("UTF-8"). For new
+installations, it will now store non-ASCII characters correctly.
+However, older installations will have the incorrect storage, and will
+consequently show up "wrong" in browsers. See below for how to deal
+with this situation.
+
If you've been using Laconica 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 Laconica 0.7.2.1. Try these step-by-step instructions; read
+procedure in Laconica 0.7.3. Try these step-by-step instructions; read
to the end first before trying them.
0. Download Laconica and set up all the prerequisites as if you were
3. When fixup_inboxes is finished, you can set the enabled flag to
'true'.
+UTF-8 Database
+--------------
+
+Laconica 0.7.4 introduced a fix for some incorrectly-stored
+international characters ("UTF-8"). This fix is not
+backwards-compatible; installations from before 0.7.4 will show
+non-ASCII characters of old notices incorrectly. This section explains
+what to do.
+
+0. You can disable the new behaviour by setting the 'db''utf8' config
+ option to "false". You should only do this until you're ready to
+ convert your DB to the new format.
+1. When you're ready to convert, you can run the fixup_utf8.php script
+ in the scripts/ subdirectory. If you've had the "new behaviour"
+ enabled (probably a good idea), you can give the ID of the first
+ "new" notice as a parameter, and only notices before that one will
+ be converted. Notices are converted in reverse chronological order,
+ so the most recent (and visible) ones will be converted first. The
+ script should work whether or not you have the 'db''utf8' config
+ option enabled.
+2. When you're ready, set $config['db']['utf8'] to true, so that
+ new notices will be stored correctly.
+
Configuration options
=====================
and adding the slaves to this array. Note that if you want some
requests to go to the 'database' (master) server, you'll need
to include it in this array, too.
+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.
syslog
------
service updates or announcements. Users are able to unsub
if they want. Default is null; no auto subscribe.
welcome: nickname of a user account that sends welcome messages to new
- users. Can be the same as 'subscribe' account, although on
+ users. Can be the same as 'default' account, although on
busy servers it may be a good idea to keep that one just for
'urgent' messages. Default is null; no message.
+If either of these special user accounts are specified, the users should
+be created before the configuration is updated.
+
+snapshot
+--------
+
+The software will, by default, send statistical snapshots about the
+local installation to a stats server on the laconi.ca Web site. This
+data is used by the developers to prioritize development decisions. No
+identifying data about users or organizations is collected. The data
+is available to the public for review. Participating in this survey
+helps Laconica developers take your needs into account when updating
+the software.
+
+run: string indicating when to run the statistics. Values can be 'web'
+ (run occasionally at Web time), 'cron' (run from a cron script),
+ or 'never' (don't ever run). If you set it to 'cron', remember to
+ schedule the script to run on a regular basis.
+frequency: if run value is 'web', how often to report statistics.
+ Measured in Web hits; depends on how active your site is.
+ Default is 10000 -- that is, one report every 10000 Web hits,
+ on average.
+reporturl: URL to post statistics to. Defaults to Laconica developers'
+ report system, but if they go evil or disappear you may
+ need to update this to another value. Note: if you
+ don't want to report stats, it's much better to
+ set 'run' to 'never' than to set this value to something
+ nonsensical.
+
+
+attachments
+-----------
+
+The software lets users upload files with their notices. You can configure
+the types of accepted files by mime types and a trio of quota options:
+per file, per user (total), per user per month.
+
+supported: an array of mime types you accept to store and distribute,
+ like 'image/gif', 'video/mpeg', 'audio/mpeg', etc.
+file_quota: maximum size for a single file upload in bytes.
+user_quota: total size in bytes a user can store.
+monthly_quota: total size permitted in the current month.
+
+
Troubleshooting
===============
T_STRING") in the browser, check to see that you don't have any
conflicts in your code.
-If you upgraded to Laconica 0.7.2.1 without reading the "Notice inboxes"
+If you upgraded to Laconica 0.7.3 without reading the "Notice inboxes"
section above, and all your users' 'Personal' tabs are empty, read the
"Notice inboxes" section above.
* Leslie Michael Orchard
* Eric Helgeson
* Ken Sedgwick
+* Brian Hendrickson
+* Tobias Diekershoff
Thanks also to the developers of our upstream library code and to the
thousands of people who have tried out Identi.ca, installed Laconi.ca,