mirror of
https://github.com/nextcloud/documentation.git
synced 2026-01-02 17:59:36 +07:00
Merge pull request #12050 from nextcloud/codespell
feat: hello codespell
This commit is contained in:
3
.codespellignore
Normal file
3
.codespellignore
Normal file
@@ -0,0 +1,3 @@
|
||||
SME
|
||||
te
|
||||
jus
|
||||
4
.codespellrc
Normal file
4
.codespellrc
Normal file
@@ -0,0 +1,4 @@
|
||||
[codespell]
|
||||
skip = ./build/*,**/_build/*,*.pot,conf.py,./static/*,./admin_manual/configuration_server/config_sample_php_parameters.rst,./_shared_assets/*,./COPYING
|
||||
ignore-words = .codespellignore
|
||||
check-filenames = true
|
||||
17
.github/workflows/codespell.yml
vendored
Normal file
17
.github/workflows/codespell.yml
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
name: 'Codespell'
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
codespell:
|
||||
name: Check spelling
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v4
|
||||
- name: Check spelling
|
||||
uses: codespell-project/actions-codespell@v2
|
||||
@@ -170,7 +170,7 @@ Using the VSCode DevContainer
|
||||
This repository contains a full-featured `VSCode DevContainer <https://code.visualstudio.com/docs/devcontainers/containers>`_.
|
||||
You can use it in your local development environment or via `GitHub Codespaces <https://github.com/features/codespaces>`_.
|
||||
Just open the container an use one of the commands from above to build the project. For example ``make`` to build the full
|
||||
documentaion, ``make html`` to build the HTML documentaion or ``make pdf`` to build the PDF documentation. You can also use
|
||||
documentation, ``make html`` to build the HTML documentation or ``make pdf`` to build the PDF documentation. You can also use
|
||||
``make SPHINXBUILD=sphinx-autobuild html`` in combination with `port forwarding <https://code.visualstudio.com/docs/devcontainers/containers#_forwarding-or-publishing-a-port>`_
|
||||
to watch file changes and automatically reload the html preview.
|
||||
|
||||
|
||||
@@ -107,6 +107,6 @@ Known Limitations
|
||||
* Language models can be bad at reasoning tasks
|
||||
* Language models are likely to generate false information and should thus only be used in situations that are not critical. It's recommended to only use AI at the beginning of a creation process and not at the end, so that outputs of AI serve as a draft for example and not as final product. Always check the output of language models before using it.
|
||||
* Make sure to test the language model you are using it for whether it meets the use-case's quality requirements
|
||||
* Language models notoriously have a high energy consumption, if you want to reduce load on your server you can choose smaller models or quantized models in excahnge for lower accuracy
|
||||
* Language models notoriously have a high energy consumption, if you want to reduce load on your server you can choose smaller models or quantized models in exchange for lower accuracy
|
||||
* Customer support is available upon request, however we can't solve false or problematic output, most performance issues, or other problems caused by the underlying model. Support is thus limited only to bugs directly caused by the implementation of the app (connectors, API, front-end, AppAPI)
|
||||
* Due to technical limitations that we are in the process of mitigating, each task currently incurs a time cost of between 0 and 5 minutes in addition to the actual processing time
|
||||
|
||||
@@ -68,6 +68,6 @@ Known Limitations
|
||||
* The whisper models perform unevenly across languages, and may show lower accuracy on low-resource and/or low-discoverability languages or languages where there was less training data available. The models also exhibit disparate performance on different accents and dialects of particular languages, which may include higher word error rate across speakers of different genders, races, ages, or other demographic criteria.
|
||||
* Language models are likely to generate false information and should thus only be used in situations that are not critical. It's recommended to only use AI at the beginning of a creation process and not at the end, so that outputs of AI serve as a draft for example and not as final product. Always check the output of language models before using it.
|
||||
* Make sure to test the language model you are using it for whether it meets the use-case's quality requirements
|
||||
* Language models notoriously have a high energy consumption, if you want to reduce load on your server you can choose smaller models or quantized models in excahnge for lower accuracy
|
||||
* Language models notoriously have a high energy consumption, if you want to reduce load on your server you can choose smaller models or quantized models in exchange for lower accuracy
|
||||
* Customer support is available upon request, however we can't solve false or problematic output, most performance issues, or other problems caused by the underlying model. Support is thus limited only to bugs directly caused by the implementation of the app (connectors, API, front-end, AppAPI)
|
||||
* Due to technical limitations that we are in the process of mitigating, each task currently incurs a time cost of between 0 and 5 minutes in addition to the actual processing time
|
||||
|
||||
@@ -37,7 +37,7 @@ The ``occ db:convert-type`` command handles all the tasks of the conversion. The
|
||||
php occ db:convert-type [options] type username hostname database
|
||||
|
||||
``type`` should be the target database type. The same values are available here as for the ``config.php`` ``dbtype`` parameter. It should be one of: ``mysql`` for MariaDB/MySQL,
|
||||
``pgsql`` for PostgresSQL, or ``oci`` for Oracle.
|
||||
``pgsql`` for PostgreSQL, or ``oci`` for Oracle.
|
||||
|
||||
The options:
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ Requirements
|
||||
|
||||
* Decide whether you wish to use MySQL / MariaDB, PostgreSQL, or Oracle as your database
|
||||
* Pick a recommendeded version of your database by checking the Nextcloud :doc:`System Requirements <../installation/system_requirements>`
|
||||
* Install and set up the chosen database server software (and preferrred version) before deploying Nextcloud Server
|
||||
* Install and set up the chosen database server software (and preferred version) before deploying Nextcloud Server
|
||||
|
||||
.. note:: The steps for configuring a third party database are beyond the
|
||||
scope of this document. Please refer to the documentation for your specific
|
||||
@@ -208,7 +208,7 @@ like this:
|
||||
extension=pdo_pgsql.so
|
||||
extension=pgsql.so
|
||||
|
||||
[PostgresSQL]
|
||||
[PostgreSQL]
|
||||
pgsql.allow_persistent = On
|
||||
pgsql.auto_reset_persistent = Off
|
||||
pgsql.max_persistent = -1
|
||||
|
||||
@@ -347,7 +347,7 @@ Sources
|
||||
|
||||
- `nextcloud-tools repository on GitHub <https://github.com/syseleven/nextcloud-tools>`_
|
||||
- `Nextcloud Encryption Configuration documentation <https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/encryption_configuration.html>`_
|
||||
- `Nextcloud Help response concering the usage of version information <https://help.nextcloud.com/t/allow-file-decryption-with-only-the-files-keys-and-passwords/436/12>`_
|
||||
- `Nextcloud Help response concerning the usage of version information <https://help.nextcloud.com/t/allow-file-decryption-with-only-the-files-keys-and-passwords/436/12>`_
|
||||
- `Sourcecode: Creation of the Message Authentication Code <https://github.com/nextcloud/server/blob/a374d8837d6de459500e619cf608e0721ea14574/apps/encryption/lib/Crypto/Crypt.php#L504>`_
|
||||
- `Sourcecode: Derivation of the Encryption Key <https://github.com/nextcloud/server/blob/a374d8837d6de459500e619cf608e0721ea14574/apps/encryption/lib/Crypto/Crypt.php#L346>`_
|
||||
- `Sourcecode: Encryption of the File <https://github.com/nextcloud/server/blob/a374d8837d6de459500e619cf608e0721ea14574/apps/encryption/lib/Crypto/Crypt.php#L234>`_
|
||||
|
||||
@@ -93,7 +93,7 @@ individually with the following options:
|
||||
* Previews
|
||||
* Enable Sharing
|
||||
* Filesystem check frequency (Never, Once per direct access)
|
||||
* Mac NFD Compatability
|
||||
* Mac NFD Compatibility
|
||||
* Read Only
|
||||
|
||||
The **Encryption** checkbox is visible only when the Encryption app is enabled. Note that server-side
|
||||
|
||||
@@ -206,7 +206,7 @@ The following options are available to configure when using a redis cluster (all
|
||||
'dbindex' => 0,
|
||||
],
|
||||
|
||||
.. note:: The port is required as part of the server URL. However, it is not necesarry to list all servers: for example, if all servers are load balanced via the same DNS name, only that server name is required.
|
||||
.. note:: The port is required as part of the server URL. However, it is not necessary to list all servers: for example, if all servers are load balanced via the same DNS name, only that server name is required.
|
||||
|
||||
Connecting to single Redis server over TCP
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -179,7 +179,7 @@ Enabling autocompletion
|
||||
-----------------------
|
||||
|
||||
.. note:: Command autocompletion currently only works if the user you use to execute the occ commands has a profile.
|
||||
``www-data`` in most cases is ``nologon`` and therefor **cannot** use this feature.
|
||||
``www-data`` in most cases is ``nologon`` and therefore **cannot** use this feature.
|
||||
|
||||
Autocompletion is available for bash (and bash based consoles).
|
||||
To enable it, you have to run **one** of the following commands::
|
||||
@@ -1168,7 +1168,7 @@ mimetype, run ``maintenance:mimetype:update-db --repair-filecache`` to apply the
|
||||
change to existing files.
|
||||
|
||||
Run the ``maintenance:theme:update`` command if the icons of your custom theme are not
|
||||
updated correctly. This updates the mimetypelist.js and cleares the image cache.
|
||||
updated correctly. This updates the mimetypelist.js and clears the image cache.
|
||||
|
||||
.. _security_commands_label:
|
||||
|
||||
@@ -1748,7 +1748,7 @@ check for that user via the occ command::
|
||||
|
||||
.. note:: This is not supported by all providers.
|
||||
|
||||
To re-enable two-factor auth again use the following commmand::
|
||||
To re-enable two-factor auth again use the following command::
|
||||
|
||||
sudo -u www-data php occ twofactorauth:enable <uid> <provider_id>
|
||||
|
||||
|
||||
@@ -123,10 +123,10 @@ Some files have not passed the integrity check
|
||||
|
||||
Please refer to the :ref:`code_signing_fix_warning_label` documentation how to debug this issue.
|
||||
|
||||
Your database does not run with "READ COMMITED" transaction isolation level
|
||||
---------------------------------------------------------------------------
|
||||
Your database does not run with "READ COMMITTED" transaction isolation level
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
"Your database does not run with "READ COMMITED" transaction isolation level.
|
||||
"Your database does not run with "READ COMMITTED" transaction isolation level.
|
||||
This can cause problems when multiple actions are executed in parallel."
|
||||
|
||||
Please refer to :ref:`db-transaction-label` how to configure your database for this requirement.
|
||||
|
||||
@@ -709,7 +709,7 @@ Example usage::
|
||||
|
||||
It is also possible to set the admin group mapping using
|
||||
``occ ldap:set-config $configId ldapAdminGroup $groupId``, but as the Nextcloud
|
||||
group ID might not be known (yet) it is recommended (especially for automatized
|
||||
group ID might not be known (yet) it is recommended (especially for automated
|
||||
setups) to use the `promote-group` command, that would also pull in the group
|
||||
and determine the group ID.
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ assigned.
|
||||
|
||||
So you just need to assign the tag to the folder or file, and then block the
|
||||
tag with a rule group. The check is independent of the user's permissions for
|
||||
the tag. Therefor restricted and invisible tags are recommended, otherwise a
|
||||
the tag. Therefore restricted and invisible tags are recommended, otherwise a
|
||||
user could remove and reassign the tag.
|
||||
|
||||
This example blocks access to any folder with the tag ``Confidential``.
|
||||
@@ -75,7 +75,7 @@ Blocking user groups
|
||||
When trying to deny access to a group of users, make sure that sharing does not
|
||||
allow them to create a way back in. When users are able to create a public link,
|
||||
the users can log themselves out and visit their own public link to access the
|
||||
files. Since at this point they are no user and therefor no member of the
|
||||
files. Since at this point they are no user and therefore no member of the
|
||||
blocked group, they will be able to read and change the file.
|
||||
|
||||
The recommended work around is to create the same rule again, and deny access
|
||||
@@ -87,7 +87,7 @@ External storage
|
||||
|
||||
While access to files in external storages is not possible via Nextcloud, users
|
||||
that have direct access to the external storage, can of course change files
|
||||
there directly. Therefor it is recommended to disable the ``Allow users to mount
|
||||
there directly. Therefore it is recommended to disable the ``Allow users to mount
|
||||
external storage`` option, when trying to to completely lock out users.
|
||||
|
||||
.. _available-rules-label:
|
||||
|
||||
@@ -27,7 +27,7 @@ navigate to the configuration and locate the Workflow settings.
|
||||
In the example you can see a simple rule with only one condition.
|
||||
It will tag all files with the restricted tag ``Protected file`` that are
|
||||
uploaded into a folder that is tagged with ``Protect content``. No user can
|
||||
remove the tag ``Protected file`` and therefor access control and retention
|
||||
remove the tag ``Protected file`` and therefore access control and retention
|
||||
both work fine without users being able to work around them.
|
||||
|
||||
In this case folder will be also tagged with tag ``Protected file``, to avoid
|
||||
|
||||
@@ -34,7 +34,7 @@ Reminder notifications
|
||||
----------------------
|
||||
Nextcloud handles sending notifications for events.
|
||||
|
||||
Nextcloud currently handles two types of reminder notifications: Build-in Nextcloud notifications and
|
||||
Nextcloud currently handles two types of reminder notifications: Built-in Nextcloud notifications and
|
||||
email notifications. For the emails to be send, you'll need a configured email server.
|
||||
See :doc:`../configuration_server/email_configuration`.
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ You can disable access to the system address book by using the app config value
|
||||
|
||||
Run ``occ config:app:set dav system_addressbook_exposed --value="no"`` to disable access to the system address book for all users. Please note that this does not influence :ref:`Federated sharing<label-direct-share-link>`.
|
||||
|
||||
.. warning:: If clients have already connected to the CalDAV endpoint, the clients might experience sync issues after system address book access was disabled. This can often be remedied by chosing a different default address book on the client and forcing a resync.
|
||||
.. warning:: If clients have already connected to the CalDAV endpoint, the clients might experience sync issues after system address book access was disabled. This can often be remedied by choosing a different default address book on the client and forcing a resync.
|
||||
|
||||
Privacy and User Property Scopes
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -91,7 +91,7 @@ You have to enable the module stream for 8.2:
|
||||
Installing PHP and the required modules
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Next, install the PHP modules needed for this install. Remember, because this is a limited basic install, we only install the neccessary modules, not all of them. If you are making a more complete install, please refer to PHP module list in the source installation documentation, :doc:`../installation/source_installation`::
|
||||
Next, install the PHP modules needed for this install. Remember, because this is a limited basic install, we only install the necessary modules, not all of them. If you are making a more complete install, please refer to PHP module list in the source installation documentation, :doc:`../installation/source_installation`::
|
||||
|
||||
dnf install -y php php-cli php-gd php-mbstring php-intl php-pecl-apcu\
|
||||
php-mysqlnd php-opcache php-json php-zip
|
||||
|
||||
@@ -208,7 +208,7 @@ Since in OpenBSD httpd(8) works with a chroot(8) by default, we need to be sure
|
||||
Nextcloud final steps
|
||||
---------------------
|
||||
|
||||
Now that we have all in place, you should go to your browser with your URL (I am asuming you have an SSL already installed)::
|
||||
Now that we have all in place, you should go to your browser with your URL (I am assuming you have an SSL already installed)::
|
||||
|
||||
https://domain.tld
|
||||
|
||||
|
||||
@@ -236,7 +236,7 @@ security headers are shipped.
|
||||
Connections to remote servers
|
||||
-----------------------------
|
||||
|
||||
Some functionalites require the Nextcloud server to be able to connect remote systems via https/443.
|
||||
Some functionalities require the Nextcloud server to be able to connect remote systems via https/443.
|
||||
This pragraph also includes the data which is being transmitted to the Nextcloud GmbH.
|
||||
Depending on your server setup, these are the possible connections:
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ Debug Mode
|
||||
|
||||
Verify that ``debug`` is ``false`` in your ``config.php``. The default is ``false`` in new
|
||||
installations (or when not specified). While similar to the DEBUG logging level, this option
|
||||
also disables various optimizations (to faciliate easier debugging) and generates additional
|
||||
also disables various optimizations (to facilitate easier debugging) and generates additional
|
||||
debug output both at the browser level and server-side. It should not be enabled in production
|
||||
environments outside of isolated troubleshooting situations.
|
||||
|
||||
|
||||
@@ -259,7 +259,7 @@ value is often ``5``. This greatly limits simultaneously connections to your
|
||||
Nextcloud instance and, unless you are severely resource constraints, will
|
||||
underutilize your hardware. Check the :doc:`../installation/server_tuning`
|
||||
chapter for some guidance and resources for coming up with appropriate values,
|
||||
as well as other related paramaters.
|
||||
as well as other related parameters.
|
||||
|
||||
System environment variables
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@@ -268,7 +268,7 @@ When you are using ``php-fpm``, system environment variables like
|
||||
PATH, TMP or others are not automatically populated in the same way as
|
||||
when using ``php-cli``. A PHP call like ``getenv('PATH');`` can therefore
|
||||
return an empty result. So you may need to manually configure environment
|
||||
variables in the appropropriate ``php-fpm`` ini/config file.
|
||||
variables in the appropriate ``php-fpm`` ini/config file.
|
||||
|
||||
Here are some example root paths for these ini/config files:
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ like a lot, but detailed instructions are below.
|
||||
.. important::
|
||||
Before upgrading, especially between major versions (e.g. v27.y.z -> v28.y.z) please review
|
||||
:ref:`critical changes<critical-changes>` first. These are highlights of changes that may be required
|
||||
in your environment to accomodate changes in Nextcloud Server. These notes are periodically revised as
|
||||
in your environment to accommodate changes in Nextcloud Server. These notes are periodically revised as
|
||||
needed so it is a good idea to revisit them even when proceeding with minor and maintenance upgrades just
|
||||
in case.
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ PostgreSQL
|
||||
Synchronising with clients after data recovery
|
||||
----------------------------------------------
|
||||
|
||||
By default the Nextcloud server is considered the authorative source for the data.
|
||||
By default the Nextcloud server is considered the authoritative source for the data.
|
||||
If the data on the server and the client differs
|
||||
clients will default to fetching the data from the server.
|
||||
|
||||
|
||||
@@ -174,7 +174,7 @@ The steps are basically the same as for the web based updater:
|
||||
a new update available. Go to the admin settings page and scroll to the
|
||||
section "Version". This section has a button to open the updater. This
|
||||
section as well as the update notification is only available if the update
|
||||
notication app is enabled in the apps management.
|
||||
notification app is enabled in the apps management.
|
||||
|
||||
.. image:: images/updater-1-update-available.png
|
||||
|
||||
@@ -224,7 +224,7 @@ It is possible to run the command line based updater in a non-interactive mode.
|
||||
The updater then doesn't ask any interactive questions. It is assumed that if
|
||||
an update is available it should be installed and the ``occ upgrade`` command
|
||||
is executed as well. After finishing the maintenance mode will be turned off
|
||||
except an error occured during the ``occ upgrade`` or the replacement of the
|
||||
except an error occurred during the ``occ upgrade`` or the replacement of the
|
||||
code.
|
||||
|
||||
To execute this, run the command with the ``--no-interaction`` option. (i.e.
|
||||
|
||||
@@ -22,7 +22,7 @@ However some environments require the manual approach. Both approaches are cover
|
||||
.. important::
|
||||
Before upgrading, especially between major versions (e.g. v27.y.z -> v28.y.z) please review
|
||||
:ref:`critical changes<critical-changes>` first. These are highlights of changes that may be required
|
||||
in your environment to accomodate changes in Nextcloud Server. These notes are periodically revised as
|
||||
in your environment to accommodate changes in Nextcloud Server. These notes are periodically revised as
|
||||
needed so it is also a good idea to revisit them periodically, such as when proceeding with maintenance
|
||||
upgrades.
|
||||
|
||||
@@ -106,7 +106,7 @@ upgrades, or for performing troubleshooting or maintenance. Please see
|
||||
the maintenance mode (``maintenance:mode``) or execute repair commands
|
||||
(``maintenance:repair``) with the ``occ`` command.
|
||||
|
||||
The :doc:`build-in Updater <update>` does this for you before replacing the
|
||||
The :doc:`built-in Updater <update>` does this for you before replacing the
|
||||
existing Nextcloud code with the code of the new Nextcloud version.
|
||||
|
||||
``maintenance:mode`` locks the sessions of logged-in users and prevents new
|
||||
|
||||
@@ -7,7 +7,7 @@ Overview
|
||||
|
||||
Nextcloud releases multiple major versions *throughout* the year, but maintains support for *each* major version for one full year each through "lighter" maintenance updates (and regularly `backporting <https://en.wikipedia.org/wiki/Backporting>`_ applicable security and bug fixes). This permits a high velocity development cadence, while still giving administrators flexibility when planning deployments, upgrades, and maintenance activities.
|
||||
|
||||
A detailed `schedule for upcoming major and maintenance releases <https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule>`_ (as well as end-of-life projections) is regularly updated to faciliate planning deployment, testing, and upgrade planning.
|
||||
A detailed `schedule for upcoming major and maintenance releases <https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule>`_ (as well as end-of-life projections) is regularly updated to facilitate planning deployment, testing, and upgrade planning.
|
||||
|
||||
Whether you want the latest features and optimizations, want to help with testing, or just want to wait until everything is perfectly ready to go, you've got options with regards to which version of Nextcloud Server to initially deploy as well as how frequently to do major upgrades.
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ The code that initializes an app or anything that should run for every request a
|
||||
PSR-3 integration
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
Nextcloud 20 is the first major release of Nextcloud that brings full compatibility with :ref:`psr3`. From this point on it is highly recommended to use this interface mainly as the old ``\OCP\ILogger`` got deprecated with the last remaining changes. The majority of methods are identical between the Nextcloud-specific interface and the PSR one. Pay attention to usages of ``\OCP\ILogger::logException`` as that method does not exist on the PSR logger. However, you can specifcy an ``exception`` key in the ``$context`` argument of any ``\Psr\Log\LoggerInterface`` method and Nextcloud will format it like it did with the old ``logException``.
|
||||
Nextcloud 20 is the first major release of Nextcloud that brings full compatibility with :ref:`psr3`. From this point on it is highly recommended to use this interface mainly as the old ``\OCP\ILogger`` got deprecated with the last remaining changes. The majority of methods are identical between the Nextcloud-specific interface and the PSR one. Pay attention to usages of ``\OCP\ILogger::logException`` as that method does not exist on the PSR logger. However, you can specify an ``exception`` key in the ``$context`` argument of any ``\Psr\Log\LoggerInterface`` method and Nextcloud will format it like it did with the old ``logException``.
|
||||
|
||||
.. _upgrade-psr11:
|
||||
|
||||
|
||||
@@ -80,5 +80,5 @@ Nextcloud 21 is the last major release that supports an app's ``appinfo/database
|
||||
Replaced well-known handler API
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
There was an old, unused and inofficial mechanism to hook into well-known discovery via config settings. This includes ``host-meta``, ``host-meta.json``, ``nodeinfo`` and ``webfinger``. A :ref:`new public API replaces this mechanism<web-host-metadata>` in Nextcloud 21.
|
||||
There was an old, unused and unofficial mechanism to hook into well-known discovery via config settings. This includes ``host-meta``, ``host-meta.json``, ``nodeinfo`` and ``webfinger``. A :ref:`new public API replaces this mechanism<web-host-metadata>` in Nextcloud 21.
|
||||
|
||||
|
||||
@@ -25,12 +25,12 @@ Front-end changes
|
||||
General
|
||||
^^^^^^^
|
||||
|
||||
* With Nextcloud 27 you can also provide module javascript files with the ``.mjs`` file extension. For backwards compatibilty you can provide files with the same name but the ``.js`` file extension which will be loaded for Nextcloud versions before 27.
|
||||
* With Nextcloud 27 you can also provide module javascript files with the ``.mjs`` file extension. For backwards compatibility you can provide files with the same name but the ``.js`` file extension which will be loaded for Nextcloud versions before 27.
|
||||
|
||||
Added APIs
|
||||
^^^^^^^^^^
|
||||
|
||||
* A new Files Router API allows you to control the files router service and update views, querys or param without page reload. See :ref:`FilesAPI`
|
||||
* A new Files Router API allows you to control the files router service and update views, queries or param without page reload. See :ref:`FilesAPI`
|
||||
|
||||
Back-end changes
|
||||
----------------
|
||||
|
||||
@@ -26,7 +26,7 @@ Capabilities
|
||||
|
||||
- ``blacklist_files_regex`` is deprecated now use ``forbidden_filenames`` instead
|
||||
- ``forbidden_filename_characters`` was added to provide a list of characters not allowed within filenames
|
||||
- ``forbidden_filename_extensions`` was added to provide a list of extensions (suffixes) not allwed for filenames
|
||||
- ``forbidden_filename_extensions`` was added to provide a list of extensions (suffixes) not allowed for filenames
|
||||
|
||||
Front-end changes
|
||||
-----------------
|
||||
|
||||
@@ -106,8 +106,8 @@ If your repository lives within the nextcloud organization you need to use an en
|
||||
environment: release
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
In this example we use the "release" environment, open the settings of your repository and open the "Envionments" tab, add a new environment with the name "release", make sure to activate "Required reviewers" only add the people you trust, they will be able to approve a release.
|
||||
Save your rules and at the bottom add the following envionment secrets.
|
||||
In this example we use the "release" environment, open the settings of your repository and open the "Environments" tab, add a new environment with the name "release", make sure to activate "Required reviewers" only add the people you trust, they will be able to approve a release.
|
||||
Save your rules and at the bottom add the following environment secrets.
|
||||
|
||||
* ``APP_PRIVATE_KEY`` your apps private key
|
||||
* ``APP_PUBLIC_CRT`` your apps certificate, this one could be public but for easy usage we add it as a secret
|
||||
@@ -127,7 +127,7 @@ Also make sure to remove ``environment: release`` .
|
||||
|
||||
Makefile changes for code signing
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
As your certificate and your private key now are stored in environment variables you need somehow covert them to a file.
|
||||
As your certificate and your private key now are stored in environment variables you need somehow convert them to a file.
|
||||
One example you may use is provided by the news app.
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
@@ -91,7 +91,7 @@ The release process is identical to the one of a final release, only the version
|
||||
|
||||
The updater channel defines if pre-releases are installed by the server. This setting can be found in the admin setting or in the ``config/config.php`` file. The server will install pre-releases if its update channel is set ``beta``, ``daily``, or ``git``. For all other settings, pre-releases will not be installed.
|
||||
|
||||
.. tip:: Don't publish the pre-releases as nightly version on the app store or Nextcloud installations won't be able to update. Releasing with any (alpha-numeric) suffix is sufficient to mark the release as not production ready and instances are still able to update to it.
|
||||
.. tip:: Don't publish the pre-releases as nightly version on the app store or Nextcloud installations won't be able to update. Releasing with any (alphanumeric) suffix is sufficient to mark the release as not production ready and instances are still able to update to it.
|
||||
|
||||
Nightly releases
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
Events
|
||||
======
|
||||
|
||||
Events are used to communicate between different aspects of the Nextcloud eco system. They are used in the Nextcloud server internally, for server-to-apps communcation as well as inter-app communication.
|
||||
Events are used to communicate between different aspects of the Nextcloud eco system. They are used in the Nextcloud server internally, for server-to-apps communication as well as inter-app communication.
|
||||
|
||||
|
||||
Overview
|
||||
|
||||
@@ -39,7 +39,7 @@ in the appropriate controller. There is two methods to inject your JavaScript fi
|
||||
you will have to register a Listener in your app ``Appinfo/Application.php``.
|
||||
|
||||
Here is an example for the Files app (which emits the ``LoadAdditionalScriptsEvent``).
|
||||
For more informations about app bootstrapping, see the :ref:`application-php` section.
|
||||
For more information about app bootstrapping, see the :ref:`application-php` section.
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
|
||||
@@ -401,7 +401,7 @@ It makes sense to apply some general tips from the beginning, so you don't have
|
||||
Querying the database provider
|
||||
------------------------------
|
||||
|
||||
If you would like to find out which database your app is runnning on, use the ``IDBConnection::getDatabaseProvider`` method.
|
||||
If you would like to find out which database your app is running on, use the ``IDBConnection::getDatabaseProvider`` method.
|
||||
This can be helpful in cases where specific databases have their own
|
||||
requirements, such as Oracle limiting ``IN``- queries to 1000 expressions.
|
||||
|
||||
@@ -431,7 +431,7 @@ When Oracle (``oci``) is supported (also when you don't list any databases), Nex
|
||||
* String columns can not have a length longer than 4.000 characters, use text instead
|
||||
* Boolean columns can not be NotNull
|
||||
|
||||
Additionally we assume that Oracle support means you are interested in scaling and therefor check additional restrictions of other databases in clustered setups:
|
||||
Additionally we assume that Oracle support means you are interested in scaling and therefore check additional restrictions of other databases in clustered setups:
|
||||
|
||||
* Galera Cluster: All tables must have a primary key
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ Note that wiping only works when clients use the login flow so that a dedicated
|
||||
Obtaining wipe status
|
||||
---------------------
|
||||
|
||||
Once a client recieves a 401 or 403 status response it will do a fetch to :code:`<server>/index.php/core/wipe/check` and set the
|
||||
Once a client receives a 401 or 403 status response it will do a fetch to :code:`<server>/index.php/core/wipe/check` and set the
|
||||
token parameter to the apptoken.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -282,7 +282,7 @@ Supported properties
|
||||
+-------------------------------+-------------------------------------------------+--------------------------------------------------------------------------------------+
|
||||
| <nc:acl-enabled> | Whether ACL is enabled for this group folder. | ``1`` or ``0`` |
|
||||
+-------------------------------+-------------------------------------------------+--------------------------------------------------------------------------------------+
|
||||
| <nc:acl-can-manage> | Wether the current user can manager ACL. | ``1`` or ``0`` |
|
||||
| <nc:acl-can-manage> | Whether the current user can manager ACL. | ``1`` or ``0`` |
|
||||
+-------------------------------+-------------------------------------------------+--------------------------------------------------------------------------------------+
|
||||
| <nc:acl-list> | Array of ACL rules. | | ``<nc:acl>`` |
|
||||
| | | | ``<nc:acl-mapping-type>group</nc:acl-mapping-type>`` |
|
||||
@@ -296,7 +296,7 @@ Supported properties
|
||||
+-------------------------------+-------------------------------------------------+--------------------------------------------------------------------------------------+
|
||||
| <nc:group-folder-id> | Numerical id of that group folder. | ``1`` |
|
||||
+-------------------------------+-------------------------------------------------+--------------------------------------------------------------------------------------+
|
||||
| <nc:lock> | Wether the file is locked. | ``1`` or ``0`` |
|
||||
| <nc:lock> | Whether the file is locked. | ``1`` or ``0`` |
|
||||
+-------------------------------+-------------------------------------------------+--------------------------------------------------------------------------------------+
|
||||
| <nc:lock-owner-type> | Type of the owner of the lock. | ``0`` = User |
|
||||
| | | ``1`` = Office or Text |
|
||||
@@ -320,7 +320,7 @@ Supported properties
|
||||
+-------------------------------+-------------------------------------------------+--------------------------------------------------------------------------------------+
|
||||
| <nc:version-label /> | The user-set label for a file. | |
|
||||
+-------------------------------+-------------------------------------------------+--------------------------------------------------------------------------------------+
|
||||
| <nc:version-author /> | The author's id of a specified file verson. | ``admin``, ``jane``, ``thisAuthorsID`` |
|
||||
| <nc:version-author /> | The author's id of a specified file version. | ``admin``, ``jane``, ``thisAuthorsID`` |
|
||||
+-------------------------------+-------------------------------------------------+--------------------------------------------------------------------------------------+
|
||||
|
||||
Listing folders (rfc4918_)
|
||||
|
||||
@@ -62,7 +62,7 @@ Retrying deadlocks
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
In other cases it might be feasible to just retry the specific database
|
||||
transactions. In this case the exception needs to be catched and the
|
||||
transactions. In this case the exception needs to be caught and the
|
||||
transaction needs to be re-issued. It is recommended to limit the amount
|
||||
if retries in case the deadlock occurring regularly. In this case you
|
||||
may follow the next section.
|
||||
|
||||
@@ -108,7 +108,7 @@ Calendar providers
|
||||
-------------------
|
||||
|
||||
The Nextcloud groupware integration provides access to internal calendars.
|
||||
It is, however, for third party apps possible to provide individual calenders.
|
||||
It is, however, for third party apps possible to provide individual calendars.
|
||||
The section :ref:`Integration of custom calendar providers<calendar-providers>` describes on how to implement a provider within the Nextcloud server.
|
||||
|
||||
Resources
|
||||
|
||||
@@ -115,7 +115,7 @@ Events
|
||||
Network state changes
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Your app can react to lost network connectivity, e.g. to gracefully handle this state where no server interaction is possible. Since the communication with the server mostly requires a valid CSRF token, you might not want to send any request before the token was udpated. Nextcloud can notify you when this has happened. Use the ``@nextcloud/event-bus`` to listen for the ``networkOnline`` and ``networkOffline`` events:
|
||||
Your app can react to lost network connectivity, e.g. to gracefully handle this state where no server interaction is possible. Since the communication with the server mostly requires a valid CSRF token, you might not want to send any request before the token was updated. Nextcloud can notify you when this has happened. Use the ``@nextcloud/event-bus`` to listen for the ``networkOnline`` and ``networkOffline`` events:
|
||||
|
||||
.. code-block:: js
|
||||
|
||||
|
||||
@@ -816,7 +816,7 @@ Extending ``ADiscoverableReferenceProvider`` implies defining those methods:
|
||||
|
||||
* ``getId``: returns an ID which will be used by the Smart Picker to identify this provider
|
||||
* ``getTitle``: returns a (ideally translated) provider title visible in the Smart Picker provider list
|
||||
* ``getOrder``: returns an integer to help sorting the providers. The sort order is later superseeded by last usage timestamp
|
||||
* ``getOrder``: returns an integer to help sorting the providers. The sort order is later superseded by last usage timestamp
|
||||
* ``getIconUrl``: returns the URL of the provider icon, same as the title, the icon will be visible in the provider list
|
||||
|
||||
Declare supported Unified Search providers
|
||||
|
||||
@@ -423,7 +423,7 @@ For **offset-based pagination** you return ``$query->getLimit()`` results and sp
|
||||
|
||||
So the first call will get a cursor of ``null`` and a limit of, say, 20. So the first 20 rows are fetched. The next call will have a cursor of 20, so the 20st to 39th rows are fetched.
|
||||
|
||||
The downside of a offset-based pagination is that when the underlying data changes (new entries are inserted into or deleted from the database, files change), the offset might be out of sync from on request to its successor. Therefor, if possible, a true cursor-based pagination is preferable.
|
||||
The downside of a offset-based pagination is that when the underlying data changes (new entries are inserted into or deleted from the database, files change), the offset might be out of sync from on request to its successor. Therefore, if possible, a true cursor-based pagination is preferable.
|
||||
|
||||
For a **cursor-based pagination** a app-specific property is used to know a reference to the last element of the previous search request. The presumption of this algorithm is that the result set is sorted by an attribute and this attribute is an ``int`` or ``string``. The attribute value of the last element in the result page determines the cursor for the next search request. Again, a small example shall demonstrate how this works.
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ For the settings to show up, three things are necessary:
|
||||
2. A template
|
||||
3. The implementing class specified in the app's info.xml
|
||||
|
||||
Below is an example of an implementor of the ISettings interface. It is based
|
||||
Below is an example of an implementer of the ISettings interface. It is based
|
||||
on the survey_client solution.
|
||||
|
||||
.. code-block:: php
|
||||
@@ -200,7 +200,7 @@ Then, the implementing class should be added to the info.xml. Settings will be
|
||||
registered upon installation and update. When settings are added to an existing,
|
||||
installed, and enabled app, it should be made sure that the version is
|
||||
increased so Nextcloud can register the class. It is only possible to register
|
||||
one ISettings implementor.
|
||||
one ISettings implementer.
|
||||
|
||||
For a more complex example using embedded templates have a look at the
|
||||
implementation of the **user_ldap** app.
|
||||
|
||||
@@ -6,7 +6,7 @@ Task Processing
|
||||
|
||||
.. versionadded:: 30.0.0
|
||||
|
||||
Nextcloud offers a **Task Processing** API which replaces the previously introduced :ref:`Text Processing<text_processing>`, :ref:`TextToImage<text2image>` and :ref:`Speech-To-Text<speech-to-text>` APIs. The overall idea is that there is a central OCP API that apps can use to schedule all kinds of tasks (mainly inteded for AI tasks). To be technology agnostic any other app can provide this task functionality by registering Task Processing providers for specific Task types.
|
||||
Nextcloud offers a **Task Processing** API which replaces the previously introduced :ref:`Text Processing<text_processing>`, :ref:`TextToImage<text2image>` and :ref:`Speech-To-Text<speech-to-text>` APIs. The overall idea is that there is a central OCP API that apps can use to schedule all kinds of tasks (mainly intended for AI tasks). To be technology agnostic any other app can provide this task functionality by registering Task Processing providers for specific Task types.
|
||||
|
||||
Consuming the Task Processing API
|
||||
---------------------------------
|
||||
@@ -110,7 +110,7 @@ For example the TextToImage type defines its input shape as follows:
|
||||
|
||||
The task input and output are always represented by an associative array. In this case, the task input for TextToImage must have an array key named ``'input'`` which must contain a text and an array key named ``'numberOfImages'`` which must contain a number.
|
||||
|
||||
If you want to simply use a task type, you can look up it's input and output shapes above or, if it is not built-in, in the documentation or implementation of the app introducing the task type. If you would like to use task types dynamically without knowing their shapes in advance, you can get their shape information from the ``IManager#getAvailableTaskTypes()`` menthod. The ShapeDescriptor class allows accessing the type data as well as human readable name and description using the ``getName()``, ``getDescription()`` and ``getShapeType()`` methods.
|
||||
If you want to simply use a task type, you can look up it's input and output shapes above or, if it is not built-in, in the documentation or implementation of the app introducing the task type. If you would like to use task types dynamically without knowing their shapes in advance, you can get their shape information from the ``IManager#getAvailableTaskTypes()`` method. The ShapeDescriptor class allows accessing the type data as well as human readable name and description using the ``getName()``, ``getDescription()`` and ``getShapeType()`` methods.
|
||||
|
||||
Shape types
|
||||
~~~~~~~~~~~
|
||||
|
||||
@@ -14,7 +14,7 @@ Consuming the Translation API
|
||||
To consume the Translation API, you will need to :ref:`inject<dependency-injection>` ``\OCP\Translation\ITranslationManager``. This manager offers the following methods:
|
||||
|
||||
* ``hasProviders()`` This method returns a boolean which indicates if any providers have been registered. If this is false you cannot use the Translation feature.
|
||||
* ``getLanguages()`` This method returns a list of ``OCP\Translation\LanguageTuple`` Objects which indicate which langauge pairs are currently supported for translation.
|
||||
* ``getLanguages()`` This method returns a list of ``OCP\Translation\LanguageTuple`` Objects which indicate which language pairs are currently supported for translation.
|
||||
* ``translate(string $text, ?string $fromLanguage, string $toLanguage)`` This method provides the actual translation functionality. Note that, depending on the length of the text you want to translate, this may take longer than the HTTP request timeout or the PHP execution time limit.
|
||||
* ``canDetectLanguage()`` This method returns a boolean indicating whether language auto-detection is possible. If this is true, you can pass ``null`` as a ``$fromLanguage`` parameter to ``translate`` and it will automatically figure out the source language.
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ In order to do so there are two options:
|
||||
* If no generic header is present, you can add yourself with a copyright line as described above. As a rule of thumb, this is the case if you contributed more than seven lines of code.
|
||||
|
||||
An example of a generic license header where adding yourself to the AUTHORS.md
|
||||
file is prefered please see the example below
|
||||
file is preferred please see the example below
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
|
||||
@@ -131,7 +131,7 @@ with iOS, macOS, Thunderbird and other CardDAV clients.
|
||||
Circles
|
||||
-------
|
||||
|
||||
Informal collaboration takes place within organizations: an event to organize for a few weeks, a short ideation session between members from differents entities, workshops, a place to joke around and support team building, or simply in very organic organizations where formal structure is kept to a minimum.
|
||||
Informal collaboration takes place within organizations: an event to organize for a few weeks, a short ideation session between members from different entities, workshops, a place to joke around and support team building, or simply in very organic organizations where formal structure is kept to a minimum.
|
||||
|
||||
For all these reasons, Nextcloud supports Circles, a feature embedded in the Contacts app, where every user is able to create its own circle, a user-defined aggregate of accounts. Circles can be used later on to share files and folders, added to Talk conversations, like a regular group.
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ To enable it:
|
||||
|
||||
.. warning:: If you want to also enable it for unified mailboxes you have to do so in Mail settings
|
||||
|
||||
By enabling it the main search box will now search in both subjects and mail bodies, and a sperate *Body* option
|
||||
By enabling it the main search box will now search in both subjects and mail bodies, and a separate *Body* option
|
||||
will appear in advanced search.
|
||||
|
||||
Account delegation
|
||||
@@ -161,7 +161,7 @@ Outbox
|
||||
|
||||
When a message has been composed and the "Send" button was clicked, the message is added to the outbox which can be found in the bottom left corner of the left sidebar.
|
||||
|
||||
You can also set the date and time for the send operation to a point in the future (see :ref:`Scheduled messages <mail-scheduled-messages>`)- the message will be kept in the outbox until your choosen date and time arrives, then it will be sent automatically.
|
||||
You can also set the date and time for the send operation to a point in the future (see :ref:`Scheduled messages <mail-scheduled-messages>`)- the message will be kept in the outbox until your chosen date and time arrives, then it will be sent automatically.
|
||||
|
||||
The outbox is only visible when there is a message waiting to be handled by the outbox.
|
||||
|
||||
|
||||
@@ -69,11 +69,11 @@ steps are required:
|
||||
.. note:: Enter your email address as DAVx⁵ account name (mandatory if you want
|
||||
to be able to send calendar invitation). If your email address is
|
||||
registered in your Nextcloud preferences and you have set up your
|
||||
account using the Nextcloud mobile app, this all should be aready the case.
|
||||
account using the Nextcloud mobile app, this all should be already the case.
|
||||
|
||||
|
||||
.. note:: Using user name and password will not work if 2-Factor-Authentication
|
||||
is enabed and will throw a generic "Unknown resource" error.
|
||||
is enabled and will throw a generic "Unknown resource" error.
|
||||
Use a dedicated App password instead.
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ This can be done by following these steps:
|
||||
.. image:: ../images/gnome-online-accounts.png
|
||||
|
||||
#. Enter your server URL, username, and password.
|
||||
If you have enabled two-factor authentification (2FA), you need to generate an application password/token, because GNOME Online Accounts
|
||||
If you have enabled two-factor authentication (2FA), you need to generate an application password/token, because GNOME Online Accounts
|
||||
`doesn't support Nextcloud's WebFlow login yet <https://gitlab.gnome.org/GNOME/gnome-online-accounts/issues/81>`_
|
||||
(`Learn more <https://docs.nextcloud.com/server/latest/user_manual/session_management.html#managing-devices>`_):
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ In KOrganizer and Kalendar:
|
||||
|
||||
.. image:: ../images/KOrganizer_groupware_server.png
|
||||
|
||||
5. Enter your Nextcloud server URL and, if needed, installation path (anything that comes after the first /, for example ``mynextcloud`` in ``https://exampe.com/mynextcloud``). Then click next:
|
||||
5. Enter your Nextcloud server URL and, if needed, installation path (anything that comes after the first /, for example ``mynextcloud`` in ``https://example.com/mynextcloud``). Then click next:
|
||||
|
||||
.. image:: ../images/KOrganizer_server_address.png
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ next to each entry:
|
||||
|
||||
If you set your data to **Private**, nobody but you will be able to see it.
|
||||
|
||||
If you set your data to **Local**, all logged in users within your Nextcloud instance will be able to see the information, but noone outside of it.
|
||||
If you set your data to **Local**, all logged in users within your Nextcloud instance will be able to see the information, but no one outside of it.
|
||||
|
||||
If you set your data to **Federated**, the trusted server(s) which are added by your administrator will be able to see this data, in addition to all logged in users.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user