Skip to content

Commit d07ce13

Browse files
authored
Merge pull request #13787 from nextcloud/jtr/admin-external-storage-encoding-consolidation
2 parents 194c61f + 95027c4 commit d07ce13

2 files changed

Lines changed: 74 additions & 69 deletions

File tree

admin_manual/configuration_files/external_storage_configuration_gui.rst

Lines changed: 74 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,47 @@
1-
==================================
2-
Configuring External Storage (GUI)
3-
==================================
1+
================
2+
External Storage
3+
================
44

55
The External Storage Support application enables you to mount external storage
66
services and devices as secondary Nextcloud storage devices. You may also allow
77
users to mount their own external storage services.
88

9-
For configuration of external storages via occ command, see :ref:`occ documentation <files_external_label>`.
9+
Enabling
10+
--------
1011

11-
Enabling External Storage Support
12-
---------------------------------
13-
14-
The External storage support application is enabled on your Apps page.
12+
External Storage Support is provided by a bundled (automatically installed) app. It is
13+
disabled by default, so to use this feature you simply need to enable it under
14+
**Apps**.
1515

1616
.. figure:: external_storage/images/enable-app.png
1717
:alt: Enable external storage on your Apps page.
1818

19-
Storage configuration
20-
---------------------
19+
Configuring
20+
-----------
21+
22+
To access the settings for configuring external storage mounts, click your Profile icon
23+
in the top right and select **Settings** from the dropdown. On the left side, under
24+
**Administration**, select **External Storage**.
2125

22-
To access the settings for configuring external storage mounts, click on your Profile icon
23-
in the top right and select settings from the dropdown. On the left side under Administration
24-
select External Storage.
26+
.. note::
27+
External storage can also be configured via the occ command. See :ref:`occ
28+
documentation <files_external_label>`.
2529

2630
To create a new external storage mount, select an available backend from the
27-
dropdown **Add storage**. Each backend has different required options, which
31+
**Add storage** dropdown. Each backend has different required options, which
2832
are configured in the configuration fields.
2933

3034
.. figure:: external_storage/images/add_storage.png
3135

3236
Each backend may also accept multiple authentication methods. These are selected
3337
with the dropdown under **Authentication**. Different backends support different
34-
authentication mechanisms; some specific to the backend, others are more
38+
authentication mechanisms; some are specific to the backend, while others are more
3539
generic. See :doc:`external_storage/auth_mechanisms` for more detailed
3640
information.
3741

3842
When you select an authentication mechanism, the configuration fields change as
39-
appropriate for the mechanism. The SFTP backend, for one example, supports
40-
**username and password**, **Log-in credentials, save in session**, and **RSA
43+
appropriate for the chosen mechanism. For example, the SFTP backend supports
44+
**Username and password**, **Log-in credentials, save in session**, and **RSA
4145
public key**.
4246

4347
.. figure:: external_storage/images/auth_mechanism.png
@@ -65,36 +69,35 @@ Usage of variables for mount paths
6569

6670
The external storage mounting mechanism accepts variables in the mount path.
6771

68-
Use ``$user`` for automatic substitution with the logged in user's username.
72+
Use ``$user`` for automatic substitution with the logged-in user's username.
6973

7074
Use ``$home`` for automatic substitution with a configurable home directory variable
71-
(requires LDAP, see :ref:`LDAP_Special_Attributes` in the LDAP configuration documentation for details)
75+
(requires LDAP; see :ref:`LDAP_Special_Attributes` in the LDAP configuration documentation for details).
7276

73-
In the following example, the mount point for a logged in user "alice" would substitute
77+
In the following example, the mount point for a logged-in user "alice" would resolve
7478
to ``/opt/userDirectories/alice/myPictures``.
7579

7680
.. figure:: external_storage/images/externalStorages_variables.png
7781
:alt: External storage user variable substitution
7882

79-
80-
User and group permissions
83+
User and Group Permissions
8184
--------------------------
8285

83-
A storage configured in a user's Personal settings is available only to the user
84-
that created it. A storage configured in the Admin settings is available to
85-
all users by default, and it can be restricted to specific users and groups in
86+
A storage configured in a user's personal settings is available only to the user
87+
who created it. A storage configured in the Admin settings is available to
88+
all users by default, but it can be restricted to specific users and groups in
8689
the **Available for** field.
8790

8891
.. figure:: external_storage/images/applicable.png
8992
:alt: User and groups selector
9093

9194
.. _external_storage_mount_options_label:
9295

93-
Mount options
96+
Mount Options
9497
-------------
9598

96-
The Overflow menu (three dots) exposes the settings and trashcan. Click the trashcan to delete the
97-
mountpoint. The settings button allows you to configure each storage mount
99+
The overflow menu (three dots) exposes the settings and trashcan icons. Click the trashcan to delete the
100+
mount point. The settings button allows you to configure each storage mount
98101
individually with the following options:
99102

100103
* Encryption
@@ -107,23 +110,23 @@ individually with the following options:
107110
The **Encryption** checkbox is visible only when the Encryption app is enabled. Note that server-side
108111
encryption is not available for other Nextcloud servers used as external storage.
109112

110-
**Enable Sharing** allows the Nextcloud admin to enable or disable sharing on individual mountpoints.
111-
When sharing is disabled the shares are retained internally, so that you can re-enable sharing
113+
**Enable Sharing** allows the Nextcloud admin to enable or disable sharing on individual mount points.
114+
When sharing is disabled, the shares are retained internally so that you can re-enable sharing
112115
and the previous shares become available again. Sharing is disabled by default.
113116

114117
.. figure:: external_storage/images/mount_options.png
115118
:alt: Additional mount options exposed on mouseover.
116119

117-
Using self-signed certificates
120+
Using Self-Signed Certificates
118121
------------------------------
119122

120-
When using self-signed certificates for external storage mounts the certificate
123+
When using self-signed certificates for external storage mounts, the certificate
121124
must be imported into the personal settings of the user. Please refer to
122125
`Nextcloud HTTPS External Mount
123126
<https://ownclouden.blogspot.de/2014/11/owncloud-https-external-mount.html>`_
124127
for more information.
125128

126-
Available storage backends
129+
Available Storage Backends
127130
--------------------------
128131

129132
The following backends are provided by the external storages app.
@@ -141,9 +144,9 @@ The following backends are provided by the external storages app.
141144
external_storage/webdav
142145

143146
.. note:: A non-blocking or correctly configured SELinux setup is needed
144-
for these backends to work. Please refer to the :ref:`selinux-config-label`.
147+
for these backends to work. Please refer to :ref:`selinux-config-label`.
145148

146-
Allow users to mount external Storage
149+
Allow Users to Mount External Storage
147150
-------------------------------------
148151

149152
Check **Enable User External Storage** to allow your users to mount their own
@@ -162,14 +165,43 @@ We recommend configuring the background job **Webcron** or
162165
to enable Nextcloud to automatically detect files added to your external
163166
storages.
164167

165-
Nextcloud may not always be able to find out what has been
166-
changed remotely (files changed without going through Nextcloud), especially
167-
when it's very deep in the folder hierarchy of the external storage.
168+
Nextcloud may not always be able to detect changes made remotely (files changed without going through Nextcloud), especially
169+
when files are located deep in the folder hierarchy of the external storage.
168170

169-
You might need to setup a cron job that runs ``sudo -E -u www-data php occ files:scan --all``
170-
(or replace ``--all`` with the user name, see also :doc:`../occ_command`)
171-
to trigger a rescan of the user's files periodically (for example every 15 minutes), which includes
171+
You might need to set up a cron job that runs ``sudo -E -u www-data php occ files:scan --all``
172+
(or replace ``--all`` with the username; see also :doc:`../occ_command`)
173+
to trigger a rescan of the user's files periodically (for example, every 15 minutes), which includes
172174
the mounted external storage.
173175

174176
If you are running Nextcloud AIO, the equivalent command
175-
in that environment is ``sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --all``.
177+
in that environment is ``sudo docker exec --user www-data -it nextcloud-aio-nextcloud php occ files:scan --all``.
178+
179+
.. _trouble-file-encoding-ext-storages:
180+
181+
Troubleshooting File Name Encoding
182+
----------------------------------
183+
184+
.. TODO: This should be reviewed by a knowledgeable party at a future date to determine if any changes are relevant with the HFS+ to APFS migration in macOS.
185+
186+
When using external storage, it can happen that some files with special characters will not
187+
appear in the file listing, or they will appear but not be accessible.
188+
189+
When this happens, please run the :ref:`files scanner<occ_files_scan_label>`, for example::
190+
191+
sudo -E -u www-data php occ files:scan --all
192+
193+
If the scanner reports an encoding issue on the affected file, please enable Mac encoding
194+
compatibility in the :ref:`mount options<external_storage_mount_options_label>`
195+
and then :ref:`rescan the external storage<occ_files_scan_label>`.
196+
197+
.. note::
198+
This mode comes with a performance impact because Nextcloud will always try both encodings when detecting files
199+
on external storages.
200+
201+
Mac computers use the NFD Unicode normalization for file names, which is different from NFC, the one used
202+
by other operating systems. Mac users might upload files directly to the external storage using NFD-normalized
203+
file names. When uploading through Nextcloud, file names will always be normalized to the NFC standard for consistency.
204+
205+
It is recommended to let Nextcloud use external storages exclusively to avoid such issues.
206+
207+
See also the `technical explanation about NFC vs NFD normalizations <https://www.win.tue.nl/~aeb/linux/uc/nfc_vs_nfd.html>`_.

admin_manual/issues/general_troubleshooting.rst

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -339,33 +339,6 @@ Users' Federated Cloud IDs not updated after a domain name change
339339
| ``occ dav:sync-system-addressbook``
340340
| ``occ federation:sync-addressbooks``
341341
342-
.. _trouble-file-encoding-ext-storages:
343-
344-
Troubleshooting file encoding on external storages
345-
--------------------------------------------------
346-
347-
When using external storage, it can happen that some files with special characters will not
348-
appear in the file listing, or they will appear and not be accessible.
349-
350-
When this happens, please run the :ref:`files scanner<occ_files_scan_label>`, for example with::
351-
352-
sudo -E -u www-data php occ files:scan --all
353-
354-
If the scanner tells about an encoding issue on the affected file, please enable Mac encoding compatibility in the :ref:`mount options<external_storage_mount_options_label>`
355-
and then :ref:`rescan the external storage<occ_files_scan_label>`.
356-
357-
.. note::
358-
This mode comes with a performance impact because Nextcloud will always try both encodings when detecting files
359-
on external storages.
360-
361-
Mac computers are using the NFD Unicode Normalization for file names which is different than NFC, the one used
362-
by other operating systems. Mac users might upload files directly to the external storage using NFD normalized
363-
file names. When uploading through Nextcloud, file names will always be normalized to the NFC standard for consistency.
364-
365-
It is recommended to let Nextcloud use external storages exclusively to avoid such issues.
366-
367-
See also `technical explanation about NFC vs NFD normalizations <https://www.win.tue.nl/~aeb/linux/uc/nfc_vs_nfd.html>`_.
368-
369342
Troubleshooting contacts & calendar
370343
-----------------------------------
371344

0 commit comments

Comments
 (0)