README.md 4.49 KB
Newer Older
hannes's avatar
hannes committed
1 2 3 4
Qvitter
==========================================

* Author:    Hannes Mannerheim (<h@nnesmannerhe.im>)
hannes's avatar
hannes committed
5
* Last mod.: Jan, 2016
6
* Version:   5-alpha
hannes's avatar
hannes committed
7
* Homepage:  <https://git.gnu.io/h2p/Qvitter>
hannes's avatar
hannes committed
8 9 10 11

Qvitter is free  software:  you can  redistribute it  and / or  modify it  
under the  terms of the GNU Affero General Public License as published by  
the Free Software Foundation,  either version three of the License or (at  
hannes's avatar
hannes committed
12 13
your option) any later version.

hannes's avatar
hannes committed
14 15 16
Qvitter is distributed  in hope that  it will be  useful but  WITHOUT ANY  
WARRANTY;  without even the implied warranty of MERCHANTABILTY or FITNESS  
FOR A PARTICULAR PURPOSE.  See the  GNU Affero General Public License for  
hannes's avatar
hannes committed
17 18
more details.

hannes's avatar
hannes committed
19
You should have received a copy of the  GNU Affero General Public License  
hannes's avatar
hannes committed
20 21
along with Qvitter. If not, see <http://www.gnu.org/licenses/>.

hannes's avatar
hannes committed
22 23 24
Setup
-----

25 26 27
1. Install GNU social _directly under a domain_ (Qvitter is not compatible with
subdirectory installs) with _fancy urls_ enabled (if your instance has
"index.php" in its URLs, Qvitter will not work properly) _and HTTPS enabled_ (it's
hannes's avatar
hannes committed
28 29
always best to use HTTPS from the beginning, there will be issues with federation
if you choose to enable HTTPS later)
hannes's avatar
hannes committed
30

hannes's avatar
hannes committed
31
2. Put all files in local/plugins/Qvitter
hannes's avatar
hannes committed
32

hannes's avatar
hannes committed
33
3. Add `addPlugin('Qvitter');` to your /config.php file.
hannes's avatar
hannes committed
34

35 36 37
4. It's highly recommended to use the StoreRemoteMedia plugin. It will cache attachments from remote instances locally and make them appear in the streams. Add `addPlugin('StoreRemoteMedia');` to your /config.php file. (Only available in newer GNU social)

5. There are settings in QvitterPlugin.php, but for easy updates, put them in config.php instead. Example:
hannes's avatar
hannes committed
38

hannes's avatar
hannes committed
39 40
````
// Qvitter-settings
hannes's avatar
hannes committed
41 42 43 44
$config['site']['qvitter']['enabledbydefault'] = true;
$config['site']['qvitter']['defaultbackgroundcolor'] = '#f4f4f4';
$config['site']['qvitter']['defaultlinkcolor'] = '#0084B4';
$config['site']['qvitter']['timebetweenpolling'] = 5000;
hannes's avatar
hannes committed
45
$config['site']['qvitter']['urlshortenerapiurl'] = 'http://qttr.at/yourls-api.php'; // if your site is on HTTPS, use url to shortener.php here
hannes's avatar
hannes committed
46
$config['site']['qvitter']['urlshortenersignature'] = 'b6afeec983';
47
$config['site']['qvitter']['sitebackground'] = 'img/vagnsmossen.jpg';
hannes's avatar
hannes committed
48
$config['site']['qvitter']['favicon_path'] = Plugin::staticPath('Qvitter', '').'img/gnusocial-favicons/';
49
$config['site']['qvitter']['sprite'] = Plugin::staticPath('Qvitter', '').'img/sprite.png?v=40';
50
$config['site']['qvitter']['enablewelcometext'] = true;
hannes's avatar
hannes committed
51 52
// $config['site']['qvitter']['customwelcometext']['sv'] = '<h1>Välkommen till Quitter.se – en federerad<sup>1</sup> mikrobloggsallmänning!</h1><p>Etc etc...</p>';
// $config['site']['qvitter']['customwelcometext']['en'] = '<h1>Welcome to Quitter.se – a federated microblog common!</h1><p>Etc etc...</p>';
hannes's avatar
hannes committed
53
// $config['site']['qvitter']['customtermsofuse'] = 'Our custom terms of use';
54
$config['site']['qvitter']['blocked_ips'] = array();
hannes's avatar
hannes committed
55 56

// Recommended GNU social settings
hannes's avatar
hannes committed
57
$config['thumbnail']['maxsize'] = 3000; // recommended setting to get more high-res image previews
hannes's avatar
hannes committed
58 59 60 61 62
$config['profile']['delete'] = true; // twitter users are used to being able to remove their accounts
$config['profile']['changenick'] = true; // twitter users are used to being able to change their nicknames
$config['public']['localonly'] = true; // only local users in the public timeline (qvitter always has a timeline for the whole known network)
addPlugin('StoreRemoteMedia'); // makes remote images appear in the feed

hannes's avatar
hannes committed
63
````
hannes's avatar
hannes committed
64

maliktunga's avatar
maliktunga committed
65
The settings should be self-explanatory. In doubt, ask in the !qvitter group on quitter.se, or email h@nnesmannerhe.im
hannes's avatar
hannes committed
66

hannes's avatar
hannes committed
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
6. For better performance, disable checkschema (instructions in GNU social's config.php),
but don't forget to run it when updating plugins (including Qvitter).

7. To change the logo, edit /img/sprite.png. For easier git-updates, put it in GNU social's locale folder, and edit the sprite path setting above.


Translation
-----

1. Translation files reside in /locale and /doc folders.

2. When translating .json files, don't translate the placeholder strings inside curly brackets {}

API
-----

Qvitter uses GNU social's built in "twitter compatible" API. The API was designed to be
compatible with Twitter's API v1.0. Some documentation is here: <http://skilledtests.com/wiki/Twitter-compatible_API>
Twitter's API v1.1 documentation is also useful, but may be partly incorrect.

hannes's avatar
hannes committed
87
Qvitter extends this API in a few undocumented ways. See onRouterInitialized() in QvitterPlugin.php
hannes's avatar
hannes committed
88 89 90
for ideas about paths for the API extensions.


hannes's avatar
hannes committed
91 92 93
Notes
-----

94
Qvitter is tested with the latest GNU social nightly