Bislang habe ich meine Newsfeeds im Thunderbird, das funktioniert hat aber den Nachteil, das man unterwegs nichts mitbekommt oder selbst wenn man irgendwie/irgendwo News liest, der Gelesen-/Markiert-Status nicht zentral übernommen wird.

Eine Möglichkeit das zu lösen wenn man eine Nextcloud am Laufen hat ist die Verwendung der Nextcloud-Erweiterung News (GitHub) zusammen mit der Android-App Nextcloud News. Man verwaltet die Newsfeeds in der Nextcloud via Browser und dockt die Smartphone-App einfach an. So hat man mobil ebenfalls die gleichen Newsfeeds, diese werden regelmässig in der Nextcloud aktualisiert und so sieht man die ungelesenen Feeds sowohl direkt in der Nextcloud im Browser als auch in der Smartphone-App.

Bemerkung: Die Screenshots sind zu unterschiedlichen Zeiten entstanden, daher keine Übereinstimmung bei den Artikeln und deren Stati.

Markieren, etc. geht auf beiden Seiten, d.h. der Lesen/Ungelesen-Status oder die Markierung der Artikel wird abgeglichen, so weiß man egal auf welchem Gerät man bereits was gelesen hat. Feine Sache und für mich eine wesentliche Verbesserung gegenüber der bisherigen Nutzung von Thunderbird, News-Apps, usw.

Die Feeds können einzeln vorhanden sein oder in Ordner organisiert werden. In den Einstellungen kann man regeln, ob man nur die ungelesen Nachrichten oder alle sieht und ob beispielsweise die kompakte Ansicht verwendet werden soll.

Startschwierigkeiten

Nach dem Export der Newsfeed aus Thunderbird als OPML-Datei und dem anschließenden Import in Nextcloud News sah’s zunächst gut aus. Alle Feeds waren da, allerdings jeder in einem eigenen Unterordner, das mag allerdings nur Kosmetik sein. Jedenfalls gab’s die ersten Überraschungen beim Verschieben der Feeds aus den jeweiligen Unterordnern, denn manche verschwanden daraufhin. Versuchte man diese manuell wieder neu anzulegen, erhielt man die Meldung, das dies nicht möglich sei, da der Feed bereits vorhanden wäre. Direkt sichtbar war das allerdings nicht. Woran es womöglich gehangen hat gleich mehr.

Als nächstes fiel auf, das keine Aktualisierung stattfand. Sozusagen ab Werk soll News den Nextcloud-Cronjob nutzen. Das dieser funktioniert konnte anhand der Benachrichtigungen von anderen Apps, dem Log und der Anzeige im Administrator unter “Einstellungen – Verwaltung – Grundeinstellungen” entnommen werden.

Bei der Durchsicht des Nextcloud-Logs stach einem allerdings ins Auge, das die Datei “/var/www/nextcloud/data/news/config/config.ini” nicht gefunden wurde. Tatsächlich war weder der “config”-Ordner noch die “config.ini” vorhanden und das Problem scheint nicht unbekannt zu sein:

Nextcloud – News – Missing config.ini #515

Den Ordner und die Datei per Hand angelegt und mit den Standards gefüllt, die Rechte (“www-data”, 0750 für den Ordner, 0644 für die Datei) angepasst und … es geschah immer noch nichts. Das Log war nun sauber und selbst ein manuelles Antriggern des Cronjobs brachte nichts. Entäuscht gab ich an einem frühen Freitag-Abend auf.

Apropos Standards: In der “config.ini” gibt es einen Eintrag “autoPurgeMinimumInterval” der besagt das gelöschte Feeds noch 60 Sekunden in der Datenbank verweilen, bis das sie endgültig gelöscht werden. Man könnte nun darauf spekulieren, das dies der Grund war, das die verschwundenen Feeds nicht gleich wieder neu angelegt werden konnten.

Verzögerter Erfolg

Ein paar Stunden später zeigte die Android-App an, das neue News zur Verfügung stehen und tatsächlich läuft es seitdem. Bis jetzt, gut drei Tage bislang, ohne weitere Überraschungen. Die Feeds die sich zunächst wieder neu anlegen liesen konnten am gleichen Freitag-Abend, allerdings Stunden später, wieder hinzugefügt werden.

Ohne weiteres Zutun hat sich das Ganze irgendwie gefangen und verrichtet seitdem seinen Dienst. Mal schauen wie’s weitergeht.

Update 12.03.2020

Kleiner Tipp: Man kann für jeden Newsfeed den Volltext aktivieren. So wird, sofern vom jeweiligen Feed bzw. Herausgeber unterstützt, der komplette Artikel angezeigt und es entfällt ggf. ein nötiger Wechsel zur Ursprungseite.

Update 30.04.2020

Nach dem Unattended Update eines NextcloudPi lief die News-App zunächst nicht mehr, genauer ausgedrückt aktualisierte Sie nicht mehr. Im Log war nichts zu finden, auch das Lesen von alten Feeds war kein Problem. Neu abonnierte Feeds wurden initial ebenfalls geladen, Cronjob usw. alles gut. Nach zusammengerechnet gut 12 Stunden wurden dann plötzlich wieder die Newsfeeds aktualisiert.

Update 11.04.2021

Per Voreinstellung werden Links in der Nextcloud-News-App unter Android mit Chrome(-Tabs) geöffnet. Das ist zwar einfach, aber leider erhält man so auch jede Menge Werbung sofern die Ziel-Seite entsprechend “verseucht” ist. Auf meinem Smartphone verwende ich kein Chrome, sondern Brave. Allerdings hatte ich kein Glück mit dem Ändern des Verhaltens:

Ganz gleich was eingestellt war, es ging immer irgendwie Chrome auf und die Werbung wurde man einfach nicht los. Abhilfe schaffte nun, in den Android-Einstellungen unter “Apps & Benachrichtigungen – Alle xx Apps anzeigen” Chrome auszuwählen und zu deaktivieren. Seitdem werden Links als Brave(-Tabs) geöffnet und die Werbung bleibt (weitgehend) außen vor.

Update 16.04.2021

Nach einem Neustart meines NextCloudPi’s wollte mal wieder die Synchronisation der Newsfeeds nicht. Bevor man nun wieder Stunden wartet, sollte zumindest ein Workaround gefunden werden. In der Hilfe der Macher zu diesem Thema wird unter anderem auf einen Datenbankeintrag verwiesen den man ändern kann. Also fix per ssh verbunden und wie  folgt vorgegangen:

mysql oder mariadb
use nextcloud;
SELECT * from oc_jobs WHERE class LIKE '%News%' ORDER BY id;

Man erhält folgendes:

+------+--------------------------+----------+------------+--------------+-------------+--------------------+
| id | class | argument | last_run | last_checked | reserved_at | execution_duration |
+------+--------------------------+----------+------------+--------------+-------------+--------------------+
| 22 | OCA\News\Cron\Updater | null | 1608201901 | 1618593901 | 0 | 45 |
| 1665 | OCA\News\Cron\UpdaterJob | null | 1618569901 | 1618569901 | 1618569901 | 50 |
+------+--------------------------+----------+------------+--------------+-------------+--------------------+
2 rows in set (0.000 sec)

Dann mit der ID der Zeile wo “reserved at” größer als null ist folgendes ausgeführt:

UPDATE oc_jobs SET reserved_at = 0 WHERE id = 1665;
commit;
quit;

Und siehe da, beim nächsten Durchlauf des Cronjobs dann jede Menge ungelesene Feeds.