README ====== |travis-ci|_ The News app is a an RSS/Atom feed aggregator. It offers a `RESTful API `_ for app developers. The source code is `available on GitHub `_ For further developer and user documentation please visit `the wiki `_ .. |travis-ci| image:: https://travis-ci.org/owncloud/news.png .. _travis-ci: https://travis-ci.org/owncloud/news Maintainers ----------- * `Alessandro Cosentino `_ * `Bernhard Posselt `_ * `Jan-Christoph Borchardt `_ (Design) Minimum PHP Version ------------------- * PHP >= 5.3.6 Supported Webservers -------------------- * Apache Supported Databases ------------------- * Postgresql * Sqlite * MySql Bugs ---- Before reporting bugs: * We do not support Internet Explorer and Safari (Patches accepted though, except for IE < 10) * get the newest version of the App Framework * get the newest version of the News app * `check if they have already been reported `_ ---------------- If you are not able to add a feed because its XML *does not validate* (see `this issue `_ for an example), check if: * it is a valid RSS by running it through the `W3C validator `_ * you are able to add the feed in other feed readers * it runs without error through `SimplePie demo `_ In the case the third condition is not met, please file a bug on `SimplePie issue tracker `_. Before you install the News app ------------------------------- Before you install the app check that the following requirements are met: - `Magic quotes are turned off `_ (only needed for PHP < 5.4) - `You use a browser that supports the FileReader API `_ - You can use a cron or webcron to call Background Jobs in ownCloud - Your **data/** directory is owned by your webserver user and write/readable - You have installed **php-curl** and activated it in the **php.ini** - Install ownCloud **5.0.6+** (important!) Should you have upgraded from a prior version, disable the CSS and JavaScript caching by adding this to :file:`owncloud/config/config.php`:: DEFINE('DEBUG', true); You can remove the line after a page reload App Store --------- Installation ~~~~~~~~~~~~ - Go to the ownCloud apps page - Activate the **App Framework** App first, then activate the **News** app in the apps menu - `Set up ownCloud Background Jobs `_ to enable feed updates. A recommended timespan for feed updates is 15-30 Minutes. Keep up to date ~~~~~~~~~~~~~~~ Both the **News** and **App Framework** App can be updated through the ownCloud apps page. Git (development version) ------------------------- Installation ~~~~~~~~~~~~ - Clone the **App Framework** app into the **/var/www** directory:: git clone https://github.com/owncloud/appframework.git - Clone the **News** app into the **/var/www** directory:: git clone https://github.com/owncloud/news.git - Link both into ownCloud's apps folder:: ln -s /var/www/appframework /var/www/owncloud/apps ln -s /var/www/news /var/www/owncloud/apps - Activate the **App Framework** App first, then activate the **News** app in the apps menu - `Set up ownCloud Background Jobs `_ to enable feed updates. A recommended timespan for feed updates is 15-30 Minutes. Keep up to date ~~~~~~~~~~~~~~~ To get the newest update you can use git. To update the appframework use:: cd /var/www/appframework git pull --rebase origin master To update the News app use:: cd /var/www/news git pull --rebase origin master Keyboard shortcuts ------------------ * **Next item**: n / j / right arrow * **Previous item**: p / k / left arrow * **Star current item**: s / i * **Keep current item unread**: u * **Star item and jump to next one**: h * **Open current item**: o * **Toggle expand of current item in compact view**: e Performance Notices ------------------- * Use MySQL or PostgreSQL for better database performance * Use the `updater script for large installations to thread the update `_ Frequent Problems ----------------- How do I reset the News app ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Delete the folder **owncloud/apps/news**, then connect to your database and run the following commands where **oc\_** is your table prefix (defaults to oc\_) .. code-block:: sql DELETE FROM oc_appconfig WHERE appid = 'news'; DROP TABLE oc_news_items; DROP TABLE oc_news_feeds; DROP TABLE oc_news_folders; All feeds are not updated anymore ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `This is a bug in the core backgroundjob system `_ deleting the :file:`owncloud/data/cron.lock` file gets the cron back up running Another way to fix this is to run a custom `updater script `_ All feeds are not updated and theres no cron.lock ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Check if the cronjob exists with **crontab -u www-data -e** (replace www-data with your httpd user) * Check the file permissions of the **cron.php** file and if **www-data** (or whatever your httpd user is called like) can read and execute that script * Check if the cronjob is ever executed by placing an **error_log('updating')** in the `background job file `_. If the cronjob runs, there should be an updating log statement in your httpd log. * If there is no **updating** statement in your logs check if your cronjob is executed by executing a different script * If your cron works fine but owncloud's cronjobs are never executed, file a bug in `core `_ * Try the `updater script `_ News always redirects to files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This problem is related to opcode caching, `check the issue tracker for how to solve it `_ Configuration ------------- All configuration values are set inside :file:`owncloud/data/news/config/config.ini` The configuration is in **INI** format and looks like this: .. code-block:: ini autoPurgeMinimumInterval = 60 autoPurgeCount = 200 simplePieCacheDuration = 1800 feedFetcherTimeout = 60 useCronUpdates = true * **autoPurgeMinimumInterval**: Minimum amount of seconds after deleted feeds and folders are removed from the database. * **autoPurgeCount**: Defines the minimum amount of articles that can be unread per feed before they get deleted * **simplePieCacheDuration**: Amount of seconds to cache feeds * **feedFetcherTimeout**: Maximum number of seconds to wait for an RSS or Atom feed to load. If a feed takes longer than that number of seconds to update, the update will be aborted * **useCronUpdates**: To use a custom update/cron script you need to disable the cronjob which is run by ownCloud by default by setting this to false