πŸ“° RSS/Atom feed reader
ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ
Bernhard Posselt e9a2b38c01 also test master branch 2015-08-19 13:53:40 +02:00
admin fix line issues 2015-08-07 14:48:20 +02:00
appinfo set postgres min version 2015-08-19 13:50:20 +02:00
bin remove empty line 2015-08-10 17:09:49 +02:00
command fix coding style issues 2015-08-19 13:24:29 +02:00
config coding style fixes 2015-03-21 21:43:58 +01:00
controller serverside full text 2015-08-12 17:05:18 +02:00
cron fix line issues 2015-08-07 14:48:20 +02:00
css serverside full text 2015-08-12 17:05:18 +02:00
db also use class property for mappers 2015-08-19 12:40:31 +02:00
explore add news app releases page to example feeds 2015-08-14 09:07:11 +02:00
fetcher better message 2015-08-18 11:47:30 +02:00
hooks fix line issues 2015-08-07 14:48:20 +02:00
http first try to set indention limit at 80 characters in php 2014-10-21 18:19:23 +02:00
img serverside full text 2015-08-12 17:05:18 +02:00
js serverside full text 2015-08-12 17:05:18 +02:00
l10n [tx-robot] updated from transifex 2015-08-19 01:01:38 -04:00
plugin/client add client side plugins 2014-12-17 11:45:59 +01:00
service serverside full text 2015-08-12 17:05:18 +02:00
templates serverside full text 2015-08-12 17:05:18 +02:00
tests better php 7 compatibility 2015-08-19 13:29:19 +02:00
utility update picofeed, fix #695 2014-12-17 09:02:13 +01:00
vendor swap out unlicensed lib 2015-08-15 13:57:23 +02:00
.gitignore add checksum 2015-03-07 12:00:33 +01:00
.scrutinizer.yml try to add back code coverage 2015-04-30 14:05:17 +02:00
.travis.yml also test master branch 2015-08-19 13:53:40 +02:00
AUTHORS.md changed my github username 2014-01-10 19:43:44 +01:00
CHANGELOG.md swap out unlicensed lib 2015-08-15 13:57:23 +02:00
CONTRIBUTING.md remove contributing md 2015-08-12 17:58:23 +02:00
COPYING add license file 2013-06-06 00:08:18 +02:00
Makefile simplify cachebuster rules 2015-03-07 14:26:51 +01:00
README.md adjust readme 2015-08-14 10:07:20 +02:00
composer.json swap out unlicensed lib 2015-08-15 13:57:23 +02:00
composer.lock swap out unlicensed lib 2015-08-15 13:57:23 +02:00
phpunit.integration.xml bump for travis 2015-04-29 22:25:14 +02:00
phpunit.xml add integration test xml 2014-11-05 16:34:02 +01:00

README.md

README

Build Status Scrutinizer Code Quality

The News app is 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

Maintainers

Sync Clients

are listed on the ownCloud apps overview

Dependencies

  • ownCloud >= 8.1
  • libxml >= 2.7.8 (2.9 recommended)
  • php-curl
  • iconv
  • SimpleXML
  • PHP >= 5.5

Supported Linux Distributions

Supported means that the distribution's default repository packages will work in conjunction with the News app and you won't have to add any 3rdparty repositories.

The following distros are supported:

  • Ubuntu 14.04
  • Debian 8 (Jessie)
  • Arch Linux

Supported Browsers

  • Newest Firefox (Desktop, Android, Firefox OS)
  • Newest Chrome/Chromium (Desktop, Android)

Supported Databases

  • PostgreSQL (recommended)
  • MySql
  • SQLite (discouraged)

Bugs

Please read the appropriate section in the contributing notices

Installation/Update

Before you install/update the News app

Before you install the app do the following:

Then proceed to install the app either from an archive (zip/tar.gz) or clone it from the repository using git

Installing from archive

  • Go to the ownCloud News GitHub releases page and download the latest release/archive to your server
  • On your server, check if there is a folder called owncloud/apps/news. If there is one, delete it.
  • Extract the downloaded archive to the owncloud/apps/ folder.
  • Remove the version from the extracted folder (e.g. rename owncloud/apps/news-4.0.3/ to owncloud/apps/news/
  • Activate the News app in the apps menu

Installing from Git (development version)

  • The master branch will always be stable in conjunction with the latest master branch from ownCloud

  • In your terminal go into the owncloud/apps/ directory and then run the following command:

      git clone https://github.com/owncloud/news.git
    
  • If you are using a stable ownCloud release, stay with the latest git tag release which is running on your version. To get an overview over all existing tags run:

      git tag
    

You can switch to a release which will be supported on your installation by running:

  git checkout tags/TAG

For instance to use the 5.2.8 release, run:

  git checkout tags/5.2.8
  • Activate the News app in the apps menu

To update the News app use change into the owncloud/apps/news/ directory using your terminal and then run:

git pull --rebase origin master

Performance Notices

Updating Notices

To receive notifications when a new News app version was released, simply add the following Atom feed in your currently installed News app:

https://github.com/owncloud/news/releases.atom

Updating from versions prior to 4

You need to do the following:

  • Get rid of simplePieCacheDuration setting by removing this setting from your owncloud/data/news/config/config.ini.

After updating from a version prior to 4 all my read articles reappear as unread and there are duplicates

We switched to a different feed parsing library which creates article ids differently than before. This means that the same article is not found in the database because it was generated with a different id and is thus readded. This should happen only once for each feed after the upgrade and there is no data loss. Unfortunately there is no fix for this since the id is a hash which can not be reversed, so a smooth transition is not possible.

Updating from versions prior to 5.3.0

5.3.0 adds the possibility to search your articles. To do this efficiently however, the News app needs to generate an index. This is done automatically for new articles, but older articles need to be migrated. Because large installations have millions of articles, generating the search index has been offloaded to a separate command to prevent timeouts when upgrading the app. To make your old articles searchable run this command in your ownCloud top directory:

./occ news:create-search-indices

FAQ

I am getting Exception: Some\Class does not exist erros in my owncloud.log

This is very often caused by missing or old files, e.g. by failing to upload all of the News app' files or errors during installation. Before you report a bug, please run the diagnostic tool to check which files are missing or out of date:

./occ news:verify-install

How do I reset the News app

Delete the folder owncloud/apps/news/ and owncloud/data/news/, then connect to your database and run the following commands where oc_ is your table prefix (defaults to oc_)

DELETE FROM oc_appconfig WHERE appid = 'news';
DROP TABLE oc_news_items;
DROP TABLE oc_news_feeds;
DROP TABLE oc_news_folders;

App is stuck in maintenance mode after failed update

Check the owncloud/data/owncloud.log for hints why it failed. After the issues are fixed, turn off the maintenance mode by editing your owncloud/config/config.php by setting the maintenance key to false:

"maintenance" => false,

Feeds are not updated

  • 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

Adding feeds that use self-signed certificates

If you want to add a feed that uses a self-signed certificate that is not signed by a trusted CA the request will fail with "SSL certficate is invalid". A common solution is to turn off the certificate verification which is wrong and makes your installation vulnerable to MITM attacks. Therefore turning off certificate verification is not supported.

If you have control over the feed in question, consider signing your certificate for free using StartSSL or wait until September when letsencrypt.com goes online.

If you do not have control over the chosen feed, you should download the certificate from the feed's website and add it to your server's trusted certificates. The exact procedure however may vary depending on your distribution.

Configuration

All configuration values are set inside owncloud/data/news/config/config.ini and can be edited in the admin panel.

The configuration is in INI format and looks like this:

autoPurgeMinimumInterval = 60
autoPurgeCount = 200
maxRedirects = 10
maxSize = 104857600
feedFetcherTimeout = 60
useCronUpdates = true
exploreUrl =
  • autoPurgeMinimumInterval: Minimum amount of seconds after deleted feeds and folders are removed from the database. Values below 60 seconds are ignored
  • autoPurgeCount: Defines the minimum amount of articles that can be unread per feed before they get deleted, a negative value will turn off deleting articles completely
  • maxRedirects: How many redirects the updater should follow
  • maxSize: Maximum feed size in bytes. If the RSS/Atom page is bigger than this value, the update will be aborted
  • 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
  • exploreUrl: If given that url will be contacted for fetching content for the explore feed

Commands

The following commands are available when using the occ file in the top directory:

  • Show help and available commands:

    ./occ

  • Verify installation:

    ./occ news:verify-install

  • Generate search indices:

    ./occ news:create-search-indices

Translations

For translations in other languages than English, we rely on the Transifex platform.

If you want to help with translating the app, please do not create a pull request. Instead, head over to https://www.transifex.com/projects/p/owncloud/resource/news/ and join the team of your native language.

If approved, the translation will be automatically ported to the code within 24 hours.