summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Brahmer <info@b-brahmer.de>2022-08-21 16:38:40 +0200
committerGitHub <noreply@github.com>2022-08-21 16:38:40 +0200
commit49f79101c314f760f36d1e6ef49758069622812c (patch)
treed509587880f83af7d45fd6f8c4e6e4f547a95e89
parentb1cbf80933658742c7794614b714fe6782441920 (diff)
try to speedup the api testing by hosting the feeds locally (#1874)
Signed-off-by: Benjamin Brahmer <info@b-brahmer.de>
-rw-r--r--.github/workflows/api-integration-tests.yml14
-rw-r--r--tests/api/feeds.bats6
-rw-r--r--tests/api/folders.bats4
-rw-r--r--tests/api/helpers/settings.bash4
-rw-r--r--tests/api/items.bats4
-rw-r--r--tests/command/feeds.bats5
-rw-r--r--tests/command/helpers/settings.bash6
-rw-r--r--tests/test_helper/feeds/Nextcloud.rss951
-rw-r--r--tests/test_helper/feeds/heise.xml1513
-rw-r--r--tests/test_helper/feeds/no_guid_feed.xml (renamed from tests/command/feeds/no_guid_feed.xml)0
10 files changed, 2492 insertions, 15 deletions
diff --git a/.github/workflows/api-integration-tests.yml b/.github/workflows/api-integration-tests.yml
index 117e7af49..eef085cac 100644
--- a/.github/workflows/api-integration-tests.yml
+++ b/.github/workflows/api-integration-tests.yml
@@ -114,12 +114,17 @@ jobs:
working-directory: ../server
run: |
php -S localhost:8080 &> /tmp/webserver.log &
+ cd apps/news/tests/test_helper/feeds && php -S localhost:8090 &> /tmp/feedserver.log &
+
sleep 2
+
+ cd ${{ github.workspace }}/../server
bats apps/news/tests/api
# Kill php server
kill %1
+ kill %2
- name: Setup problem matchers for PHP
run: echo "::add-matcher::${{ runner.tool_cache }}/php.json"
@@ -131,7 +136,14 @@ jobs:
- name: Functional tests
working-directory: ../server
- run: bats apps/news/tests/command
+ run: |
+ cd apps/news/tests/test_helper/feeds && php -S localhost:8090 &> /tmp/feedserver.log &
+
+ sleep 2
+
+ cd ${{ github.workspace }}/../server
+
+ bats apps/news/tests/command
- name: Prep PHP tests
working-directory: ../server/apps/news
diff --git a/tests/api/feeds.bats b/tests/api/feeds.bats
index d789a554f..6d0d1ae8f 100644
--- a/tests/api/feeds.bats
+++ b/tests/api/feeds.bats
@@ -16,13 +16,13 @@ teardown() {
# delete all feeds
ID_LIST=($(http --ignore-stdin -b -a ${user}:${user} GET ${BASE_URLv1}/feeds | grep -Po '"id":\K([0-9]+)' | tr '\n' ' '))
for i in $ID_LIST; do
- http --ignore-stdin -b -a ${user}:${user} DELETE ${BASE_URLv1}/feeds/$i
+ http --ignore-stdin -b -a ${user}:${user} DELETE ${BASE_URLv1}/feeds/$i > /dev/null
done
# delete all folders
ID_LIST=($(http --ignore-stdin -b -a ${user}:${user} GET ${BASE_URLv1}/folders | grep -Po '"id":\K([0-9]+)' | tr '\n' ' '))
for i in $ID_LIST; do
- http --ignore-stdin -b -a ${user}:${user} DELETE ${BASE_URLv1}/folders/$i
+ http --ignore-stdin -b -a ${user}:${user} DELETE ${BASE_URLv1}/folders/$i > /dev/null
done
}
@@ -37,7 +37,7 @@ teardown() {
# run is not working here.
output=$(http --ignore-stdin -b -a ${user}:${user} POST ${BASE_URLv1}/feeds url=$NC_FEED | jq '.feeds | .[0].url')
- assert_output '"https://nextcloud.com/blog/static-feed/"'
+ assert_output '"http://localhost:8090/Nextcloud.rss"'
}
@test "[$TESTSUITE] Create new inside folder" {
diff --git a/tests/api/folders.bats b/tests/api/folders.bats
index 710b7d2a3..111b69867 100644
--- a/tests/api/folders.bats
+++ b/tests/api/folders.bats
@@ -17,13 +17,13 @@ teardown() {
# delete all feeds
FEED_IDS=($(http --ignore-stdin -b -a ${user}:${user} GET ${BASE_URLv1}/feeds | grep -Po '"id":\K([0-9]+)' | tr '\n' ' '))
for i in $FEED_IDS; do
- http --ignore-stdin -b -a ${user}:${user} DELETE ${BASE_URLv1}/feeds/$i
+ http --ignore-stdin -b -a ${user}:${user} DELETE ${BASE_URLv1}/feeds/$i > /dev/null
done
# delete all folders
FOLDER_IDS=($(http --ignore-stdin -b -a ${user}:${user} GET ${BASE_URLv1}/folders | grep -Po '"id":\K([0-9]+)' | tr '\n' ' '))
for i in $FOLDER_IDS; do
- http --ignore-stdin -b -a ${user}:${user} DELETE ${BASE_URLv1}/folders/$i
+ http --ignore-stdin -b -a ${user}:${user} DELETE ${BASE_URLv1}/folders/$i > /dev/null
done
}
diff --git a/tests/api/helpers/settings.bash b/tests/api/helpers/settings.bash
index 3b31fba4c..b0eff1a68 100644
--- a/tests/api/helpers/settings.bash
+++ b/tests/api/helpers/settings.bash
@@ -1,4 +1,4 @@
user=admin
-NC_FEED="https://nextcloud.com/blog/static-feed/"
-HEISE_FEED="https://www.heise.de/rss/heise-atom.xml"
+NC_FEED="http://localhost:8090/Nextcloud.rss"
+HEISE_FEED="http://localhost:8090/heise.xml"
BASE_URLv1="http://localhost:8080/index.php/apps/news/api/v1-2" \ No newline at end of file
diff --git a/tests/api/items.bats b/tests/api/items.bats
index 349678966..edad6f4db 100644
--- a/tests/api/items.bats
+++ b/tests/api/items.bats
@@ -16,13 +16,13 @@ teardown() {
# delete all feeds
FEED_IDS=($(http --ignore-stdin -b -a ${user}:${user} GET ${BASE_URLv1}/feeds | grep -Po '"id":\K([0-9]+)' | tr '\n' ' '))
for i in $FEED_IDS; do
- http --ignore-stdin -b -a ${user}:${user} DELETE ${BASE_URLv1}/feeds/$i
+ http --ignore-stdin -b -a ${user}:${user} DELETE ${BASE_URLv1}/feeds/$i > /dev/null
done
# delete all folders
FOLDER_IDS=($(http --ignore-stdin -b -a ${user}:${user} GET ${BASE_URLv1}/folders | grep -Po '"id":\K([0-9]+)' | tr '\n' ' '))
for i in $FOLDER_IDS; do
- http --ignore-stdin -b -a ${user}:${user} DELETE ${BASE_URLv1}/folders/$i
+ http --ignore-stdin -b -a ${user}:${user} DELETE ${BASE_URLv1}/folders/$i > /dev/null
done
}
diff --git a/tests/command/feeds.bats b/tests/command/feeds.bats
index 97b4c27d1..7598ac345 100644
--- a/tests/command/feeds.bats
+++ b/tests/command/feeds.bats
@@ -39,8 +39,9 @@ teardown() {
}
@test "[$TESTSUITE] Favicon" {
- ./occ news:feed:add "$user" "$NC_FEED" --title "Something-${BATS_SUITE_TEST_NUMBER}"
- ./occ news:feed:add "$user" "$HEISE_FEED" --title "Something-${BATS_SUITE_TEST_NUMBER}"
+
+ ./occ news:feed:add "$user" "https://nextcloud.com/blog/static-feed/" --title "Something-${BATS_SUITE_TEST_NUMBER}"
+ ./occ news:feed:add "$user" "https://www.heise.de/rss/heise-atom.xml" --title "Something-${BATS_SUITE_TEST_NUMBER}"
run ./occ news:feed:list "$user"
assert_success
diff --git a/tests/command/helpers/settings.bash b/tests/command/helpers/settings.bash
index d32924ceb..e2ddc70aa 100644
--- a/tests/command/helpers/settings.bash
+++ b/tests/command/helpers/settings.bash
@@ -1,4 +1,4 @@
user=admin
-NC_FEED="https://nextcloud.com/blog/static-feed/"
-HEISE_FEED="https://www.heise.de/rss/heise-atom.xml"
-NO_GUID_FEED="https://raw.githubusercontent.com/nextcloud/news/master/tests/command/feeds/no_guid_feed.xml"
+NC_FEED="http://localhost:8090/Nextcloud.rss"
+HEISE_FEED="http://localhost:8090/heise.xml"
+NO_GUID_FEED="http://localhost:8090/no_guid_feed.xml"
diff --git a/tests/test_helper/feeds/Nextcloud.rss b/tests/test_helper/feeds/Nextcloud.rss
new file mode 100644
index 000000000..0c996cb9b
--- /dev/null
+++ b/tests/test_helper/feeds/Nextcloud.rss
@@ -0,0 +1,951 @@
+<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
+ xmlns:content="http://purl.org/rss/1.0/modules/content/"
+ xmlns:wfw="http://wellformedweb.org/CommentAPI/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:atom="http://www.w3.org/2005/Atom"
+ xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
+ xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
+ >
+
+<channel>
+ <title>Nextcloud</title>
+ <atom:link href="https://nextcloud.com/feed/" rel="self" type="application/rss+xml" />
+ <link>https://nextcloud.com/</link>
+ <description></description>
+ <lastBuildDate>Tue, 16 Aug 2022 10:17:13 +0000</lastBuildDate>
+ <language>en-US</language>
+ <sy:updatePeriod>
+ hourly </sy:updatePeriod>
+ <sy:updateFrequency>
+ 1 </sy:updateFrequency>
+ <generator>https://wordpress.org/?v=6.0.1</generator>
+
+<image>
+ <url>https://nextcloud.com/wp-content/uploads/2022/03/favicon.png</url>
+ <title>Nextcloud</title>
+ <link>https://nextcloud.com/</link>
+ <width>32</width>
+ <height>32</height>
+</image>
+ <item>
+ <title>How to get started with Nextcloud</title>
+ <link>https://nextcloud.com/blog/how-to-get-started-with-nextcloud-repeat/</link>
+
+ <dc:creator><![CDATA[Fabrice Mous]]></dc:creator>
+ <pubDate>Tue, 16 Aug 2022 09:44:01 +0000</pubDate>
+ <category><![CDATA[business]]></category>
+ <category><![CDATA[News]]></category>
+ <category><![CDATA[Webinar]]></category>
+ <category><![CDATA[webinar]]></category>
+ <guid isPermaLink="false">https://nextcloud.com/?p=50918</guid>
+
+ <description><![CDATA[<p>We are doing a repeat of this successful webinar about installing and configuring your own Nextcloud environment. Looking to get started with Nextcloud and need some guidance? This is the webinar you want to attend.</p>
+<p>The post <a rel="nofollow" href="https://nextcloud.com/blog/how-to-get-started-with-nextcloud-repeat/">How to get started with Nextcloud</a> appeared first on <a rel="nofollow" href="https://nextcloud.com">Nextcloud</a>.</p>
+]]></description>
+ <content:encoded><![CDATA[
+<p>We are doing a repeat of this successful webinar about installing and configuring your own Nextcloud environment. Looking to get started with Nextcloud and need some guidance? This is the webinar you want to attend.</p>
+
+
+<section class="columns4-section" id="Webinar">
+ <div class="container">
+ <div class="row"><div class="col-12"><div class="section-title"><h6>How to get started with Nextcloud</h6><h2>How to get started with Nextcloud</h2></div></div></div><div class="row spacer align-items-center"><div class="col-lg-6 order-lg-1"><div class="image-slider"><div><p></p><img src="https://nextcloud.com/wp-content/uploads/webinar-how-to-get-started-with-nextcloud-featured-image.png" alt=""/></div></div></div><div class="col-lg-6 order-lg-0"><div class="text-block"><div class="mobile-media"><div class="image-slider"><div><img src="https://nextcloud.com/wp-content/uploads/webinar-how-to-get-started-with-nextcloud-featured-image.png" alt=""/></div></div></div><p>Sign up for this free webinar on Wednesday, 31 August 2022 to learn more on how to install Nextcloud Hub and configure for your end users.</p>
+<ul>
+<li>Date: Wednesday, 31 August 2022</li>
+<li>Time: 1:00 PM (CEST)</li>
+<li>Duration: 60 minutes</li>
+</ul>
+<a class="c-btn btn-blue" href="https://cloud.nextcloud.com/apps/forms/5wo4C6bpbGsrnnk3" target="_blank">Join this webinar</a></div></div></div> </div>
+</section>
+
+
+<h2 class="has-text-align-center">Your speaker</h2>
+
+
+<section class="ucol-section" id="">
+ <div class="container">
+ <div class="row align-items-center">
+ <div class="col-lg-6 order-lg-2">
+ <div class="text-block"><img class="mobile-media" src="https://nextcloud.com/wp-content/uploads/2022/05/Sebastian.jpg" alt=""/><p><strong>Sebastian Möbus &#8211; Sales Engineer at Nextcloud</strong></p>
+<p>Sebastian has been designing customized solutions in the area of business software and cloud services. With over 14 years experience in consulting Sebastian provides technical pre-sales expertise internally and to our customers. </p>
+<p>Sebastian has a wide range of interests with a main focus on IT in everyday life like home automation and is passionate about pool billiards</p>
+</div> </div>
+ <div class="col-lg-6 order-lg-1">
+ <div class="image-block"><img src="https://nextcloud.com/wp-content/uploads/2022/05/Sebastian.jpg" alt=""/></div> </div>
+ </div>
+ <div class="row">
+ <div class="col-12">
+ <div class="bottom-block"><a class="c-btn btn-blue" href="https://cloud.nextcloud.com/apps/forms/5wo4C6bpbGsrnnk3" target="_blank">Save my Slot</a></div> </div>
+ </div>
+ </div>
+</section>
+
+<section class="why-section" id="">
+ <div class="container">
+ <div class="row">
+ <div class="col-lg-6">
+ <div class="text-block">
+ <h2>In this webinar we cover</h2> </div>
+ </div>
+ <div class="col-lg-6"><div class="text-block"><ul>
+<li>The installation of your own Nextcloud Hub instance.</li>
+<li>Some first and essential configuration steps.</li>
+<li>How to prepare Nextcloud Hub for your end users.</li>
+</ul>
+</div></div> </div>
+ </div>
+</section>
+
+<section class="promo-section" id="join-webinar">
+ <div class="container">
+ <div class="row">
+ <div class="col-12">
+ <div class="text-block">
+ <p>Looking to get started with Nextcloud Hub and need some guidance? Wanting to see a live configuration of Nextcloud Hub? This is the webinar you want to attend.</p>
+<a class="c-btn btn-black" href="https://cloud.nextcloud.com/apps/forms/5wo4C6bpbGsrnnk3" target="_blank">Save my slot</a> </div>
+ </div>
+ </div>
+ </div>
+</section><p>The post <a rel="nofollow" href="https://nextcloud.com/blog/how-to-get-started-with-nextcloud-repeat/">How to get started with Nextcloud</a> appeared first on <a rel="nofollow" href="https://nextcloud.com">Nextcloud</a>.</p>
+]]></content:encoded>
+
+
+
+ </item>
+ <item>
+ <title>OpenProject and Nextcloud integrate project management and file management</title>
+ <link>https://nextcloud.com/blog/openproject-and-nextcloud-integrate-project-management-and-file-management/</link>
+
+ <dc:creator><![CDATA[Jos Poortvliet]]></dc:creator>
+ <pubDate>Mon, 15 Aug 2022 12:44:53 +0000</pubDate>
+ <category><![CDATA[blog]]></category>
+ <category><![CDATA[business]]></category>
+ <category><![CDATA[partner]]></category>
+ <guid isPermaLink="false">https://nextcloud.com/?p=50702</guid>
+
+ <description><![CDATA[<p>OpenProject and Nextcloud announced a collaboration last year and today, we're happy to share some info on the progress we've made. Our goal was to improve the productivity of users of both our platforms, and a number of integrations was done.</p>
+<p>The post <a rel="nofollow" href="https://nextcloud.com/blog/openproject-and-nextcloud-integrate-project-management-and-file-management/">OpenProject and Nextcloud integrate project management and file management</a> appeared first on <a rel="nofollow" href="https://nextcloud.com">Nextcloud</a>.</p>
+]]></description>
+ <content:encoded><![CDATA[
+<p>OpenProject and Nextcloud <a href="https://nextcloud.com/blog/press_releases/pr20210504/">announced a collaboration</a> last year and today, we&#8217;re happy to share some info on the progress we&#8217;ve made. Our goal was to improve the productivity of users of both our platforms, and a number of integrations was done:</p>
+
+
+
+<ul><li>No more searching for files. Users can find project-related files directly in the respective work package in their project in OpenProject and always have the correct version at hand.</li><li>Linking files in Nextcloud to project-related work and check from Nextcloud which work packages in a project belong to certain files.</li><li>Keep an eye on relevant project updates related to linked files via the Nextcloud dashboard and search for work packages in Nextcloud.</li><li>Retaining close control of content to avoid risk of non-compliance or data leaks.</li></ul>
+
+
+
+<div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/739611836?h=261f758988&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen style="position:absolute;top:0;left:0;width:100%;height:100%;" title="nextcloud-integration_update"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script>
+
+
+
+<p>The integration is available starting with Nextcloud 22 and OpenProject 12.2 and can be found in the Nextcloud app store, and configured in OpenProject’s system administration. In collaboration with mutual customers, further integration efforts are under way which include the linking of files from OpenProject, including complete project folders.</p>
+
+
+
+<figure class="wp-container-2 wp-block-gallery-1 wp-block-gallery has-nested-images columns-default is-cropped">
+<figure class="wp-block-image size-large"><a href="https://nextcloud.com/wp-content/uploads/2022/08/choose-OpenProject-workpackages-in-Nextcloud.png" target="_blank" rel="noreferrer noopener"><img loading="lazy" width="1024" height="589" data-id="50709" src="https://nextcloud.com/wp-content/uploads/2022/08/choose-OpenProject-workpackages-in-Nextcloud-1024x589.png" alt="" class="wp-image-50709" srcset="https://nextcloud.com/wp-content/uploads/2022/08/choose-OpenProject-workpackages-in-Nextcloud-1024x589.png 1024w, https://nextcloud.com/wp-content/uploads/2022/08/choose-OpenProject-workpackages-in-Nextcloud-300x173.png 300w, https://nextcloud.com/wp-content/uploads/2022/08/choose-OpenProject-workpackages-in-Nextcloud-768x442.png 768w, https://nextcloud.com/wp-content/uploads/2022/08/choose-OpenProject-workpackages-in-Nextcloud.png 1440w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
+
+
+
+<figure class="wp-block-image size-large"><a href="https://nextcloud.com/wp-content/uploads/2022/08/OpenProject-Nextcloud-file-integration.png" target="_blank" rel="noreferrer noopener"><img loading="lazy" width="1024" height="576" data-id="50706" src="https://nextcloud.com/wp-content/uploads/2022/08/OpenProject-Nextcloud-file-integration-1024x576.png" alt="" class="wp-image-50706" srcset="https://nextcloud.com/wp-content/uploads/2022/08/OpenProject-Nextcloud-file-integration-1024x576.png 1024w, https://nextcloud.com/wp-content/uploads/2022/08/OpenProject-Nextcloud-file-integration-300x169.png 300w, https://nextcloud.com/wp-content/uploads/2022/08/OpenProject-Nextcloud-file-integration-768x432.png 768w, https://nextcloud.com/wp-content/uploads/2022/08/OpenProject-Nextcloud-file-integration.png 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>
+</figure>
+<p>The post <a rel="nofollow" href="https://nextcloud.com/blog/openproject-and-nextcloud-integrate-project-management-and-file-management/">OpenProject and Nextcloud integrate project management and file management</a> appeared first on <a rel="nofollow" href="https://nextcloud.com">Nextcloud</a>.</p>
+]]></content:encoded>
+
+
+
+ </item>
+ <item>
+ <title>5 More Things to Keep your Data Safe</title>
+ <link>https://nextcloud.com/blog/5-more-things-to-keep-your-data-safe/</link>
+
+ <dc:creator><![CDATA[Mikaela Schneider]]></dc:creator>
+ <pubDate>Wed, 10 Aug 2022 09:06:12 +0000</pubDate>
+ <category><![CDATA[blog]]></category>
+ <category><![CDATA[Community]]></category>
+ <category><![CDATA[general]]></category>
+ <category><![CDATA[Privacy Wednesday]]></category>
+ <guid isPermaLink="false">https://nextcloud.com/?p=48379</guid>
+
+ <description><![CDATA[<p>Nextcloud has important security features you should know about!</p>
+<p>Today's blog highlights five Nextcloud features that provide the utmost security.</p>
+<p>The post <a rel="nofollow" href="https://nextcloud.com/blog/5-more-things-to-keep-your-data-safe/">5 More Things to Keep your Data Safe</a> appeared first on <a rel="nofollow" href="https://nextcloud.com">Nextcloud</a>.</p>
+]]></description>
+ <content:encoded><![CDATA[
+<p>Nextcloud has important security features you should know about!</p>
+
+
+
+<p>Today&#8217;s blog highlights five Nextcloud features that provide the utmost security. Nextcloud provides its users with dozens of data privacy features, however we&#8217;re providing it to you in chunks.</p>
+
+
+
+<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="576" src="https://nextcloud.com/wp-content/uploads/2022/08/5-More-Things-to-Keep-your-Data-Safe-1024x576.png" alt="Keep your data safe graphic" class="wp-image-49278" srcset="https://nextcloud.com/wp-content/uploads/2022/08/5-More-Things-to-Keep-your-Data-Safe-1024x576.png 1024w, https://nextcloud.com/wp-content/uploads/2022/08/5-More-Things-to-Keep-your-Data-Safe-300x169.png 300w, https://nextcloud.com/wp-content/uploads/2022/08/5-More-Things-to-Keep-your-Data-Safe-768x432.png 768w, https://nextcloud.com/wp-content/uploads/2022/08/5-More-Things-to-Keep-your-Data-Safe-1536x864.png 1536w, https://nextcloud.com/wp-content/uploads/2022/08/5-More-Things-to-Keep-your-Data-Safe-2048x1152.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
+
+
+
+<div style="height:26px" aria-hidden="true" class="wp-block-spacer"></div>
+
+
+
+<h2>Monitoring</h2>
+
+
+
+<p>To keep your files safe, you should know what is happening to them. Nextcloud has a number of ways that help users keep an eye on their files.</p>
+
+
+
+<p>How to monitor your files with Nextcloud:</p>
+
+
+
+<ul><li><strong>Track file activity</strong> – Have a clear overview of changes like newly added or deleted files in shared folders, recent edits, downloads, new comments from other users or tags, and more!</li><li><strong>Add more monitoring capabilites with Nextcloud apps</strong>: <a href="https://apps.nextcloud.com/apps/files_downloadactivity">Activities for shared file downloads</a> which lets you trackdownloads of your shared files, and <a href="https://apps.nextcloud.com/apps/files_downloadactivity">Quota Warning</a> which sends notifications to users when they reached 85, 90 and 95% of their quota. See more in the <a href="https://apps.nextcloud.com/">Nextcloud App Store</a>.</li><li>The <strong>Server Information</strong> app allows admins to monitor the state and performance of a Nextcloud server installation. It shows some basic statistics and gives access to data through an API endpoint which enables it to connect to.</li><li><strong>Industry standard tools</strong> like <a href="https://www.splunk.com/">Splunk</a>, <a href="https://www.nagios.org/">Nagios</a> and o<a href="https://www.opennms.com/">penNMS</a>. In fact, Splunk and openNMS have support for monitoring Nextcloud systems.</li><li><strong>Auditing Logs</strong> allow you to log data in the nextcloud.log file to not only monitor file handling and user management, but prevent against data loss too.</li></ul>
+
+
+
+<p>Read more about <a href="https://nextcloud.com/monitoring">Nextcloud Monitoring.</a></p>
+
+
+
+<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="533" src="https://nextcloud.com/wp-content/uploads/2022/08/activity-nw-1024x533.png" alt="" class="wp-image-48381" srcset="https://nextcloud.com/wp-content/uploads/2022/08/activity-nw-1024x533.png 1024w, https://nextcloud.com/wp-content/uploads/2022/08/activity-nw-300x156.png 300w, https://nextcloud.com/wp-content/uploads/2022/08/activity-nw-768x400.png 768w, https://nextcloud.com/wp-content/uploads/2022/08/activity-nw-1536x800.png 1536w, https://nextcloud.com/wp-content/uploads/2022/08/activity-nw.png 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
+
+
+
+<div style="height:26px" aria-hidden="true" class="wp-block-spacer"></div>
+
+
+
+<h2>Advanced Permissions</h2>
+
+
+
+<p>Advanced Permissions allow the user to configure permissions on the files they share.</p>
+
+
+
+<p>There are several types of permission options that make your files more secure like:</p>
+
+
+
+<ul><li>Setting permissions on a shared file to: <strong>read, create, edit, and / or upload.</strong></li><li><strong>Watermarking</strong> confidential documents to make it harder to steal data</li><li>Enabling a <strong>password protection or expiration date</strong> on a public file or folder</li><li>File-Drop: option to <strong>hide </strong>the contents of a<strong> folder</strong> where people can upload files to</li><li><strong>Blocking downloads</strong> so the user can view and even edit the shared file(s), but not download them</li></ul>
+
+
+
+<div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/556891346?badge=0&amp;autopause=0&amp;dnt=1&amp;player_id=0&amp;app_id=58479" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen="" style="position:absolute;top:0;left:0;width:100%;height:100%;" title="Video" frameborder="0"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script>
+
+
+
+<div style="height:26px" aria-hidden="true" class="wp-block-spacer"></div>
+
+
+
+<div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/556890169?badge=0&amp;autopause=0&amp;dnt=1&amp;player_id=0&amp;app_id=58479" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen="" style="position:absolute;top:0;left:0;width:100%;height:100%;" title="" frameborder="0"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script>
+
+
+
+<div style="height:33px" aria-hidden="true" class="wp-block-spacer"></div>
+
+
+
+<p>With all of these features available, users can ensure their files are only accessed the way they want.</p>
+
+
+
+<div style="height:26px" aria-hidden="true" class="wp-block-spacer"></div>
+
+
+
+<h2><strong>Machine learning based suspicious login detection</strong></h2>
+
+
+
+<p>Introduced back in Nextcloud 16 by one of our <a href="https://blog.wuc.me/2019/04/25/nextcloud-suspicious-login-detection">developers</a>, you can protect your account through machine learning, which increases security and productivity even beyond our brute-force protection and 2-factor authentification.</p>
+
+
+
+<p>Suspicious Login Detection uses a locally trained neural network to detect attempts to login by malicious actors.</p>
+
+
+
+<p>The way it works is that the app tracks a series of successful logins for a set period of time, and then uses the generated data to train a neural network. This network essentially learns the patterns of the user: at what time and from what location they usually log in. Once this trained model is formed, the system can detect any unusual or suspicious logins. For example, if a user typically logs into the office at 9AM, and suddenly there is a login from a different city at 11PM, something is off. When such a login is detected, the user gets a notification and can check the logs, potentially concluding in a password change by the user.</p>
+
+
+
+<p>Note that Suspicious Login Detection trains and works with local data and does not send data anywhere else!</p>
+
+
+
+<figure class="wp-block-image size-large"><img loading="lazy" width="1024" height="646" src="https://nextcloud.com/wp-content/uploads/2022/08/admin_settings-1024x646.png" alt="" class="wp-image-48488" srcset="https://nextcloud.com/wp-content/uploads/2022/08/admin_settings-1024x646.png 1024w, https://nextcloud.com/wp-content/uploads/2022/08/admin_settings-300x189.png 300w, https://nextcloud.com/wp-content/uploads/2022/08/admin_settings-768x484.png 768w, https://nextcloud.com/wp-content/uploads/2022/08/admin_settings.png 1529w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
+
+