From a83fadbc4ca6539470b73373998c068036eee67b Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Fri, 19 Dec 2014 15:29:57 +0300 Subject: [PATCH] Add README --- README.md | 73 +++++++++++++++++++++++++++++++++++++++++++ TODO | 10 ------ fof-config-sample.php | 1 - fof-db.php | 2 +- 4 files changed, 74 insertions(+), 12 deletions(-) create mode 100644 README.md delete mode 100644 TODO diff --git a/README.md b/README.md new file mode 100644 index 0000000..c579c02 --- /dev/null +++ b/README.md @@ -0,0 +1,73 @@ +What is FeedOnFeeds? +-------------------- + +FeedOnFeeds is a lightweight server-based RSS aggregator and reader, +allowing you to keep up with syndicated content (blogs, comics, and so +forth) without having to keep track of what you've read. Being +server-based means all of your feeds and history are kept in one +place, and being lightweight means you can install it pretty much +anywhere without needing a fancy dedicated server or the like. + +FeedOnFeeds 0.5 is originally written by Steve Minutillo. +This is a fork of FeedOnFeeds 0.5 by Vitaliy Filippov. + +FeedOnFeeds is distributed under the terms of GNU GPL v2 license, see LICENSE. + +New features in this version compared to the original 0.5 +--------------------------------------------------------- + +* Performance of all queries is greatly improved, basically almost everything + is fast even if you have lots of unread and/or tagged items (100000+) +* HTTP proxy support through standard environment variables http_proxy, no_proxy +* Password-protected feed support (HTTP basic/digest) +* Personal feed rename support (each user can rename feeds to his will) +* Possible to set tags for a feed when adding it +* The view is paged by default (you have to specify a big limit by hand to view all items) +* Mass feed tagging/untagging from the preferences page +* Per-feed and per-item collapse settings: you can set some feeds to show all items + collapsed by default or you can configure a regular expression which will specify + items that should be collapsed by default in each feed +* Most popular feed suggestions on the subscribe page +* Top reader statistics on the login page +* Very simple CSS-based mobile view +* Tables are using InnoDB, UTF-8 encoding, and foreign keys +* Code is cleaned of PHP warnings/notices and compatible with PHP 5.4+ + +TODO +---- + +* Implement safer authentication (sessions?) than current password-hash-in-cookie +* Replace SimplePie (not "simple" in any way) with something simpler and faster... (MagPie?) +* Dynamic feed update times, similar to https://github.com/RomanSixty/Feed-on-Feeds +* Use multi-cURL to download feeds in parallel + +Requirements +------------ + +* A web server running PHP 5 or later (nginx + php5-fpm or Apache). +* PHP extensions: mysql/mysqlnd, XML, PCRE, cURL, Zlib, mbstring, iconv. +* MariaDB/MySQL 5 or later. MariaDB 5.5 or later with Barracuda storage format + (innodb_file_format = barracuda) is recommended. + +Installation +------------ + +* Download a snapshot or checkout code from git repository into installation directory. +* Create 'cache' directory inside installation directory and make it writable by the web server. +* Create a MySQL database and a user with full access to it. If MySQL server is on the + same host it looks like: + + CREATE DATABASE feedonfeeds; + GRANT ALL PRIVILEGES ON feedonfeeds.* TO feedonfeeds@localhost IDENTIFIED BY ''; + FLUSH PRIVILEGES; + +* Copy fof-config-sample.php to fof-config.php and edit FOF_DB_HOST, FOF_DB_USER, FOF_DB_PASS + and FOF_DB_DBNAME as appropriate for your newly created database. +* Point your browser to `/install.php`. + +Upgrade +------- + +It is possible to upgrade an existing FeedOnFeeds 0.5 MySQL installation to this version. +Database will be converted automatically. Just overwrite all files in FoF installation +directory with this version and point your browser to `/install.php`. diff --git a/TODO b/TODO deleted file mode 100644 index e4d5ecc..0000000 --- a/TODO +++ /dev/null @@ -1,10 +0,0 @@ -Готово: -* Оптимизация запросов к БД: - ** добавлена колонка item_published в fof_item_tag, чтобы при просмотре лент сортировка шла по индексу - ** добавлена колонка feed_id в fof_item_tag, чтобы при суммировании числа записей в блогах feed_id брался без заглядывания в fof_item - -Что можно сделать: -* Выпилить наконец чудо-аутентификацию вместо текущего аналога HTTP BASIC -* Выпилить SimplePie, заменив его простым MagPie -* Добавить поддержку multi-cURL -* И ещё остаются непрочитанные в тегах... (тег+тег) diff --git a/fof-config-sample.php b/fof-config-sample.php index 8d78613..b912f8c 100644 --- a/fof-config-sample.php +++ b/fof-config-sample.php @@ -18,7 +18,6 @@ define('FOF_DB_HOST', "host.example.com"); define('FOF_DB_USER', "username"); define('FOF_DB_PASS', "password"); define('FOF_DB_DBNAME', "database"); -define('FOF_DB_CHARSET', "utf8"); /* You may write an auth plugin by defining function fof_require_user_hook() {} * which should try to detect current user and then call fof_set_current_user($user); diff --git a/fof-db.php b/fof-db.php index 7f568f4..93008a5 100644 --- a/fof-db.php +++ b/fof-db.php @@ -27,7 +27,7 @@ function fof_db_connect() $fof_connection = mysql_pconnect(FOF_DB_HOST, FOF_DB_USER, FOF_DB_PASS) or die("

Cannot connect to database. Please update configuration in fof-config.php. Mysql says: " . mysql_error() . ""); mysql_select_db(FOF_DB_DBNAME, $fof_connection) or die("

Cannot select database. Please update configuration in fof-config.php. Mysql says: " . mysql_error() . ""); - fof_db_query("SET NAMES ".FOF_DB_CHARSET); + fof_db_query("SET NAMES utf8"); } function fof_db_optimize()