summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorDevlin Junker <devlin.junker@gmail.com>2023-08-05 19:16:39 -0700
committerBenjamin Brahmer <info@b-brahmer.de>2023-08-09 11:08:04 +0200
commit923f986e67413ac548cc98d6d59fa01de9681035 (patch)
treea3d1fb38fd28388686b0c394d4824af30b959fd7 /docs
parent450047ef4be0d39ba8a5e5e5ac0d6e87b7203ebb (diff)
upmerged from master
Signed-off-by: Devlin Junker <devlin.junker@gmail.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/admin.md7
-rw-r--r--docs/clients.md1
-rw-r--r--docs/faq.md119
-rw-r--r--docs/features/integration.md30
-rw-r--r--docs/install.md8
-rw-r--r--docs/troubleshooting.md97
6 files changed, 137 insertions, 125 deletions
diff --git a/docs/admin.md b/docs/admin.md
index 0b2cef164..b645219e5 100644
--- a/docs/admin.md
+++ b/docs/admin.md
@@ -11,8 +11,11 @@ Alternatively you may use an [external updater](https://nextcloud.github.io/news
Auto purging automatically removes the oldest read items of every feed after every update.
The value you enter here is used as the limit of read items per feed, unless the feed comes with more items in it's feed.
-For example you have the default value of 200 and the feed has 210 items in it's feed.
-In this case the limit will be 210 instead of 200.
+The individual limit per feed is only adjusted when it's bigger. Let's say last feed update came with 210 items,
+then that will be the limit for that feed as long as no bigger update with more items is fetched.
+In this case the limit will be 210 instead of 200, for that feed.
+
+This is needed to prevent items from reappearing in the feed.
## Purge unread items
This changes the behavior of the auto purging to also purge unread items. This is useful if you have users with a lot of unread items.
diff --git a/docs/clients.md b/docs/clients.md
index 411d91f99..ae046960a 100644
--- a/docs/clients.md
+++ b/docs/clients.md
@@ -12,6 +12,7 @@ A sync client can be used to read news and synchronize via the API.
| [RSS Guard](https://github.com/martinrotter/rssguard) | Windows, Linux, OS/2, macOS | GPL-3.0 License | [GitHub](https://github.com/martinrotter/rssguard) |
| [Fluent Reader](https://hyliu.me/fluent-reader/) | Windows, Linux, macOS | BSD-3-Clause License | [GitHub](https://github.com/yang991178/fluent-reader) |
| [Communique](https://flathub.org/apps/details/com.github.suzie97.communique) | Linux | LGPL-2.1 License | [GitHub](https://github.com/Suzie97/Communique) |
+| [NewsFlash](https://flathub.org/apps/details/com.gitlab.newsflash) | Linux | GPL-3.0 License | [GitLab](https://gitlab.com/news-flash/news_flash_gtk) |
| [Nextcloud News Reader](https://play.google.com/store/apps/details?id=de.luhmer.owncloudnewsreader) | Android | GPL-3.0 License | [GitHub](https://github.com/nextcloud/news-android-app) |
| [OCReader](https://f-droid.org/repository/browse/?fdid=email.schaal.ocreader) | Android | GPL-3.0 License | [GitHub](https://github.com/schaal/ocreader) |
| [Newsout](https://play.google.com/store/apps/details?id=com.inspiredandroid.newsout) | Android | Apache-2.0 License | [GitHub](https://github.com/SimonSchubert/NewsOut) |
diff --git a/docs/faq.md b/docs/faq.md
deleted file mode 100644
index e9c4d5e95..000000000
--- a/docs/faq.md
+++ /dev/null
@@ -1,119 +0,0 @@
-# FAQ
-
-## My browser shows a mixed content warning (Connection is Not Secure)
-If you are serving your Nextcloud over HTTPS your browser will very likely warn you with a yellow warnings sign about your connection not being secure.
-
-Chrome will show no green HTTPS lock sign, Firefox will show you the following image
-![Mixed Passive Content](https://ffp4g1ylyit3jdyti1hqcvtb-wpengine.netdna-ssl.com/security/files/2015/10/mixed-passive-click1-600x221.png)
-
-Note that this warning **is not red and won't block the page like the following images** which signal **a serious issue**:
-
-![Untrusted Cert](https://www.inmotionhosting.com/support/images/stories/website/errors/ssl/chrome-self-signed-ssl-warning.png)
-![Mixed Active Content](https://www.howtogeek.com/wp-content/uploads/2014/02/650x367xchrome-mixed-content-https-problem.png.pagespeed.gp+jp+jw+pj+js+rj+rp+rw+ri+cp+md.ic.r_lQiZiq38.png)
-
-### What is the cause of the (yellow) error message
-
-This warning is caused by [mixed passive content](https://developer.mozilla.org/en/docs/Security/MixedContent) and means that your page loads passive resources from non HTTPS resources, such as:
-
-* Images
-* Video/Audio
-
-This allows a possible attacker to perform a MITM (man-in-the-middle) attack by serving you different images or audio/video.
-
-### Why doesn't the News app fix it
-
-The News app fully prevents mixed **active** content by only allowing HTTPS iframes from known locations; other possible mixed active content elements such as <script\> are stripped from the feed. Because images and audio/video are an integral part of a feed, we can not simply strip them.
-
-Since an attacker can not execute code in contrast to mixed active content, but only replace images/audio/video in your feed reader, this is **not considered to be a security issue**. If, for whatever reason (e.g. feed which would allow fishing), this is a security problem for you, contact the specific feed provider and ask him to serve his feed content over HTTPS.
-
-### Why don't you simply use an HTTPS image/audio/video proxy
-
-For the same reason that we can't fix non HTTPS websites: It does not fix the underlying issue, but only silences it. If you are using an image HTTPS proxy, an attacker can simply attack your image proxy since the proxy fetches insecure content. **Even worse**: if your image proxy serves these images from the same domain as your Nextcloud installation, you [are vulnerable to XSS via SVG images](https://www.owasp.org/images/0/03/Mario_Heiderich_OWASP_Sweden_The_image_that_called_me.pdf). In addition, people feel safe when essentially they are not.
-
-Since most people don't understand mixed content and don't have two domains and a standalone server for the image proxy, it is very likely they will choose to host it under the same domain.
-
-Because we care about our users' security and don't want to hide security warnings, we won't fix (aka silence) this issue.
-
-The only fix for this issue is that feed providers serve their content over HTTPS.
-
-## I am getting: Exception: Some\\Class does not exist errors in my nextcloud.log
-This is very often caused by missing or old files, e.g. by failing to upload all the News app files or errors during installation. Before you report a bug, please recheck if all files from the archive are in place and accessible.
-
-## Feeds not updated
-Feeds can be updated using Nextcloud's system cron or an [external updater](https://nextcloud.github.io/news/clients/#update-clients) via the API
-**The feed update is not run in Webcron and AJAX cron mode!**
-
-### System Cron
-* Check if you are using the system cron (Cron) setting on the admin page. AJAX and Web cron will not update feeds
-* 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 you can execute the cron with **sudo -u www-data php -f nextcloud/cron.php** (replace www-data with your httpd user)
-* Check your **data/nextcloud.log** for errors
-* Check if the cronjob is ever executed by placing an **error_log('updating');** in the [background job file](https://github.com/nextcloud/news/blob/master/lib/Service/UpdaterService.php#L55). 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
-* Check if the **oc_jobs** table has a **reserved_at** entry with a value other than 0. If it does for whatever reason, set it to 0. You can check this by executing:
-
- ```sql
- SELECT * from oc_jobs WHERE class LIKE '%News%' ORDER BY id;
- ```
-
-You will get two rows where column `class`will be `OCA\News\Cron\Updater` and `OCA\News\Cron\UpdaterJob`.
-
- Reset the `reserved_at` by executing
-
- ```sql
- UPDATE oc_jobs SET reserved_at = 0 WHERE id = <id from above SELECT statement>;
- ```
-
- * If your cron works fine, but Nextcloud's cronjobs are never executed, file a bug in [server](https://github.com/nextcloud/server/)
-
-### External Updater
-* Check if your configuration is set to **not** use the system cron.
-* Consult the documentation of the updater
-* Check your **data/nextcloud.log** for errors
-
-## 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 certificate 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 on one of the following providers:
-
-* [Let's Encrypt](https://letsencrypt.org/)
-* [ZeroSSL](https://zerossl.com/)
-
-If you do not have control over the chosen feed, you should [download the certificate from the feed's website](https://superuser.com/questions/97201/how-to-save-a-remote-server-ssl-certificate-locally-as-a-file) and [add it to your server's trusted certificates](https://www.onlinesmartketer.com/2009/06/23/curl-adding-installing-trusting-new-self-signed-certificate/). The exact procedure however may vary depending on your distribution.
-
-## Is There An Subscription URL To Easily Subscribe To Feeds
-
-By appending **?subscribe_to=SOME_URL** to your News app URL, you can launch the News app with a pre-filled URL, e.g.:
-
- https://yourdomain.com/nextcloud/index.php/apps/news?subscribe_to=https://github.com/nextcloud/news/releases
-
-## Database table grows too big
-
-If your users have subscribed to some high-volume feeds where a lot of items remain unread,
-this can lead to an oversized news table over time. As a consequence, the database upgrade of the news app can take several hours, during which Nextcloud cannot be used.
-
-By default, Nextcloud News purges old news items above a certain threshold each time it fetches new news items. The maximum number of items per feed
-that should be kept during the purging can be defined through the “Maximum read count per feed” setting in the admin UI or the `autoPurgeCount`
-value in the config.
-Additionally you may enable the option to also purge unread items `purgeUnread`. This is useful if your users have large amounts of unread items.
-Starred items are always exempt from purging.
-
-The command `occ news:updater:after-update [--purge-unread] [<purge-count>]` can be used to manually purge old news items across the instance. With
-the `--purge-unread` option, unread items are also purged (starred items are still exempt). If `purge-count` is not specified, the configured
-`autoPurgeCount` is used.
-
-The purge count only applies to the items that are purged. For example, when purging a feed that has 100 unread items, 100 starred read
-items and 100 unstarred read items, using a `purge-count` of 50 would keep all unread and starred items and the latest 50 read items. Using
-a `purge-count` of 50 along with `--purge-unread` would keep the all starred items plus the latest 50 from the set of unread and read items.
-
-## Missing 4-byte support SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: ...
-
-This is likely caused by your feed using emojis in the feed title or text.
-
-The DB is then not able to store the feed and runs into strange decoding errors.
-
-You need to convert your DB to support 4 bytes, check the [Nextcloud documentation](https://docs.nextcloud.com/server/stable/admin_manual/configuration_database/mysql_4byte_support.html).
-
-References [#1165](https://github.com/nextcloud/news/issues/1165) [#526](https://github.com/nextcloud/news/issues/526) \ No newline at end of file
diff --git a/docs/features/integration.md b/docs/features/integration.md
new file mode 100644
index 000000000..a69d3ac13
--- /dev/null
+++ b/docs/features/integration.md
@@ -0,0 +1,30 @@
+# Integrations
+
+## Is There An Subscription URL To Easily Subscribe To Feeds?
+
+By appending `/index.php/apps/news?subscribe_to=SOME_RSS_URL` to your NextCloud base path URL, you can launch the News app with a pre-filled URL, e.g.:
+
+Ex.
+
+ https://yourdomain.com/nextcloud/index.php/apps/news?subscribe_to=https://github.com/nextcloud/news/releases
+
+### Known Working Integrations
+
+#### Chrome / Edge
+
+1. Install [RSS Subscription Extension (by Google)](https://chrome.google.com/webstore/detail/rss-subscription-extensio/nlbjncdgjeocebhnmkbbbdekmmmcbfjd) extension
+1. Open the extension's options menu
+1. Click `Add..`
+1. In the *Description* field, enter a description for the RSS reader entry. 'NextCloud News' is a reasonable name.
+1. Enter `https://<NEXTCLOUD_BASE_PATH>/index.php/apps/news?subscribe_to=%s` replacing &lt;NEXTCLOUD_BASE_PATH&gt; with the base URL path to your NextCloud instance.
+ * Domain based example: https://cloud.mydomain.com/index.php/apps/news?subscribe_to=%s
+ * Domain+subpath based example: https://cloud.mydomain.com/nextcloud/index.php/apps/news?subscribe_to=%s
+
+#### Firefox
+
+1. Install Firefox Add-on Extension [Awesome RSS](https://addons.mozilla.org/en-US/firefox/addon/awesome-rss/)
+1. Open the `Preferences` for the extension
+2. In the 'Subscribe using' section, select the `NextCloud` radio button
+3. In the field link field, enter the base NextCloud URL.
+ * Domain based example: https://cloud.mydomain.com/
+ * Domain+subpath based example: https://cloud.mydomain.com/nextcloud/ \ No newline at end of file
diff --git a/docs/install.md b/docs/install.md
index 84d218341..4fa39b752 100644
--- a/docs/install.md
+++ b/docs/install.md
@@ -21,7 +21,7 @@ You also need some PHP extensions:
* MySQL >= 8.0
* SQLite (discouraged)
-Also see the [Nextcloud documentation](https://docs.nextcloud.com/server/stable/admin_manual/configuration_database/linux_database_configuration.html?highlight=database). Oracle is currently not supported by news.
+Also see the [Nextcloud documentation](https://docs.nextcloud.com/server/stable/admin_manual/configuration_database/linux_database_configuration.html?highlight=database). Oracle is currently not supported by News.
## Performance Notices
* Use MySQL/MariaDB or PostgreSQL for better database performance
@@ -108,8 +108,8 @@ If you changed the temporary directory for Nextcloud you need to check on your o
Careful, this next part is only intended for admins, that know what they are doing.
-To remove the tables from the DB we drop the tables of news.
-Your installation might have a different prefix then `oc_` but it is the default in most installations.
+To remove the tables from the DB we drop the tables of News.
+Your installation might have a different prefix than `oc_` but it is the default in most installations.
Connect to your DB and execute the commands. Don't forget to switch to the right database.
For example in mysql: `use nextcloud;`
@@ -140,4 +140,4 @@ DELETE FROM oc_jobs WHERE class='OCA\\News\\Cron\\Updater';
DELETE FROM oc_jobs WHERE argument='["OCA\\\\News\\\\Cron\\\\Updater","run"]';
```
-Now nothing is left from news in your nextcloud installation. \ No newline at end of file
+Now nothing is left from News in your nextcloud installation.
diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md
new file mode 100644
index 000000000..34f66f5ad
--- /dev/null
+++ b/docs/troubleshooting.md
@@ -0,0 +1,97 @@
+# Troubleshooting
+
+This is a brief list of common issues that come up with NextCloud News.
+
+## My browser shows a mixed content warning (Connection is Not Secure)
+
+If you are serving your Nextcloud over HTTPS your browser will very likely warn you with a yellow warnings sign about your connection not being secure.
+
+ * Chrome will show no green HTTPS lock sign.
+ * Firefox will show you the following image Mixed Passive Content ![Mixed Content Type](https://ffp4g1ylyit3jdyti1hqcvtb-wpengine.netdna-ssl.com/security/files/2015/10/mixed-passive-click1-600x221.png)
+
+Note that this warning **is not red and won't block the page like the following images** which signal a serious issue:
+
+ * Chrome ![Chrome error](https://www.inmotionhosting.com/support/images/stories/website/errors/ssl/chrome-self-signed-ssl-warning.png)
+ * Firefox ![Firefox error](https://www.howtogeek.com/wp-content/uploads/2014/02/650x367xchrome-mixed-content-https-problem.png.pagespeed.gp+jp+jw+pj+js+rj+rp+rw+ri+cp+md.ic.r_lQiZiq38.png)
+
+### What is the cause of the (yellow) error message?
+
+This warning is caused by mixed passive content and means that your page loads passive resources from non HTTPS resources, such as:
+
+* Images
+* Video/Audio
+* Some Ads
+
+This allows a possible attacker to perform a MITM (man-in-the-middle) attack by serving you different images or audio/video.
+
+### Why doesn't the News app fix it?
+
+The News app fully prevents mixed **active** content by only allowing HTTPS iframes from known locations; other possible mixed active content elements such as &lt;script\&gt; are stripped from the feed. Because images and audio/video are an integral part of a feed, we can not simply strip them.
+
+Since an attacker can not execute code in contrast to mixed active content, but only replace images/audio/video in your feed reader, this is **not considered to be a security issue**. If, for whatever reason (e.g. feed which would allow fishing), this is a security problem for you, contact the specific feed provider and ask him to serve his feed content over HTTPS.
+
+### Why don't you simply use an HTTPS image/audio/video proxy?
+
+
+For the same reason that we can't fix non HTTPS websites: It does not fix the underlying issue, but only silences it. If you are using an image HTTPS proxy, an attacker can simply attack your image proxy since the proxy fetches insecure content. **Even worse**: if your image proxy serves these images from the same domain as your Nextcloud installation, you are [vulnerable to XSS via SVG images](https://www.owasp.org/images/0/03/Mario_Heiderich_OWASP_Sweden_The_image_that_called_me.pdf). In addition, people feel safe when essentially they are not.
+
+Since most people don't understand mixed content and don't have two domains and a standalone server for the image proxy, it is very likely they will choose to host it under the same domain.
+
+Because we care about our users' security and don't want to hide security warnings, we won't fix (aka silence) this issue.
+
+The only fix for this issue is that feed providers serve their content over HTTPS.
+
+## I am getting: Exception: Some\Class does not exist errors in my nextcloud.log
+
+This is very often caused by missing or old files, e.g. by failing to upload all the News app files or errors during installation. Before you report a bug, please recheck if all files from the archive are in place and accessible.
+
+## Feeds not updated
+
+Feeds can be updated using Nextcloud's system cron or an external updater via the API. **The feed update is not run in Webcron and AJAX cron mode!**
+
+### Validating Using System Cron
+
+* Check if you are using the system cron (Cron) setting on the admin page. AJAX and Web cron will not update feeds
+* 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 you can execute the cron with sudo -u www-data php -f nextcloud/cron.php (replace www-data with your httpd user)
+* Check your data/nextcloud.log for errors
+* 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
+* Check if the oc_jobs table has a reserved_at entry with a value other than 0. If it does for whatever reason, set it to 0. You can check this by executing:
+
+#### Info
+
+* In newer versions of News (21.x.x) the old job OCA\News\Cron\Updater was removed from the DB.
+
+Reset the reserved_at by executing:
+
+ sql UPDATE oc_jobs SET reserved_at = 0 WHERE id = < id from above SELECT statement > ;
+
+If your cron works fine, but Nextcloud's cronjobs are never executed, file a bug in [server](https://github.com/nextcloud/server/).
+
+### Using External Updater
+
+* Check if your configuration is set to not use the system cron.
+* Consult the documentation of the updater
+* Check your data/nextcloud.log for errors
+
+## Database table grows too big
+
+If your users have subscribed to some high-volume feeds where a lot of items remain unread, this can lead to an oversized news table over time. As a consequence, the database upgrade of the news app can take several hours, during which Nextcloud cannot be used.
+
+By default, Nextcloud News purges old news items above a certain threshold each time it fetches new news items. The maximum number of items per feed that should be kept during the purging can be defined through the “Maximum read count per feed” setting in the admin UI or the `autoPurgeCount` value in the config. Additionally you may enable the option to also purge unread items `purgeUnread`. This is useful if your users have large amounts of unread items. Starred items are always exempt from purging.
+
+The command `occ news:updater:after-update [--purge-unread] [<purge-count>]` can be used to manually purge old news items across the instance. With the `--purge-unread option`, unread items are also purged (starred items are still exempt). If `purge-count` is not specified, the configured `autoPurgeCount` is used.
+
+The purge count only applies to the items that are purged. For example, when purging a feed that has 100 unread items, 100 starred read items and 100 unstarred read items, using a purge-count of 50 would keep all unread and starred items and the latest 50 read items. Using a `purge-count` of 50 along with `--purge-unread` would keep the all starred items plus the latest 50 from the set of unread and read items.
+
+## Missing 4-byte support SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: ...
+
+This is likely caused by your feed using emojis in the feed title or text.
+
+The DB is then not able to store the feed and runs into strange decoding errors.
+
+You need to convert your DB to support 4 bytes, check the [Nextcloud documentation](https://docs.nextcloud.com/server/stable/admin_manual/configuration_database/mysql_4byte_support.html).
+
+References [#1165](https://github.com/nextcloud/news/issues/1165) [#526](https://github.com/nextcloud/news/issues/526) \ No newline at end of file