diff --git a/admin_manual/configuration_database/linux_database_configuration.rst b/admin_manual/configuration_database/linux_database_configuration.rst index 1ac6ea17b..cd1358f8e 100644 --- a/admin_manual/configuration_database/linux_database_configuration.rst +++ b/admin_manual/configuration_database/linux_database_configuration.rst @@ -97,8 +97,8 @@ Then a **mysql>** or **MariaDB [root]>** prompt will appear. Now enter the follo :: CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; - CREATE DATABASE IF NOT EXISTS owncloud; - GRANT ALL PRIVILEGES ON owncloud.* TO 'username'@'localhost' IDENTIFIED BY 'password'; + CREATE DATABASE IF NOT EXISTS nextcloud; + GRANT ALL PRIVILEGES ON nextcloud.* TO 'username'@'localhost' IDENTIFIED BY 'password'; You can quit the prompt by entering:: @@ -115,7 +115,7 @@ this: "mysql", - "dbname" => "owncloud", + "dbname" => "nextcloud", "dbuser" => "username", "dbpassword" => "password", "dbhost" => "localhost", @@ -153,7 +153,7 @@ Then a **template1=#** prompt will appear. Now enter the following lines and con :: CREATE USER username CREATEDB; - CREATE DATABASE owncloud OWNER username; + CREATE DATABASE nextcloud OWNER username; You can quit the prompt by entering:: @@ -170,7 +170,7 @@ this: "pgsql", - "dbname" => "owncloud", + "dbname" => "nextcloud", "dbuser" => "username", "dbpassword" => "", "dbhost" => "/var/run/postgresql", @@ -192,7 +192,7 @@ Then a **postgres=#** prompt will appear. Now enter the following lines and conf :: CREATE USER username WITH PASSWORD 'password'; - CREATE DATABASE owncloud TEMPLATE template0 ENCODING 'UNICODE'; + CREATE DATABASE nextcloud TEMPLATE template0 ENCODING 'UNICODE'; ALTER DATABASE owncloud OWNER TO username; GRANT ALL PRIVILEGES ON DATABASE owncloud TO username; @@ -211,7 +211,7 @@ this: "pgsql", - "dbname" => "owncloud", + "dbname" => "nextcloud", "dbuser" => "username", "dbpassword" => "password", "dbhost" => "localhost", @@ -273,12 +273,12 @@ the respective host name:: Assuming the database server is installed on the same system you're running the command from, use:: - psql -Uusername -downcloud + psql -Uusername -dnextcloud To acess a MySQL installation on a different machine, add the -h option with the respective host name:: - psql -Uusername -downcloud -h HOSTNAME + psql -Uusername -dnextcloud -h HOSTNAME :: @@ -303,8 +303,8 @@ Useful SQL commands **Show Nextcloud Tables in Database**:: - MySQL : USE owncloud; SHOW TABLES; - PostgreSQL: \c owncloud; \d + MySQL : USE nextcloud; SHOW TABLES; + PostgreSQL: \c nextcloud; \d **Quit Database**:: diff --git a/admin_manual/configuration_server/logging_configuration.rst b/admin_manual/configuration_server/logging_configuration.rst index 6a686da69..391d14ac7 100644 --- a/admin_manual/configuration_server/logging_configuration.rst +++ b/admin_manual/configuration_server/logging_configuration.rst @@ -24,7 +24,7 @@ Nextcloud All log information will be written to a separate log file which can be viewed using the log viewer on your Admin page. By default, a log -file named **owncloud.log** will be created in the directory which has +file named **nextcloud.log** will be created in the directory which has been configured by the **datadirectory** parameter in :file:`config/config.php`. The desired date format can optionally be defined using the **logdateformat** parameter in :file:`config/config.php`. diff --git a/admin_manual/configuration_server/occ_command.rst b/admin_manual/configuration_server/occ_command.rst index c24d14cef..ea5bfc286 100644 --- a/admin_manual/configuration_server/occ_command.rst +++ b/admin_manual/configuration_server/occ_command.rst @@ -7,12 +7,12 @@ interface. You can perform many common server operations with ``occ``, such as installing and upgrading Nextcloud, manage users, encryption, passwords, LDAP setting, and more. -``occ`` is in the :file:`owncloud/` directory; for example -:file:`/var/www/owncloud` on Ubuntu Linux. ``occ`` is a PHP script. **You must +``occ`` is in the :file:`nextcloud/` directory; for example +:file:`/var/www/nextcloud` on Ubuntu Linux. ``occ`` is a PHP script. **You must run it as your HTTP user** to ensure that the correct permissions are maintained on your Nextcloud files and directories. In Nextcloud 8.2+ you may run it from any directory (specifying the filepath); in previous releases it had to be -run from the :file:`owncloud/` directory. +run from the :file:`nextcloud/` directory. occ Command Directory --------------------- @@ -57,7 +57,7 @@ If your HTTP server is configured to use a different PHP version than the default (/usr/bin/php), ``occ`` should be run with the same version. For example, in CentOS 6.5 with SCL-PHP54 installed, the command looks like this:: - sudo -u apache /opt/rh/php54/root/usr/bin/php /var/www/html/owncloud/occ + sudo -u apache /opt/rh/php54/root/usr/bin/php /var/www/html/nextcloud/occ Running ``occ`` with no options lists all commands and options, like this example on Ubuntu:: @@ -194,7 +194,7 @@ enabled. The Activity app is an example of a correctly-formatted app:: If your app has issues, you'll see output like this:: sudo -u www-data php occ app:check-code foo_app - Analysing /var/www/owncloud/apps/files/foo_app.php + Analysing /var/www/nextcloud/apps/files/foo_app.php 4 errors line 45: OCP\Response - Static method of deprecated class must not be called @@ -207,7 +207,7 @@ If your app has issues, you'll see output like this:: You can get the full filepath to an app:: sudo -u www-data php occ app:getpath notifications - /var/www/owncloud/apps/notifications + /var/www/nextcloud/apps/notifications .. _background_jobs_selector_label: @@ -338,7 +338,7 @@ In order to set (and also get) the value of one key, you can specify multiple sudo -u www-data php occ config:system:get trusted_domains localhost - owncloud.local + nextcloud.local sample.tld To replace ``sample.tld`` with ``example.com`` trusted_domains => 2 needs to be @@ -350,7 +350,7 @@ set:: sudo -u www-data php occ config:system:get trusted_domains localhost - owncloud.local + nextcloud.local example.com Deleting a Single Configuration Value @@ -692,7 +692,7 @@ Verify your app:: sudo -u www-data php occ integrity:check-app --path=/pathto/app appname When it returns nothing, your app is signed correctly. When it returns a message then there is an error. See `Code Signing -`_ in the Developer manual for more detailed information. +`_ in the Developer manual for more detailed information. ``integrity:sign-core`` is for Nextcloud core developers only. @@ -822,7 +822,7 @@ Run ``log:owncloud`` to see your current logging status:: sudo -u www-data php occ log:owncloud Log backend Nextcloud: enabled - Log file: /opt/owncloud/data/owncloud.log + Log file: /opt/nextcloud/data/owncloud.log Rotate at: disabled Use the ``--enable`` option to turn on logging. Use ``--file`` to set a @@ -1098,7 +1098,7 @@ Apply correct permissions to your Nextcloud directories; see :ref:`strong_perms_label`. Then choose your ``occ`` options. This lists your available options:: - sudo -u www-data php /var/www/owncloud/occ + sudo -u www-data php /var/www/nextcloud/occ Nextcloud is not installed - only a limited number of commands are available Nextcloud version 9.0.0 @@ -1147,7 +1147,7 @@ Display your ``maintenance:install`` options:: --admin-user User name of the admin account (default: "admin") --admin-pass Password of the admin account --data-dir Path to data directory (default: - "/var/www/owncloud/data") + "/var/www/nextcloud/data") --help (-h) Display this help message --quiet (-q) Do not output any message --verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal @@ -1159,9 +1159,9 @@ Display your ``maintenance:install`` options:: This example completes the installation:: - cd /var/www/owncloud/ + cd /var/www/nextcloud/ sudo -u www-data php occ maintenance:install --database - "mysql" --database-name "owncloud" --database-user "root" --database-pass + "mysql" --database-name "nextcloud" --database-user "root" --database-pass "password" --admin-user "admin" --admin-pass "password" Nextcloud is not installed - only a limited number of commands are available Nextcloud was successfully installed diff --git a/admin_manual/configuration_server/security_setup_warnings.rst b/admin_manual/configuration_server/security_setup_warnings.rst index 39291242b..34a3c78db 100644 --- a/admin_manual/configuration_server/security_setup_warnings.rst +++ b/admin_manual/configuration_server/security_setup_warnings.rst @@ -87,9 +87,6 @@ Your Web server is not yet set up properly to allow file synchronization "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." -At the Nextcloud community forums a larger `FAQ `_ -is maintained containing various information and debugging hints. - Outdated NSS / OpenSSL version ------------------------------ diff --git a/admin_manual/configuration_user/reset_admin_password.rst b/admin_manual/configuration_user/reset_admin_password.rst index 1b921be9d..864c1cf38 100644 --- a/admin_manual/configuration_user/reset_admin_password.rst +++ b/admin_manual/configuration_user/reset_admin_password.rst @@ -12,12 +12,12 @@ The normal ways to recover a lost password are: 2. Ask another Nextcloud server admin to reset it for you. If neither of these is an option, then you have a third option, and that is -using the ``occ`` command. ``occ`` is in the ``owncloud`` directory, for -example ``/var/www/owncloud/occ``. ``occ`` has a command for resetting all +using the ``occ`` command. ``occ`` is in the ``nextcloud`` directory, for +example ``/var/www/nextcloud/occ``. ``occ`` has a command for resetting all user passwords, ``user:resetpassword``. It is best to run ``occ`` as the HTTP user, as in this example on Ubuntu Linux:: - $ sudo -u www-data php /var/www/owncloud/occ user:resetpassword admin + $ sudo -u www-data php /var/www/nextcloud/occ user:resetpassword admin Enter a new password: Confirm the new password: Successfully reset password for admin diff --git a/admin_manual/configuration_user/user_auth_ldap_cleanup.rst b/admin_manual/configuration_user/user_auth_ldap_cleanup.rst index c90bf38f0..40460b322 100644 --- a/admin_manual/configuration_user/user_auth_ldap_cleanup.rst +++ b/admin_manual/configuration_user/user_auth_ldap_cleanup.rst @@ -35,7 +35,7 @@ minutes later the next 50, and so on. There are two ``occ`` commands to use for examining a table of users marked as deleted, and then manually deleting them. The ``occ`` command is in your -Nextcloud directory, for example ``/var/www/owncloud/occ``, and it must be run as +Nextcloud directory, for example ``/var/www/nextcloud/occ``, and it must be run as your HTTP user. To learn more about ``occ``, see :doc:`../configuration_server/occ_command`. diff --git a/admin_manual/configuration_user/user_provisioning_api.rst b/admin_manual/configuration_user/user_provisioning_api.rst index 57f69e066..080a369ad 100644 --- a/admin_manual/configuration_user/user_provisioning_api.rst +++ b/admin_manual/configuration_user/user_provisioning_api.rst @@ -11,7 +11,7 @@ info, and to enable or disable an app remotely. HTTP requests can be used via a Basic Auth header to perform any of the functions listed above. The Provisioning API app is enabled by default. -The base URL for all calls to the share API is **owncloud_base_url/ocs/v1.php/cloud**. +The base URL for all calls to the share API is **nextcloud_base_url/ocs/v1.php/cloud**. Instruction Set For Users ========================= diff --git a/admin_manual/index.rst b/admin_manual/index.rst index c4d1e6b5a..f3ea84bc6 100644 --- a/admin_manual/index.rst +++ b/admin_manual/index.rst @@ -32,9 +32,9 @@ user interface, and desktop and mobile clients, please refer to their respective manuals: * `Nextcloud User Manual`_ -* `Nextcloud Desktop Client`_ +* `ownCloud Desktop Client`_ * `Nextcloud Android App`_ .. _`Nextcloud User Manual`: https://docs.nextcloud.org/server/9/user_manual/ -.. _`Nextcloud Desktop Client`: https://doc.owncloud.org/desktop/2.1/ +.. _`ownCloud Desktop Client`: https://doc.owncloud.org/desktop/2.1/ .. _`Nextcloud Android App`: https://docs.nextcloud.org/android/ diff --git a/admin_manual/installation/appliance_installation.rst b/admin_manual/installation/appliance_installation.rst index 2c809d0e0..d0a1eb06b 100644 --- a/admin_manual/installation/appliance_installation.rst +++ b/admin_manual/installation/appliance_installation.rst @@ -62,16 +62,12 @@ There are a number of unofficial pre-made virtual machine-based appliances: - `Tech and Me - Nextcloud VM on Ubuntu 16.04 with PHP 7, MySQL, and Apache`_, fully configured environment. -- `SUSE Studio, Nextcloud on openSuSE`_, which runs directly from an USB stick. - `Amahi home server`_ .. _on Github: https://github.com/Nextcloud/vm .. _VirtualBox: https://www.virtualbox.org -.. _Nextcloud server installation page: https://owncloud.org/install/#instructions-server +.. _Nextcloud server installation page: https://nextcloud.com/install/#instructions-server .. _Amahi home server: https://wiki.amahi.org/index.php/OwnCloud .. _Tech and Me - Nextcloud VM on Ubuntu 16.04 with PHP 7, MySQL, and Apache: https://www.techandme.se/pre-configured-owncloud-installaton/ .. _Nextcloud 7 on Raspberry Pi (Arch Linux) using Lighttpd: http://eiosifidis.blogspot.de/2014/07/install-owncloud-7-on-raspberry-pi-arch.html -.. _OpenWrt Guide: http://wiki.openwrt.org/doc/howto/owncloud -.. _SUSE Studio, Nextcloud on openSuSE: http://susestudio.com/a/TadMax/owncloud-in-a-box -.. _QNAP Guide: http://wiki.qnap.com/wiki/Category:OwnCloud .. _Synology Package: http://www.cphub.net/index.php?id=40&pid=213 diff --git a/admin_manual/installation/apps_management_installation.rst b/admin_manual/installation/apps_management_installation.rst index 540deaee1..9e7c89de4 100644 --- a/admin_manual/installation/apps_management_installation.rst +++ b/admin_manual/installation/apps_management_installation.rst @@ -55,7 +55,7 @@ API. If they are then they will not be installed. .. note:: If you would like to create or add your own Nextcloud app, please refer to the `developer manual - `_. + `_. Using Custom App Directories ---------------------------- diff --git a/admin_manual/installation/deployment_recommendations.rst b/admin_manual/installation/deployment_recommendations.rst index 4313220f3..d8d35c161 100644 --- a/admin_manual/installation/deployment_recommendations.rst +++ b/admin_manual/installation/deployment_recommendations.rst @@ -434,7 +434,7 @@ makes migration less painful) although we have yet to find a customer who uses a master-slave setup. .. comment: PostgreSQL may produce excessive amounts of dead tuples due to - owncloud transactions preventing the execution of the autovacum process. + Nextcloud transactions preventing the execution of the autovacum process. What about the other DBMS? @@ -482,19 +482,17 @@ References .. _Maintenance: - https://doc.owncloud.org/server/9.0/admin_manual/maintenance/index.html + https://docs.nextcloud.org/server/9/admin_manual/maintenance/index.html .. _User Authentication with LDAP: - https://doc.owncloud.org/server/9.0/admin_manual/configuration_user/ + https://docs.nextcloud.org/server/9/admin_manual/configuration_user/ user_auth_ldap.html .. _Configuring Memory Caching: - https://doc.owncloud.org/server/9.0/admin_manual/configuration_server/ + https://docs.nextcloud.org/server/9/admin_manual/configuration_server/ caching_configuration.html -.. _Nextcloud Server or Enterprise Edition: - https://owncloud.com/owncloud-server-or-enterprise-edition/ .. _F5 Big-IP: https://f5.com/products/big-ip/ .. _Shibboleth Integration: - https://doc.owncloud.org/server/9.0/admin_manual/enterprise_user_management/ + https://docs.nextcloud.org/server/9/admin_manual/enterprise_user_management/ user_auth_shibboleth.html .. _Memcache StorageService: https://wiki.shibboleth.net/confluence/display/SHIB2/ diff --git a/admin_manual/installation/nginx_owncloud_9x.rst b/admin_manual/installation/nginx_owncloud_9x.rst index e00825d64..6eadf273d 100644 --- a/admin_manual/installation/nginx_owncloud_9x.rst +++ b/admin_manual/installation/nginx_owncloud_9x.rst @@ -52,7 +52,7 @@ your nginx installation. add_header X-Permitted-Cross-Domain-Policies none; # Path to the root of your installation - root /var/www/owncloud/; + root /var/www/nextcloud/; location = /robots.txt { allow all; @@ -197,19 +197,19 @@ your nginx installation. # The following 2 rules are only needed for the user_webfinger app. # Uncomment it if you're planning to use this app. - # rewrite ^/.well-known/host-meta /owncloud/public.php?service=host-meta + # rewrite ^/.well-known/host-meta /nextcloud/public.php?service=host-meta # last; #rewrite ^/.well-known/host-meta.json - # /owncloud/public.php?service=host-meta-json last; + # /nextcloud/public.php?service=host-meta-json last; location = /.well-known/carddav { return 301 - $scheme://$host/owncloud/remote.php/dav; } + $scheme://$host/nextcloud/remote.php/dav; } location = /.well-known/caldav { return 301 - $scheme://$host/owncloud/remote.php/dav; } + $scheme://$host/nextcloud/remote.php/dav; } location /.well-known/acme-challenge { } - location ^~ /owncloud { + location ^~ /nextcloud { # set max upload size client_max_body_size 512M; @@ -222,23 +222,23 @@ your nginx installation. # This module is currently not supported. #pagespeed off; - error_page 403 /owncloud/core/templates/403.php; - error_page 404 /owncloud/core/templates/404.php; + error_page 403 /nextcloud/core/templates/403.php; + error_page 404 /nextcloud/core/templates/404.php; - location /owncloud { - rewrite ^ /owncloud/index.php$uri; + location /nextcloud { + rewrite ^ /nextcloud/index.php$uri; } location ~ - ^/owncloud/(?:build|tests|config|lib|3rdparty|templates|data)/ { + ^/nextcloud/(?:build|tests|config|lib|3rdparty|templates|data)/ { deny all; } - location ~ ^/owncloud/(?:\.|autotest|occ|issue|indie|db_|console) { + location ~ ^/nextcloud/(?:\.|autotest|occ|issue|indie|db_|console) { deny all; } location ~ - ^/owncloud/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]| + ^/nextcloud/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]| updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) { include fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.+)$; @@ -253,7 +253,7 @@ your nginx installation. fastcgi_request_buffering off; } - location ~ ^/owncloud/(?:updater|ocs-provider)(?:$|/) { + location ~ ^/nextcloud/(?:updater|ocs-provider)(?:$|/) { try_files $uri/ =404; index index.php; } @@ -261,7 +261,7 @@ your nginx installation. # Adding the cache control header for js and css files # Make sure it is BELOW the PHP block location ~* \.(?:css|js)$ { - try_files $uri /owncloud/index.php$uri$is_args$args; + try_files $uri /nextcloud/index.php$uri$is_args$args; add_header Cache-Control "public, max-age=7200"; # Add headers to serve security related headers (It is intended # to have those duplicated to the ones above) @@ -280,7 +280,7 @@ your nginx installation. } location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ { - try_files $uri /owncloud/index.php$uri$is_args$args; + try_files $uri /nextcloud/index.php$uri$is_args$args; # Optional: Don't log access to other assets access_log off; } diff --git a/admin_manual/installation/source_installation.rst b/admin_manual/installation/source_installation.rst index be38b66d4..a9fe139a5 100644 --- a/admin_manual/installation/source_installation.rst +++ b/admin_manual/installation/source_installation.rst @@ -154,8 +154,8 @@ Now download the archive of the latest Nextcloud version: * You may also verify the PGP signature:: wget https://download.nextcloud.com/server/releases/nextcloud-x.y.z.tar.bz2.asc - wget https://owncloud.org/owncloud.asc - gpg --import owncloud.asc + wget https://nextcloud.com/nextcloud.asc + gpg --import nextcloud.asc gpg --verify nextcloud-x.y.z.tar.bz2.asc nextcloud-x.y.z.tar.bz2 * Now you can extract the archive contents. Run the appropriate unpacking diff --git a/admin_manual/issues/code_signing.rst b/admin_manual/issues/code_signing.rst index 99aec5dbd..393208cd5 100644 --- a/admin_manual/issues/code_signing.rst +++ b/admin_manual/issues/code_signing.rst @@ -170,7 +170,7 @@ In above error output it can be seen that: The solution is to upload the correct "index.php" and "version.php" files, and delete the "test.php" file. For the calendar exception contact the developer of the application. For other means on how to receive support please take a look at -https://owncloud.org/support/. After fixing these problems verify by clicking +https://nextcloud.com/support/. After fixing these problems verify by clicking "Rescan…". .. note:: When using a FTP client to upload those files make sure it is using the diff --git a/admin_manual/issues/general_troubleshooting.rst b/admin_manual/issues/general_troubleshooting.rst index 9f12b1258..96167335f 100644 --- a/admin_manual/issues/general_troubleshooting.rst +++ b/admin_manual/issues/general_troubleshooting.rst @@ -10,8 +10,7 @@ refer to our community support channels: .. note:: The Nextcloud forums have a `FAQ page`_ where each topic corresponds to typical mistakes or frequently occurring issues -* `The Nextcloud User mailing list`_ -* The Nextcloud IRC chat channel ``irc://#owncloud@freenode.net`` on +* The Nextcloud IRC chat channel ``irc://#nextcloud@freenode.net`` on freenode.net, also accessible via `webchat`_ Please understand that all these channels essentially consist of users like you @@ -20,7 +19,7 @@ back for the help you get. This is the only way to keep a community like Nextcloud healthy and sustainable! If you are using Nextcloud in a business or otherwise large scale deployment, -note that Nextcloud Inc. offers the `Enterprise Edition`_ with commercial +note that Nextcloud GmbH. offers the `Enterprise Edition`_ with commercial support options. Bugs @@ -35,14 +34,10 @@ If you can't find a solution, please use our `bugtracker`_. You can generate a configuration report with the :ref:`occ config command `, with passwords automatically obscured. -.. _the Nextcloud Forums: https://forum.owncloud.org -.. _FAQ page: https://forum.owncloud.org/viewforum.php?f=17 -.. _the Nextcloud User mailing list: - https://mailman.owncloud.org/mailman/listinfo/user -.. _webchat: http://webchat.freenode.net/?channels=owncloud -.. _Enterprise Edition: https://owncloud.com/lp/community-or-enterprise/ -.. _bugtracker: - https://doc.owncloud.org/server/9.1/developer_manual/bugtracker/index.html +.. _the Nextcloud Forums: https://help.nextcloud.com +.. _webchat: http://webchat.freenode.net/?channels=nextcloud +.. _bugtracker: + https://docs.nextcloud.org/server/9/developer_manual/bugtracker/index.html .. TODO ON RELEASE: Update version number above on release General Troubleshooting @@ -80,7 +75,7 @@ usually access them by pressing F12. For Firefox we recommend to installing the `Firebug extension `_. .. note:: The logfile of Nextcloud is located in the data directory - ``owncloud/data/owncloud.log``. + ``nextcloud/data/owncloud.log``. .. _label-phpinfo: @@ -120,7 +115,7 @@ Disregarding this can lead to unwanted behaviours like: If you need to directly upload files from the same server please use a WebDAV command line client like ``cadaver`` to upload files to the WebDAV interface at: -``https://example.com/owncloud/remote.php/dav`` +``https://example.com/nextcloud/remote.php/dav`` Common problems / error messages ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -153,7 +148,7 @@ Some common problems / error messages found in your logfiles as described above: or ``mod_proxy_fcgi`` are not passing the needed authentication headers to PHP and so the login to Nextcloud via WebDAV, CalDAV and CardDAV clients is failing. Information on how to correctly configure your environment can be - found at the `forums `_. + found at the `ownCloud forums `_. Troubleshooting Web server and PHP problems ------------------------------------------- @@ -174,7 +169,7 @@ Web server and Nextcloud itself. to store the logfile in the ``error_log`` directive. After those changes you need to restart your Web server. * The logfile of Nextcloud is located in the data directory - ``/var/www/owncloud/data/owncloud.log``. + ``/var/www/nextcloud/data/owncloud.log``. Web server and PHP modules ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -236,7 +231,7 @@ See: `_ (Describes problems with Finder on various Web servers) -There is also a well maintained FAQ thread available at the `Nextcloud Forums +There is also a well maintained FAQ thread available at the `ownCloud Forums `_ which contains various additional information about WebDAV problems. @@ -263,9 +258,9 @@ running Nextcloud at the document root of your Web server the correct URL is: ``https://example.com/remote.php/dav`` -and if running in a subfolder like ``owncloud``: +and if running in a subfolder like ``nextcloud``: -``https://example.com/owncloud/remote.php/dav`` +``https://example.com/nextcloud/remote.php/dav`` For the first case the :file:`.htaccess` file shipped with Nextcloud should do this work for your when running Apache. You only need to make sure that your @@ -277,16 +272,15 @@ If your Nextcloud instance is installed in a subfolder called ``owncloud`` and you're running Apache create or edit the :file:`.htaccess` file within the document root of your Web server and add the following lines:: - Redirect 301 /.well-known/carddav /owncloud/remote.php/dav - Redirect 301 /.well-known/caldav /owncloud/remote.php/dav - + Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav +nextcloud Now change the URL in the client settings to just use: ``https://example.com`` instead of e.g. -``https://example.com/owncloud/remote.php/dav/principals/username``. +``https://example.com/nextcloud/remote.php/dav/principals/username``. There are also several techniques to remedy this, which are described extensively at the `Sabre DAV website `_. diff --git a/admin_manual/maintenance/backup.rst b/admin_manual/maintenance/backup.rst index b53d9f365..e4f3223e3 100644 --- a/admin_manual/maintenance/backup.rst +++ b/admin_manual/maintenance/backup.rst @@ -31,7 +31,7 @@ SQLite ^^^^^^ :: - sqlite3 data/owncloud.db .dump > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak + sqlite3 data/nextcloud.db .dump > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak PostgreSQL ^^^^^^^^^^ diff --git a/admin_manual/maintenance/package_upgrade.rst b/admin_manual/maintenance/package_upgrade.rst index 7ccdc8323..df8f03c7f 100644 --- a/admin_manual/maintenance/package_upgrade.rst +++ b/admin_manual/maintenance/package_upgrade.rst @@ -41,7 +41,7 @@ standard system upgrade command:: Or you can upgrade just Nextcloud with this command:: - apt-get update && apt-get install owncloud + apt-get update && apt-get install nextcloud On Fedora, CentOS, and Red Hat Linux use ``yum`` to see all available updates:: @@ -53,7 +53,7 @@ You can apply all available updates with this command:: Or update only Nextcloud:: - yum update owncloud + yum update nextcloud Your Linux package manager only downloads the current Nextcloud packages. Then your Nextcloud server is immediately put into maintenance mode. You may not see @@ -94,9 +94,6 @@ according to :ref:`strong_perms_label`. If the upgrade fails, then you must try a manual upgrade. -.. _Open Build Service: - https://download.owncloud.org/download/repositories/stable/owncloud/ - .. _skipped_release_upgrade_label: Upgrading Across Skipped Releases @@ -114,7 +111,7 @@ can bring your Nextcloud current with these steps: #. Repeat from step 3 until you reach the last available major release You'll find previous Nextcloud releases in the `Nextcloud Server Changelog -`_. +`_. If upgrading via your package manager fails, then you must perform a :doc:`manual_upgrade`. diff --git a/admin_manual/maintenance/restore.rst b/admin_manual/maintenance/restore.rst index 35b2cedd7..c6ead229f 100644 --- a/admin_manual/maintenance/restore.rst +++ b/admin_manual/maintenance/restore.rst @@ -19,37 +19,37 @@ Restore Folders --------------- .. note:: This guide assumes that your previous backup is called - "owncloud-dirbkp" + "nextcloud-dirbkp" Simply copy your configuration and data folder (or even your whole Nextcloud install and data folder) to your Nextcloud environment. You could use this command:: - rsync -Aax owncloud-dirbkp/ owncloud/ + rsync -Aax nextcloud-dirbkp/ nextcloud/ Restore Database ---------------- .. note:: This guide assumes that your previous backup is called - "owncloud-sqlbkp.bak" + "nextcloud-sqlbkp.bak" MySQL ^^^^^ MySQL is the recommended database engine. To restore MySQL:: - mysql -h [server] -u [username] -p[password] [db_name] < owncloud-sqlbkp.bak + mysql -h [server] -u [username] -p[password] [db_name] < nextcloud-sqlbkp.bak SQLite ^^^^^^ :: - rm data/owncloud.db - sqlite3 data/owncloud.db < owncloud-sqlbkp.bak + rm data/nextcloud.db + sqlite3 data/nextcloud.db < nextcloud-sqlbkp.bak PostgreSQL ^^^^^^^^^^ :: - PGPASSWORD="password" pg_restore -c -d owncloud -h [server] -U [username] - owncloud-sqlbkp.bak + PGPASSWORD="password" pg_restore -c -d nextcloud -h [server] -U [username] + nextcloud-sqlbkp.bak diff --git a/admin_manual/maintenance/update.rst b/admin_manual/maintenance/update.rst index 914fb9c8e..d5e394f20 100644 --- a/admin_manual/maintenance/update.rst +++ b/admin_manual/maintenance/update.rst @@ -12,14 +12,7 @@ New in 9.0, the Updater app has :ref:`command-line options `. .. note:: The Updater app is **not enabled and not supported** in Nextcloud Enterprise edition. - - The Updater app is **not included** in the - `Linux packages on our Open Build Service - `_, - but only in the `tar and zip archives - `_. When you install - Nextcloud from packages you should keep it updated with your package manager. - + **Downgrading** is not supported and risks corrupting your data! If you want to revert to an older Nextcloud version, install it from scratch and then restore your data from backup. Before doing this, file a support ticket (if @@ -125,9 +118,9 @@ with the path to your Nextcloud directory, and replace the ``htuser`` and ``htgroup`` variables with your HTTP user and group.:: #!/bin/bash - # Sets permissions of the owncloud instance for updating + # Sets permissions of the Nextcloud instance for updating - ocpath='/var/www/owncloud' + ocpath='/var/www/nextcloud' htuser='www-data' htgroup='www-data' @@ -166,7 +159,7 @@ You can display a help summary:: When you run it without options it runs a system check:: - sudo -u www-data php owncloud/updater/application.php + sudo -u www-data php nextcloud/updater/application.php Nextcloud updater 1.0 - CLI based Nextcloud server upgrades Checking system health. - file permissions are ok. @@ -185,12 +178,12 @@ List checkpoints:: Restore an earlier checkpoint:: - sudo -u www-data php owncloud/updater/application.php upgrade:checkpoint + sudo -u www-data php nextcloud/updater/application.php upgrade:checkpoint --restore=9.0.0.12-56d5e4e004964 Add a line like this to your crontab to automatically create daily checkpoints:: - 2 15 * * * sudo -u www-data php /path/to/owncloud/updater/application.php + 2 15 * * * sudo -u www-data php /path/to/nextcloud/updater/application.php upgrade:checkpoint --create > /dev/null 2>&1 diff --git a/admin_manual/maintenance/upgrade.rst b/admin_manual/maintenance/upgrade.rst index d219b9d14..8508d8614 100644 --- a/admin_manual/maintenance/upgrade.rst +++ b/admin_manual/maintenance/upgrade.rst @@ -74,18 +74,6 @@ designation. **Install unsupported apps at your own risk**. Then, before the upgrade, all 3rd party apps must be disabled. After the upgrade is complete you may re-enable them. -.. _Open Build Service: - https://download.owncloud.org/download/repositories/8.2/owncloud/ - .. nextcloud.com/install/: https://nextcloud.com/install/ - -Debian Migration to Official Nextcloud Packages ------------------------------------------------ - -As of March 2016 Debian will not include Nextcloud packages. Debian users can -migrate to the official Nextcloud packages by following this guide, -`Upgrading Nextcloud on Debian Stable to official packages -`_. diff --git a/admin_manual/operations/considerations_on_monitoring.rst b/admin_manual/operations/considerations_on_monitoring.rst index a65f38b08..03da36930 100644 --- a/admin_manual/operations/considerations_on_monitoring.rst +++ b/admin_manual/operations/considerations_on_monitoring.rst @@ -42,7 +42,7 @@ Status.php Nextcloud provides a very simple mechanism for determining if an application server is up and functioning – call the status.php file on each Nextcloud server. This file can be found in the root Nextcloud directory on -the server, which by default is /owncloud/status.php. If the server is functioning normally, the response +the server, which by default is /nextcloud/status.php. If the server is functioning normally, the response looks something like this: :: diff --git a/developer_manual/android_library/examples.rst b/developer_manual/android_library/examples.rst index af5cc79a4..416a8d1f6 100644 --- a/developer_manual/android_library/examples.rst +++ b/developer_manual/android_library/examples.rst @@ -423,8 +423,8 @@ Tips * Credentials must be set before calling any method * Paths must not be on URL Encoding -* Correct path: ``https://example.com/owncloud/remote.php/dav/PopMusic`` -* Wrong path: ``https://example.com/owncloud/remote.php/dav/Pop%20Music/`` +* Correct path: ``https://example.com/nextcloud/remote.php/dav/PopMusic`` +* Wrong path: ``https://example.com/nextcloud/remote.php/dav/Pop%20Music/`` * There are some forbidden characters to be used in folder and files names on the server, same on the Nextcloud Android Library "\","/","<",">",":",""","|","?","*" * Upload and download actions may be cancelled thanks to the objects uploadOperation.cancel(), downloadOperation.cancel() * Unit tests, before launching unit tests you have to enter your account information (server url, user and password) on TestActivity.java diff --git a/developer_manual/android_library/index.rst b/developer_manual/android_library/index.rst index 632171a93..1d0b55461 100644 --- a/developer_manual/android_library/index.rst +++ b/developer_manual/android_library/index.rst @@ -14,17 +14,15 @@ Android Nextcloud Client development ----------------------------------- If you are interested in working on the Nextcloud android client, you can find -the source code `in github `_. The +the source code `in github `_. The setup and process of contribution is -`documented here `_. +`documented here `_. -You might want to start with doing one or two `junior jobs `_ +You might want to start with doing one or two `junior jobs `_ to get into the code and note our :doc:`../general/index` -Note that contribution to the Android client require signing the `Nextcloud Contributor Agreement `_. - Nextcloud Android Library ------------------------- +------------------------- This document will describe how to the use Nextcloud Android Library. The Nextcloud Android Library allows a developer to communicate with any Nextcloud diff --git a/developer_manual/android_library/library_installation.rst b/developer_manual/android_library/library_installation.rst index 3205737ca..cd621cded 100644 --- a/developer_manual/android_library/library_installation.rst +++ b/developer_manual/android_library/library_installation.rst @@ -7,7 +7,7 @@ Obtaining the library The Nextcloud Android library may be obtained from the following Github repository: -`https://github.com/owncloud/android-library `_ +`https://github.com/nextcloud/android-library `_ Once obtained, this code should be compiled. The Github repository not only contains the library, but also a sample project, sample_client sample_client properties/android/librerias diff --git a/developer_manual/app/backgroundjobs.rst b/developer_manual/app/backgroundjobs.rst index 15c2f7ab9..032a24296 100644 --- a/developer_manual/app/backgroundjobs.rst +++ b/developer_manual/app/backgroundjobs.rst @@ -36,4 +36,4 @@ Don't forget to configure the cron service on the server by executing:: where **http** is your Web server user, and add:: - */15 * * * * php -f /srv/http/owncloud/cron.php + */15 * * * * php -f /srv/http/nextcloud/cron.php diff --git a/developer_manual/app/filesystem.rst b/developer_manual/app/filesystem.rst index 0b4c9e23c..a314578f9 100644 --- a/developer_manual/app/filesystem.rst +++ b/developer_manual/app/filesystem.rst @@ -42,7 +42,7 @@ Filesystem classes can be injected from the ServerContainer by calling the metho Writing to a file ================= -All methods return a Folder object on which files and folders can be accessed, or filesystem operations can be performed relatively to their root. For instance for writing to file:`owncloud/data/myfile.txt` you should get the root folder and use: +All methods return a Folder object on which files and folders can be accessed, or filesystem operations can be performed relatively to their root. For instance for writing to file:`nextcloud/data/myfile.txt` you should get the root folder and use: .. code-block:: php diff --git a/developer_manual/app/index.rst b/developer_manual/app/index.rst index aa28a4f0b..8b3adcd60 100644 --- a/developer_manual/app/index.rst +++ b/developer_manual/app/index.rst @@ -42,9 +42,7 @@ App Development Intro ===== -Before you start, please check if there already is a similar app in the `App Store `_, or an official `Nextcloud app `_ (see Apps Repo and Other app repos) that you could contribute to. Also, feel free to communicate your idea and plans to the `user mailing list `_ or `developer mailing list `_ so other contributors might join in. - -Then, please make sure you have set up a development environment: +Please make sure you have set up a development environment: * :doc:`../general/devenv` diff --git a/developer_manual/app/info.rst b/developer_manual/app/info.rst index b28260021..8a6ffb52a 100644 --- a/developer_manual/app/info.rst +++ b/developer_manual/app/info.rst @@ -25,17 +25,17 @@ The :file:`appinfo/info.xml` contains metadata about the app: - https://doc.owncloud.org - https://doc.owncloud.org + https://doc.nextcloud.org + https://doc.nextcloud.org tool - https://owncloud.org + https://nextcloud.org - https://github.com/owncloud/theapp/issues + https://github.com/nextcloud/theapp/issues - https://github.com/owncloud/theapp.git + https://github.com/nextcloud/theapp.git 1234 @@ -91,8 +91,6 @@ licence * AGPL 3 (recommended) * MIT -If a proprietary/non AGPL compatible licence should be used, the `Nextcloud Enterprise Edition `_ must be used. - author ------ **Required**: The name of the app author or authors. diff --git a/developer_manual/app/init.rst b/developer_manual/app/init.rst index b6dbc9d44..d55305a1e 100644 --- a/developer_manual/app/init.rst +++ b/developer_manual/app/init.rst @@ -13,7 +13,7 @@ The :file:`appinfo/app.php` is the first file that is loaded and executed in Nex \OC::$server->getNavigationManager()->add(function () { $urlGenerator = \OC::$server->getURLGenerator(); return [ - // the string under which your app will be referenced in owncloud + // the string under which your app will be referenced in Nextcloud 'id' => 'myapp', // sorting weight for the navigation. The higher the number, the higher diff --git a/developer_manual/app/publishing.rst b/developer_manual/app/publishing.rst index fc69b5915..dd8d1850e 100644 --- a/developer_manual/app/publishing.rst +++ b/developer_manual/app/publishing.rst @@ -24,7 +24,7 @@ With each level come requirements and a position in the store. Official ^^^^^^^^ -Official apps are developed by and within the Nextcloud community and its `Github `_ repository and offer functionality central to Nextcloud. They are ready for serious use and can be considered a part of Nextcloud. +Official apps are developed by and within the Nextcloud community and its `Github `_ repository and offer functionality central to Nextcloud. They are ready for serious use and can be considered a part of Nextcloud. Requirements: @@ -41,8 +41,7 @@ App store: * available in Apps page in separate category * sorted first in all overviews, 'Official' tag -* shown as featured, on owncloud.org etc -* major releases optionally featured on owncloud.org and sent to owncloud-announce list +* shown as featured, on nextcloud.com etc * new versions/updates approved by at least one other person note: diff --git a/developer_manual/app/startapp.rst b/developer_manual/app/startapp.rst index a6363e85b..96802188a 100644 --- a/developer_manual/app/startapp.rst +++ b/developer_manual/app/startapp.rst @@ -6,7 +6,7 @@ Create an app After :doc:`you've set up the development environment and installed the dev tool <../general/devenv>` change into the Nextcloud apps directory:: - cd /var/www/owncloud/apps + cd /var/www/nextcloud/apps Then run:: diff --git a/developer_manual/app/tutorial.rst b/developer_manual/app/tutorial.rst index 91f4a6fbb..4915849a2 100644 --- a/developer_manual/app/tutorial.rst +++ b/developer_manual/app/tutorial.rst @@ -4,18 +4,18 @@ Tutorial .. sectionauthor:: Bernhard Posselt -This tutorial will outline how to create a very simple notes app. The finished app is available on `GitHub `_. +This tutorial will outline how to create a very simple notes app. The finished app is available on `GitHub `_. Setup ===== -After the `development tool `_ has been installed the :doc:`development environment needs to be set up <../general/devenv>`. This can be done by either `downloading the zip from the website `_ or cloning it directly from GitHub:: +After the `development tool `_ has been installed the :doc:`development environment needs to be set up <../general/devenv>`. This can be done by either `downloading the zip from the website `_ or cloning it directly from GitHub:: - ocdev setup core --dir owncloud --branch $BRANCH + ocdev setup core --dir nextcloud --branch $BRANCH .. note:: $BRANCH is the desired Nextcloud branch (e.g. stable7 for Nextcloud 7, stable8 for Nextcloud 8, etc) -First you want to enable debug mode to get proper error messages. To do that set ``debug`` to ``true`` in the **owncloud/config/config.php** file:: +First you want to enable debug mode to get proper error messages. To do that set ``debug`` to ``true`` in the **nextcloud/config/config.php** file:: `_ page! +Bug triagers who contribute significantly should ask to be listed as an active contributor on the `nextcloud.org `_ page! How do you triage bugs ====================== @@ -37,8 +37,8 @@ General considerations * You need a `github account `_ to contribute to bug triaging. * If you are not familiar with the github issue tracker interface (which is used by Nextcloud to handle bug reports), you `may find this guide useful `_. * You will initially only be able to comment on issues. The ability to close issues or assign labels will be given liberally to those who have shown to be willing and able to contribute. Just ask on IRC! -* Read `our bug reporting guidelines `_ so you know what a good report should look like and where things belong. The `issue template `_ asks specifically for some information developers need to solve issues. -* It might even be fixed, sometimes! It can also be fruitful to contact the `developers on irc `_. Tell them you're triaging bugs and share what problem you bumped into. Or just ask on the test-pilots mailing list. +* Read `our bug reporting guidelines `_ so you know what a good report should look like and where things belong. The `issue template `_ asks specifically for some information developers need to solve issues. +* It might even be fixed, sometimes! It can also be fruitful to contact the `developers on irc `_. Tell them you're triaging bugs and share what problem you bumped into. Or just ask on the test-pilots mailing list. * To ensure no two people are working on the same issue, we ask you to simply add a comment like "I am triaging this" in the issue you want to work on, and when done, before or after executing the triaging actions, note similarly that you're done. To be able to tag and close issues, you need to have access to the repository. For the core and sync app repositories this also means having signed the contributor agreement. However, this isn't really needed for triaging as you can comment after you're done triaging and somebody else can execute those actions. @@ -72,7 +72,7 @@ Let's go over each step. Finding duplicates ------------------ -To find duplicates, the search tool in github is your first stop. In `this screen `_ you can easily search for a few keywords from the bug report. If you find other bugs with the same content, decide what the best bug report is (often the oldest or the one where one or more developers have already started to engage and discuss the problem). That is the 'master' bug report, you can now close the other one (or comment that it can be closed as duplicate). +To find duplicates, the search tool in github is your first stop. In `this screen `_ you can easily search for a few keywords from the bug report. If you find other bugs with the same content, decide what the best bug report is (often the oldest or the one where one or more developers have already started to engage and discuss the problem). That is the 'master' bug report, you can now close the other one (or comment that it can be closed as duplicate). If the bug report you were reviewing contains additional information, you can add that information to the 'master' bug report in a comment. Mention this bug report (using #) so a developer can look up the original, closed, report and perhaps ask the initial reporter there for additional information. @@ -96,7 +96,7 @@ Determining if the report is complete ------------------------------------- Now that you know that the bug report is unique, and that is not an external issue, you need to check all the needed information is there. -Check `our bug reporting guidelines `_ and make sure bug reports comply with it! The information asked in the `issue template `_ is needed for developers to solve issues. +Check `our bug reporting guidelines `_ and make sure bug reports comply with it! The information asked in the `issue template `_ is needed for developers to solve issues. Once you added a request for more information, add a #needinfo tag. @@ -118,23 +118,6 @@ Once you are done reproducing an issue, it is time to finish up and make clear t * If it is a genuine bug (or you are pretty sure it is) add the 'Bug' tag. * If it is a genuine feature request (or you are pretty sure it is) add the 'enhancement' tag. -* If the issue is clearly related to something specific, @mention a maintainer. examples: @schiesbn for encryption, @blizzz for LDAP, @PVince81 for quota stuff... You can find a `list of maintainers here `_. +* If the issue is clearly related to something specific, @mention a maintainer. examples: @schiesbn for encryption, @blizzz for LDAP, @PVince81 for quota stuff... You can find a `list of maintainers here `_. Now, the developers can pick the issue up. Note that while we wish we would always pick up and solve problems promptly, not all areas of Nextcloud get the same amount of attention and contribution, so this can occasionally take a long time. - - -Collaboration -============= -You can just get started with bug triaging. But if you want, you can register on the `testpilot mailing list `_ and perhaps introduce yourself to `testpilots@owncloud.org `_. On this list we announce and discuss testing and bug triaging related subjects. - -You can also join the **#owncloud-testing** channel on **irc.freenode.net** (`link for IRC clients `_ and `link to webchat `_) to ask questions but keep in mind that people aren't active 24/7 and it can occasionally take a while to get a response. Last but not least, Nextcloud contributor `Jan Borchardt has a great guide for developers and triagers `_ about dealing with issues, including some 'stock answers' and thoughts on how to deal with pull requests. - -For further questions or help you can also send a mail to: - -* X (IRC: Y) - -We are looking forward to working with you! - -**Credit:** this document is in debt to the extensive `KDE guide to bug triaging `_. - - diff --git a/developer_manual/commun/index.rst b/developer_manual/commun/index.rst index 77ff78e04..5559dda7b 100644 --- a/developer_manual/commun/index.rst +++ b/developer_manual/commun/index.rst @@ -5,21 +5,11 @@ Help and Communication .. toctree:: :maxdepth: 2 -Mailing lists -------------- -Communicate via mail on our `mailing lists `_. - IRC channels ------------ Chat with us on `IRC `_. All channels are on **irc.freenode.net** -* Setup: **#owncloud** -* Testing: **#owncloud-testing** -* Development: **#owncloud-dev** -* Design: **#owncloud-design** - - -Maintainers ------------ -* `Contact `_ a maintainer of a certain app or division - +* Setup: **#nextcloud** +* Testing: **#nextcloud-testing** +* Development: **#nextcloud-dev** +* Design: **#nextcloud-design** diff --git a/developer_manual/core/externalapi.rst b/developer_manual/core/externalapi.rst index 29b435810..9f67266d7 100644 --- a/developer_manual/core/externalapi.rst +++ b/developer_manual/core/externalapi.rst @@ -39,7 +39,7 @@ Authentication & Basics ~~~~~~~~~~~~~~~~~~~~~~~ Because REST is stateless you have to send user and password each time you access the API. Therefore running Nextcloud **with SSL is highly recommended** otherwise **everyone in your network can log your credentials**:: - https://user:password@yourowncloud.com/ocs/v1.php/apps/yourapp + https://user:password@yournextcloud.com/ocs/v1.php/apps/yourapp Output diff --git a/developer_manual/core/index.rst b/developer_manual/core/index.rst index 147c4769e..16ec74b29 100644 --- a/developer_manual/core/index.rst +++ b/developer_manual/core/index.rst @@ -12,9 +12,9 @@ externalapi ocs-share-api -================= +================ Core Development -================= +================ Intro ----- diff --git a/developer_manual/core/ocs-share-api.rst b/developer_manual/core/ocs-share-api.rst index 337aa89df..af90eb134 100644 --- a/developer_manual/core/ocs-share-api.rst +++ b/developer_manual/core/ocs-share-api.rst @@ -5,7 +5,7 @@ OCS Share API The OCS Share API allows you to access the sharing API from outside over pre-defined OCS calls. -The base URL for all calls to the share API is: */ocs/v1.php/apps/files_sharing/api/v1* +The base URL for all calls to the share API is: */ocs/v1.php/apps/files_sharing/api/v1* Local Shares ============ @@ -136,7 +136,7 @@ Federated Cloud Shares ====================== Both the sending and the receiving instance need to have federated cloud sharing -enabled and configured. See `Configuring Federated Cloud Sharing `_. +enabled and configured. See `Configuring Federated Cloud Sharing `_. Create a new Federated Cloud Share ---------------------------------- diff --git a/developer_manual/core/theming.rst b/developer_manual/core/theming.rst index 54285ee6a..e9fa39467 100644 --- a/developer_manual/core/theming.rst +++ b/developer_manual/core/theming.rst @@ -1,10 +1,9 @@ Theming Nextcloud -================ +================= Themes can be used to customize the look and feel of Nextcloud. Themes can relate to the following topics of owncloud: * Theming the web-frontend -* Theming the owncloud Desktop client This documentation contains only the Web-frontend adaptations so far. @@ -22,7 +21,7 @@ With this facts you can easily determine, where the following object-related att The next thing you should do, before starting any changes is: Make a backup of your current theme(s) e.g.: -* cd …/owncloud/themes +* cd …/nextcloud/themes * cp -r example mytheme @@ -45,7 +44,7 @@ The folder structure of a theme is exactly the same as the main Nextcloud structure. You can override js files, images, translations and templates with own versions. CSS files are loaded additionally to the default files so you can override CSS properties. CSS files and the standard pictures that are used reside -for example in /owncloud/core/ and /owncloud/settings/ in these sub folders: +for example in /nextcloud/core/ and /nextcloud/settings/ in these sub folders: * css = style sheets * js = JavaScripts @@ -93,8 +92,8 @@ If you want to do a quick exchange like (1) it's important to know the size of t The (main) pictures, that can be found inside Nextcloud standard theming are the following: -* The logo at the login-page above the credentials-box: …/owncloud/themes/default/core/img/logo.svg -* The logo, that's always in the left upper corner after login: …/owncloud/themes/default/core/img/logo-wide.svg +* The logo at the login-page above the credentials-box: …/nextcloud/themes/default/core/img/logo.svg +* The logo, that's always in the left upper corner after login: …/nextcloud/themes/default/core/img/logo-wide.svg Inserting your new logo ----------------------- @@ -106,13 +105,13 @@ The app icons can also be overwritten in a theme. To change for example the app Changing favicon ---------------- -For compatibility with older browsers, favicon (the image that appears in your browser tab) uses .../owncloud/core/img/favicon.ico. +For compatibility with older browsers, favicon (the image that appears in your browser tab) uses .../nextcloud/core/img/favicon.ico. To customize favicon for MyTheme: * Create a version of your logo in .ico format -* Store your custom favicon as .../owncloud/themes/MyTheme/core/img/favicon.ico -* Include .../owncloud/themes/MyTheme/core/img/favicon.svg and favicon.png to cover any future updates to favicon handling. +* Store your custom favicon as .../nextcloud/themes/MyTheme/core/img/favicon.ico +* Include .../nextcloud/themes/MyTheme/core/img/favicon.svg and favicon.png to cover any future updates to favicon handling. Changing the default colours ---------------------------- @@ -201,7 +200,7 @@ This can be done with a file named ``defaults.php`` within the root of the theme class OC_Theme { public function getAndroidClientUrl() { - return 'https://play.google.com/store/apps/details?id=com.owncloud.android'; + return 'https://play.google.com/store/apps/details?id=com.nextcloud.client'; } public function getName() { @@ -234,7 +233,7 @@ One exception is the method ``buildDocLinkToKey`` which gets passed in a key as .. code-block:: php public function buildDocLinkToKey($key) { - return $this->getDocBaseUrl() . '/server/9.0/go.php?to=' . $key; + return $this->getDocBaseUrl() . '/server/9/go.php?to=' . $key; } diff --git a/developer_manual/core/translation.rst b/developer_manual/core/translation.rst deleted file mode 100644 index ac1dc6c8c..000000000 --- a/developer_manual/core/translation.rst +++ /dev/null @@ -1,102 +0,0 @@ -Translation -=========== - -Make text translatable ----------------------- - -In HTML or PHP wrap it like this ``t('This is some text'));?>`` or this ``t('This is some text'));?>`` -For the right date format use ``l('date', time()));?>``. Change the way dates are shown by editing /core/l10n/l10n-[lang].php -To translate text in javascript use: ``t('appname','text to translate');`` - - -.. note:: ``print_unescaped()`` should be preferred only if you would like to display HTML code. Otherwise, using ``p()`` is strongly preferred to escape HTML characters against XSS attacks. - -You shall never split sentences! --------------------------------- - -Reason: -~~~~~~~ - -Translators lose the context and they have no chance to possibly re-arrange words. - -Example: -~~~~~~~~ - -.. code-block:: php - - t('Select file from')) . ' '; ?>t('local filesystem'));?>t(' or ')); ?>t('cloud'));?> - -Translators will translate: -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* Select file from -* local filesystem -* ' or " -* cloud - -Translating these individual strings results in ``local filesystem`` and ``cloud`` losing case. The two white spaces surrounding ``or`` will get lost while translating as well. For languages that have a different grammatical order it prevents the translators from reordering the sentence components. - -Html on translation string: -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Html tags in translation strings is ugly but usually translators can handle this. - -What about variable in the strings? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -If you need to add variables to the translation strings do it like this: - -.. code-block:: php - - $l->t('%s is available. Get more information', array($data['versionstring'], $data['web'])); - -Automated synchronization of translations ------------------------------------------ - -Multiple nightly jobs have been setup in order to synchronize translations - it's a multi-step process: -``perl l10n.pl read`` will rescan all php and javascript files and generate the templates. -The templates are pushed to `Transifex`_ (tx push -s). -All translations are pulled from `Transifex`_ (tx pull -a). -``perl l10n.pl write`` will write the php files containing the translations. -Finally the changes are pushed to git. - -Please follow the steps below to add translation support to your app: -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Create a folder ``l10n``. -Create the file ``ignorelist`` which can contain files which shall not be scanned during step 4. -Edit ``l10n/.tx/config`` and copy/past a config section and adopt it by changing the app/folder name. -Run ``perl l10n.pl read`` with l10n -Add the newly created translation template (l10n/Templates/.pot) to git and commit the changes above. -After the next nightly sync job a new resource will appear on Transifex and from now on every night the latest translations will arrive. - -Translation sync jobs: -~~~~~~~~~~~~~~~~~~~~~~ - -https://ci.owncloud.org/view/translation-sync/ - -**Caution: information below is in general not needed!** - -Manual quick translation update: --------------------------------- - -.. code-block:: bash - - cd l10n/ && perl l10n.pl read && tx push -s && tx pull -a && perl l10n.pl write && cd .. - -The translation script requires Locale::PO, installable via ``apt-get install liblocale-po-perl`` - -Configure transifex -------------------- - -.. code-block:: bash - - tx init - - for resource in calendar contacts core files media gallery settings - do - tx set --auto-local -r owncloud.$resource "/$resource.po" --source-language=en \ - --source-file "templates/$resource.pot" --execute - done - -.. _Transifex: https://www.transifex.net/projects/p/owncloud/ diff --git a/developer_manual/core/unit-testing.rst b/developer_manual/core/unit-testing.rst index d378549f9..d22fbc7c5 100644 --- a/developer_manual/core/unit-testing.rst +++ b/developer_manual/core/unit-testing.rst @@ -44,7 +44,7 @@ Then you can simply run the created test with phpunit. An example for a simple test would be: -:file:`/srv/http/owncloud/apps/myapp/tests/testaddtwo.php` +:file:`/srv/http/nextcloud/apps/myapp/tests/testaddtwo.php` .. code-block:: php @@ -66,7 +66,7 @@ An example for a simple test would be: } -:file:`/srv/http/owncloud/apps/myapp/lib/testme.php` +:file:`/srv/http/nextcloud/apps/myapp/lib/testme.php` .. code-block:: php @@ -79,7 +79,7 @@ An example for a simple test would be: } } -In :file:`/srv/http/owncloud/apps/myapp/` you run the test with:: +In :file:`/srv/http/nextcloud/apps/myapp/` you run the test with:: phpunit tests/testaddtwo.php @@ -92,12 +92,12 @@ so the next test can run without side effects, like remaining files and entries For more resources on PHPUnit visit: http://www.phpunit.de/manual/current/en/writing-tests-for-phpunit.html Bootstrapping Nextcloud -~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~ If you use Nextcloud functions or classes in your code, you'll need to make them available to your test by bootstrapping Nextcloud. To do this, you'll need to provide the ``--bootstrap`` argument when running PHPUnit -:file:`/srv/http/owncloud`:: +:file:`/srv/http/nextcloud`:: phpunit --bootstrap tests/bootstrap.php apps/myapp/tests/testsuite.php @@ -108,14 +108,14 @@ adjust your php.ini and file rights. open_basedir = none -:file:`/srv/http/owncloud`:: +:file:`/srv/http/nextcloud`:: su -c "chmod a+r config/config.php" su -c "chmod a+rx data/" su -c "chmod a+w data/owncloud.log" Running unit tests for the Nextcloud core project -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The core project provides a script that runs all the core unit tests using different database backends like sqlite, mysql, pgsql, oci (for Oracle):: ./autotest.sh diff --git a/developer_manual/general/backporting.rst b/developer_manual/general/backporting.rst index 27e5142d4..5bc7a88fd 100644 --- a/developer_manual/general/backporting.rst +++ b/developer_manual/general/backporting.rst @@ -14,10 +14,9 @@ Process We mostly consider bug fixes for back porting. Occasionally, important changes to the API can be backported to make it easier for developers to keep their apps working between major releases. If you think a pull request (PR) is relevant for the stable release, go through these steps: 1. Make sure the PR is merged to master -2. Ask Frank (**@karlitschek**) and Thomas (**@deepdiver1975**) if the code should be backported and add the label `backport-request `_ to the PR +2. Ask Frank (**@karlitschek**) and Thomas (**@deepdiver1975**) if the code should be backported and add the label `backport-request `_ to the PR 3. If Frank or Thomas say yes then create a new branch based on the respective stable branch (stable7 for the 7.0.x series), cherry-pick the needed commits to that branch and create a PR on GitHub. 4. Specify the corresponding milestone for that series (7.0.x-next-maintenance for the 7.0.x series) to this PR and reference the original PR in there. This enables the QA team to find the backported items for testing and having the original PR with detailed description linked. -.. note:: Before each patch release there is a freeze to be able to test everything as a whole without pulling in new changes. This freeze is announced on the `owncloud-devel mailinglist `_. While this freeze is active a backport isn't allowed and has to wait for the next patch release. The QA team will try to reproduce all the issues with the X.Y.Z-next-maintenance milestone on the relevant release and verify it is fixed by the patch release (and doesn't cause new problems). Once the patch release is out, the post-fix -next-maintenance is removed and a new -next-maintenance milestone is created for that series. diff --git a/developer_manual/general/codingguidelines.rst b/developer_manual/general/codingguidelines.rst index 7105ecd39..8cb47431e 100644 --- a/developer_manual/general/codingguidelines.rst +++ b/developer_manual/general/codingguidelines.rst @@ -6,8 +6,7 @@ Coding Style & General Guidelines General ------- -* Ideally, discuss your plans on the `mailing list `_ to see if others want to work with you on it -* We use `Github `_, please get an account there and clone the repositories you want to work on +* We use `Github `_, please get an account there and clone the repositories you want to work on * Fixes go directly to master, nevertheless they need to be tested thoroughly. * New features are always developed in a branch and only merged to master once they are fully done. * Software should work. We only put features into master when they are complete. It's better to not have a feature instead of having one that works poorly. @@ -15,7 +14,6 @@ General * When you are finished, use the merge request function on Github to create a pull request. The other developers will look at it and give you feedback. You can signify that your PR is ready for review by adding the label "5 - ready for review" to it. You can also post your merge request to the mailing list to let people know. See `the code review page for more information <../bugtracker/codereviews.html>`_ * It is key to keep changes separate and small. The bigger and more hairy a PR grows, the harder it is to get it in. So split things up where you can in smaller changes - if you need a small improvement like a API addition for a big feature addition, get it in first rather than adding it to the big piece of work! * Decisions are made by consensus. We strive for making the best technical decisions and as nobody can know everything, we collaborate. That means a first negative comment might not be the final word, neither is positive feedback an immediate GO. Nextcloud is built out of modular pieces (apps) and maintainers have a strong influence. In case of disagreement we consult other seasoned contributors. -* We need a signed contributor agreement from you to commit into the core repository (apps don't need that). All the information is in our `Contributor agreement FAQ `_. Labels ------ @@ -72,7 +70,6 @@ Coding * No global variables or functions * Unit tests * HTML should be HTML5 compliant -* Check these `database performance tips `_ * When you ``git pull``, always ``git pull --rebase`` to avoid generating extra commits like: *merged master into master* diff --git a/developer_manual/general/devenv.rst b/developer_manual/general/devenv.rst index 9cb8d07d6..813f6157a 100644 --- a/developer_manual/general/devenv.rst +++ b/developer_manual/general/devenv.rst @@ -11,7 +11,7 @@ Please follow the steps on this page to set up your development environment. Set up Web server and database ============================== -First `set up your Web server and database `_ (**Section**: Manual Installation - Prerequisites). +First `set up your Web server and database `_ (**Section**: Manual Installation - Prerequisites). .. TODO ON RELEASE: Update version number above on release @@ -20,7 +20,7 @@ Get the source There are two ways to obtain Nextcloud sources: -* Using the `stable version `_ +* Using the `stable version `_ .. TODO ON RELEASE: Update version number above on release * Using the development version from `GitHub`_ which will be explained below. @@ -48,7 +48,7 @@ Check out the code The following commands are using **/var/www** as the Web server's directory and **www-data** as user name and group. -Install the `development tool `_ +Install the `development tool `_ After the development tool installation make the directory writable:: @@ -108,6 +108,6 @@ or to prune all merged branches, you would execute this:: It is even easier if you create alias from these commands in case you want to avoid retyping those each time you need them. -.. _GitHub: https://github.com/owncloud +.. _GitHub: https://github.com/nextcloud .. _GitHub Help Page: https://help.github.com/ diff --git a/developer_manual/general/performance.rst b/developer_manual/general/performance.rst index 1fa3bb3b6..f2d95b7f2 100644 --- a/developer_manual/general/performance.rst +++ b/developer_manual/general/performance.rst @@ -58,7 +58,3 @@ Measuring performance If you do bigger changes in the architecture or the database structure you should always double check the positive or negative performance impact. There are a `few nice small scripts `_ that can be used for this. The recommendation is to automatically do 10000 PROPFINDs or file uploads, measure the time and compare the time before and after the change. - -Getting help ------------- -If you need help with performance or other issues please ask on our `mailing list `_ or on our IRC channel **#owncloud-dev** on **irc.freenode.net**. diff --git a/developer_manual/general/security.rst b/developer_manual/general/security.rst index eaac6a3ec..cea36776d 100644 --- a/developer_manual/general/security.rst +++ b/developer_manual/general/security.rst @@ -207,7 +207,7 @@ Additionally always check if the user has the right to perform that action. (e.g Sensitive data exposure ----------------------- -Always store user data or configuration files in safe locations, e.g. **owncloud/data/** and not in the webroot where they can be accessed by anyone using a web browser. +Always store user data or configuration files in safe locations, e.g. **nextcloud/data/** and not in the webroot where they can be accessed by anyone using a web browser. Cross site request forgery -------------------------- @@ -243,7 +243,3 @@ Always validate the URL before redirecting if the requested URL is on the same d `_ or on our IRC channel **#owncloud-dev** on **irc.freenode.net**. diff --git a/developer_manual/index.rst b/developer_manual/index.rst index 5a2d54613..64e24ed6a 100644 --- a/developer_manual/index.rst +++ b/developer_manual/index.rst @@ -1,28 +1,27 @@ .. _contents: -================================ +================================= Nextcloud Developer Documentation -================================ +================================= +-------------------------+-------------------------+-----------------------------+ |:doc:`app/index` |:doc:`core/index` |`Documentation`_ | -| Develop apps for | Develop on the Nextcloud | Create and enhance | -| Nextcloud and publish on | internals | documentation | -| the `Nextcloud appstore`_| | | +| Develop apps for | Develop on the Nextcloud | Create and enhance | +| Nextcloud and publish on | internals | documentation | +| the `Nextcloud appstore`_| | | +-------------------------+-------------------------+-----------------------------+ -|:doc:`testing/index` |:doc:`bugtracker/index` |`Translation`_ | -| Help us to test | Report, triage or fix | Translate Nextcloud into | -| Nextcloud by joining the | bugs to improve quality | your language | +|:doc:`testing/index` |:doc:`bugtracker/index` |:doc:`android_library/index` | +| Help us to test | Report, triage or fix | Integrating with Android | +| Nextcloud by joining the | bugs to improve quality | | testing team | | | +-------------------------+-------------------------+-----------------------------+ -|:doc:`commun/index` | :doc:`ios_library/index`|:doc:`android_library/index` | -| Help on IRC, the | Integration with iOS | Integrating with Android | +|:doc:`commun/index` | | | +| Help on IRC, the | | | | mailinglist and forum | | | +-------------------------+-------------------------+-----------------------------+ .. _Nextcloud appstore: https://apps.owncloud.com/ -.. _Translation: https://www.transifex.com/projects/p/owncloud/ -.. _Documentation: https://github.com/owncloud/documentation#owncloud-documentation +.. _Documentation: https://github.com/nextcloud/documentation#nextcloud-documentation Table of Contents ================= @@ -33,9 +32,7 @@ Table of Contents general/index app/index android_library/index - ios_library/index core/index - testing/index bugtracker/index commun/index diff --git a/developer_manual/ios_library/examples.rst b/developer_manual/ios_library/examples.rst deleted file mode 100644 index c7fecf96c..000000000 --- a/developer_manual/ios_library/examples.rst +++ /dev/null @@ -1,819 +0,0 @@ -Examples -======== - -Init the library ----------------- - -Start using the library, it is needed to init the object OCCommunication. - -We recommend using the singleton method in the AppDelegate class in order to -use the Nextcloud iOS library. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - #import "OCCommunication.h" - - + (OCCommunication *)sharedOCCommunication - { - static OCCommunication* sharedOCCommunication = nil; - - if (sharedOCCommunication == nil) - { - sharedOCCommunication = [ [ OCCommunicationalloc] init ]; - } - - return sharedOCCommunication; - } - -Also could happen that you need to overwrite the class AFURLSessionManager to manage SSL Certificates - -.. code-block:: objective-c - - #import "OCCommunication.h" - - + (OCCommunication*)sharedOCCommunication - { - static OCCommunication* sharedOCCommunication = nil; - if (sharedOCCommunication == nil) - { - //Network Upload queue for NSURLSession (iOS 7) - NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration backgroundSessionConfiguration:k_session_name]; - configuration.HTTPMaximumConnectionsPerHost = 1; - configuration.requestCachePolicy = NSURLRequestReloadIgnoringLocalCacheData; - OCURLSessionManager *uploadSessionManager = [[OCURLSessionManager alloc] initWithSessionConfiguration:configuration]; - [uploadSessionManager.operationQueue setMaxConcurrentOperationCount:1]; - [uploadSessionManager setSessionDidReceiveAuthenticationChallengeBlock:^NSURLSessionAuthChallengeDisposition (NSURLSession *session, NSURLAuthenticationChallenge *challenge, NSURLCredential * __autoreleasing *credential) { - return NSURLSessionAuthChallengePerformDefaultHandling; - }]; - - sharedOCCommunication = [[OCCommunication alloc] initWithUploadSessionManager:uploadSessionManager]; - - } - return sharedOCCommunication; - } - -Set credentials ---------------- - -Authentication on the app is possible by 3 different methods: - -* Basic authentication, user name and password -* Cookie -* Token (oAuth) - - -Code example -~~~~~~~~~~~~ - - -.. code-block:: objective-c - - #Basic authentication, user name and password - [[ AppDelegate sharedOCCommunication ] setCredentialsWithUser : userName andPassword : password ]; - - #Authentication with cookie - [[ AppDelegate sharedOCCommunication ] setCredentialsWithCookie : cookie ]; - - #Authentication with token - [[ AppDelegate sharedOCCommunication ] setCredentialsOauthWithToken : token ]; - - -Create a folder ---------------- - -Create a new folder on the cloud server, the info needed to be sent is the path -of the new folder. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - [[ AppDelegate sharedOCCommunication ] createFolder :path onCommunication : [ AppDelegate sharedOCCommunication ] - - successRequest :^( NSHTTPURLResponse *response, NSString *redirectedServer) { - //Folder Created - } - - failureRequest :^( NSHTTPURLResponse *response, NSError *error) { - - //Failure - - switch (response.statusCode) { - - case kOCErrorServerUnauthorized : - //Bad credentials - break; - case kOCErrorServerForbidden : - //Forbidden - break; - case kOCErrorServerPathNotFound : - //Not Found - break; - case kOCErrorServerTimeout : - //timeout - break; - default: - //default - break; - } - - } - errorBeforeRequest :^( NSError *error) { - //Error before request - - if (error.code == OCErrorForbidenCharacters) { - //Forbidden characters - } - else - { - //Other error - } - - }]; -   -Read folder ------------ - -Get the content of an existing folder on the cloud server, the info needed to -be sent is the path of the folder. As answer of this method, it will be -received an array with all the files and folders stored in the selected folder. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - [[ AppDelegate sharedOCCommunication] readFolder:path onCommunication:[ AppDelegate sharedOCCommunication] - - successRequest:^( NSHTTPURLResponse *response, NSArray *items, NSString *redirectedServer) { - //Success - for ( OCFileDto * ocFileDto in items) { - NSLog( @"item path: %@%@" , ocFileDto.filePath, ocFileDto.fileName); - } - } - - failureRequest:^( NSHTTPURLResponse *response, NSError *error) { - - //Failure - switch (response.statusCode) { - case kOCErrorServerPathNotFound : - //Path not found - break; - case kOCErrorServerUnauthorized : - //Bad credentials - break; - case kOCErrorServerForbidden : - //Forbidden - break; - case kOCErrorServerTimeout : - //Timeout - break ; - default : - break; - } - - }]; - -Read file ---------- - -Get information related to a certain file or folder. Although, more information -can be obtained, the library only gets the eTag. - -Other properties of the file or folder may be obtained: filePath, filename, -isDirectory, size and date - -Code example -~~~~~~~~~~~~ - - -.. code-block:: objective-c - - [[ AppDelegate sharedOCCommunication ] readFile :path onCommunication :[ AppDelegate sharedOCCommunication ] - - successRequest :^( NSHTTPURLResponse *response, NSArray *items, NSString *redirectedServer) { - - OCFileDto *ocFileDto = [items objectAtIndex : 0 ]; - NSLog ( @"item etag: %lld" , ocFileDto. etag); } - failureRequest :^( NSHTTPURLResponse *response, NSError *error) { - switch (response.statusCode) { - case kOCErrorServerPathNotFound: - //Path not found - break; - case kOCErrorServerUnauthorized: - //Bad credentials - break; - case kOCErrorServerForbidden: - //Forbidden - break; - case kOCErrorServerTimeout: - //Timeout - break; - default: - break; - } - }]; - -Move file or folder -------------------- - - -Move a file or folder from their current path to a new one on the cloud server. -The info needed is the origin path and the destiny path. - - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - [[ AppDelegate sharedOCCommunication ] moveFileOrFolder :sourcePath toDestiny :destinyPath onCommunication :[ AppDelegate sharedOCCommunication ] - - successRequest :^( NSHTTPURLResponse *response, NSString *redirectedServer) { - //File/Folder moved or renamed - } - failureRequest :^( NSHTTPURLResponse *response, NSError *error) { - //Failure - switch (response.statusCode) { - case kOCErrorServerPathNotFound: - //Path not found - break; - case kOCErrorServerUnauthorized: - //Bad credentials - break; - case kOCErrorServerForbidden: - //Forbidden - break; - case kOCErrorServerTimeout: - //Timeout - break; - default: - break; - } - - } - errorBeforeRequest :^( NSError *error) { - if (error.code == OCErrorMovingTheDestinyAndOriginAreTheSame) { - //The destiny and the origin are the same - } - else if (error.code == OCErrorMovingFolderInsideHimself) { - //Moving folder inside himself - } - else if (error.code == OCErrorMovingDestinyNameHaveForbiddenCharacters) { - //Forbidden Characters - } - else - { - //Default - } - - }]; - - -Delete file or folder ---------------------- - -Delete a file or folder on the cloud server. The info needed is the path to -delete. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c -   - [[ AppDelegate sharedOCCommunication ] deleteFileOrFolder :path onCommunication :[ AppDelegate - - sharedOCCommunication ] successRequest :^( NSHTTPURLResponse *response, NSString *redirectedServer) { - //File or Folder deleted - } - failureRequest :^( NSHTTPURLResponse *response, NSError *error) { - - switch (response.statusCode) { - case kOCErrorServerPathNotFound: - //Path not found - break; - case kOCErrorServerUnauthorized: - //Bad credentials - break; - case kOCErrorServerForbidden: - //Forbidden - break; - case kOCErrorServerTimeout: - //Timeout - break; - default: - break; - } - - }]; - - -Download a file ---------------- - -Download an existing file on the cloud server. The info needed is the server -URL, path of the file on the server and localPath, path where the file will be -stored on the device and a boolean to indicate if is necessary to use LIFO queue or FIFO. - -Code example -~~~~~~~~~~~~ - - -.. code-block:: objective-c - - NSOperation *op = nil; - op = [[ AppDelegate sharedOCCommunication ] downloadFile :remotePath toDestiny :localPath withLIFOSystem:isLIFO onCommunication :[ AppDelegate sharedOCCommunication ] - - progressDownload :^( NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) { - - //Calculate percent - float percent = ( float)totalBytesRead / totalBytesExpectedToRead; - NSLog ( @"Percent of download: %f" , percent); } - successRequest :^(NSHTTPURLResponse *response, NSString *redirectedServer) { - //Download complete - } - failureRequest :^(NSHTTPURLResponse *response, NSError *error) { - switch (response. statusCode) { - case kOCErrorServerUnauthorized: - //Bad credentials - break; - case kOCErrorServerForbidden: - //Forbidden - break; - case kOCErrorProxyAuth: - //Proxy access required - break; - case kOCErrorServerPathNotFound: - //Path not found - break; - default: - //Default - break; - } - } - shouldExecuteAsBackgroundTaskWithExpirationHandler :^{ - [op cancel ]; - }]; - - - - - -Download a file with background session ---------------------------------------- - -Download an existing file storaged on the cloud server using background session, only supported by iOS 7 and higher. - -The info needed is, the server URL: path where the file is stored on the server; localPath: path where the file will be stored on the device; and NSProgress: object where get the callbacks of the upload progress. - -To get the callbacks of the progress is needed use a KVO in the progress object. We add the code in this example of the call to set the KVO and the method where catch the notifications. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - NSURLSessionDownloadTask *downloadTask = nil; - - NSProgress *progress = nil; - - downloadTask = [_sharedOCCommunication downloadFileSession:serverUrl toDestiny:localPath defaultPriority:YES onCommunication:_sharedOCCommunication withProgress:&progress successRequest:^(NSURLResponse *response, NSURL *filePath) { - //Upload complete - } failureRequest:^(NSURLResponse *response, NSError *error) { - - switch (error.code) { - case kCFURLErrorUserCancelledAuthentication: - //Authentication cancelled - break; - - default: - switch (response.statusCode) { - case kOCErrorServerUnauthorized : - //Bad credentials - break; - case kOCErrorServerForbidden: - //Forbidden - break; - case kOCErrorProxyAuth: - //Proxy access required - break; - case kOCErrorServerPathNotFound: - //Path not found - break; - default: - //Default - break; - } - break; - } - }]; - - // Observe fractionCompleted using KVO - [progress addObserver:self forKeyPath:@"fractionCompleted" options:NSKeyValueObservingOptionNew context:NULL]; - - - //Method to catch the progress notifications with callbacks - - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context - { - if ([keyPath isEqualToString:@"fractionCompleted"] && [object isKindOfClass:[NSProgress class]]) { - NSProgress *progress = (NSProgress *)object; - - float percent = roundf (progress.fractionCompleted * 100); - - //We make it on the main thread because we came from a delegate - dispatch_async(dispatch_get_main_queue(), ^{ - NSLog(@"Progress is %f", percent); - }); - } - } - - -Set callback when background download task finishes ---------------------------------------------------- - -Method to set callbacks of the pending download transfers when the app starts. It's used when there are pendings download background transfers. The block is executed when a pending background task finishes. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - [[AppDelegate sharedOCCommunication] setDownloadTaskComleteBlock:^NSURL *(NSURLSession *session, NSURLSessionDownloadTask *downloadTask, NSURL *location) { - - - }]; - -Set progress callback with pending background download tasks ------------------------------------------------------------- - -Method to set progress callbacks of the pending download transfers. It's used when there are pendings background download transfers. The block is executed when a pending task get a input porgress. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - [[AppDelegate sharedOCCommunication] setDownloadTaskDidGetBodyDataBlock:^(NSURLSession *session, NSURLSessionDownloadTask *downloadTask, int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) { - - - }]; - - - - - -Upload a file -------------- - -Upload a new file to the cloud server. The info needed is localPath, path where -the file is stored on the device and server URL, path where the file will be -stored on the server. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - NSOperation *op = nil; - op = [[ AppDelegate sharedOCCommunication ] uploadFile :localPath toDestiny : remotePath onCommunication :[ AppDelegate sharedOCCommunication ] - - progressUpload :^( NSUInteger bytesWrote, long long totalBytesWrote, long long totalBytesExpectedToWrite) { - //Calculate upload percent - if ( totalBytesExpectedToRead/1024 != 0) { - if ( bytesWrote > 0) { - float percent = totalBytesWrote* 100 / totalBytesExpectedToRead; - NSLog ( @"Percent: %f" , percent); - } - } - } - successRequest :^( NSHTTPURLResponse *response, NSString *redirectedServer) { - //Upload complete - } - failureRequest :^( NSHTTPURLResponse *response, NSString *redirectedServer, NSError *error) { - switch (response. statusCode) { - case kOCErrorServerUnauthorized : - //Bad credentials - break; - case kOCErrorServerForbidden: - //Forbidden - break; - case kOCErrorProxyAuth: - //Proxy access required - break; - case kOCErrorServerPathNotFound: - //Path not found - break; - default: - //Default - break; - } - } - failureBeforeRequest :^( NSError *error) { - switch (error.code) { - case OCErrorFileToUploadDoesNotExist: - //File does not exist - break; - default: - //Default - break; - } - } - shouldExecuteAsBackgroundTaskWithExpirationHandler :^{ - [op cancel]; - }]; - - -Upload a file with background session -------------------------------------- - -Upload a new file to the cloud server using background session, only supported by iOS 7 and higher. - -The info needed is localPath, path where the file is stored on the device and server URL, path where the file will be stored on the server and NSProgress object where get the callbacks of the upload progress. - -To get the callbacks of the progress is needed use a KVO in the progress object. We add the code in this example of the call to set the KVO and the method where catch the notifications. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - NSURLSessionUploadTask *uploadTask = nil; - - NSProgress *progress = nil; - - uploadTask = [[AppDelegate sharedOCCommunication] uploadFileSession:localPath toDestiny:remotePath onCommunication:[ AppDelegate sharedOCCommunication ] withProgress:&progress successRequest:^(NSURLResponse *response, NSString *redirectedServer) { - //Upload complete - } failureRequest:^(NSURLResponse *response, NSString *redirectedServer, NSError *error) { - switch (response.statusCode) { - case kOCErrorServerUnauthorized : - //Bad credentials - break; - case kOCErrorServerForbidden: - //Forbidden - break; - case kOCErrorProxyAuth: - //Proxy access required - break; - case kOCErrorServerPathNotFound: - //Path not found - break; - default: - //Default - break; - } - - }]; - - // Observe fractionCompleted using KVO - [progress addObserver:self forKeyPath:@"fractionCompleted" options:NSKeyValueObservingOptionNew context:NULL]; - - - - //Method to catch the progress notifications with callbacks - - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context - { - if ([keyPath isEqualToString:@"fractionCompleted"] && [object isKindOfClass:[NSProgress class]]) { - NSProgress *progress = (NSProgress *)object; - - float percent = roundf (progress.fractionCompleted * 100); - - //We make it on the main thread because we came from a delegate - dispatch_async(dispatch_get_main_queue(), ^{ - NSLog(@"Progress is %f", percent); - }); - - } - } - -Set callback when background task finish ------------------------------------------ - -Method to set callbacks of the pending transfers when the app starts. It's used when there are pendings background transfers. The block is executed when a pending background task finished. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - [[AppDelegate sharedOCCommunication] setTaskDidCompleteBlock:^(NSURLSession *session, NSURLSessionTask *task, NSError *error) { - - - }]; - -Set progress callback with pending background tasks ---------------------------------------------------- - -Method to set progress callbacks of the pending transfers. It's used when there are pendings background transfers. The block is executed when a pending task get a input porgress. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - [[AppDelegate sharedOCCommunication] setTaskDidSendBodyDataBlock:^(NSURLSession *session, NSURLSessionTask *task, int64_t bytesSent, int64_t totalBytesSent, int64_t totalBytesExpectedToSend) { - - - - }]; - - -Check if the server supports Sharing api ----------------------------------------- - - -The Sharing API is included in Nextcloud 5.0.13 and greater versions. The info -needed is activeUser.url, the server URL that you want to check. - -Code Example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - [[ AppDelegate sharedOCCommunication ] hasServerShareSupport :_activeUser.url onCommunication :[ AppDelegate sharedOCCommunication ] - - successRequest :^( NSHTTPURLResponse *response, BOOL hasSupport, NSString *redirectedServer) { - } - failureRequest :^( NSHTTPURLResponse *response, NSError *error){ - } - }]; - - -Read shared all items by link ------------------------------ - -Get information about what files and folder are shared by link. - -The info needed is Path, the server URL that you want to check. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - [[ AppDelegate sharedOCCommunication ] readSharedByServer :path onCommunication :[ AppDelegate sharedOCCommunication ] - - successRequest :^( NSHTTPURLResponse *response, NSArray *items, NSString *redirectedServer) { - NSLog ( @"Item: %d" , items); - } - - failureRequest :^( NSHTTPURLResponse *response, NSError *error){ - NSLog ( @"error: %@" , error); - NSLog ( @"Operation error: %d" , response.statusCode); - }]; - - -Read shared items by link of a path ------------------------------------- - -Get information about what files and folder are shared by link in a specific path. - -The info needed is the server URL that you want to check and the specific path tha you want to check. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - [[AppDelegate sharedOCCommunication] readSharedByServer:serverPath andPath:path onCommunication:[AppDelegate sharedOCCommunication] successRequest:^(NSHTTPURLResponse *response, NSArray *items, NSString *redirectedServer) { - NSLog ( @"Item: %d" , items); - - - } failureRequest:^(NSHTTPURLResponse *response, NSError *error) { - NSLog ( @"error: %@" , error); - NSLog ( @"Operation error: %d" , response.statusCode); - }]; - -Share link of file or folder ----------------------------- - - -Share a file or a folder from your cloud server by link. -The info needed is Path, your server URL and the path of the item that you want -to share (for example ``/folder/file.pdf``) - - -Code example -~~~~~~~~~~~~ - - -.. code-block:: objective-c - - [[ AppDelegate sharedOCCommunication ] shareFileOrFolderByServer :path andFileOrFolderPath :itemPath onCommunication :[ AppDelegate sharedOCCommunication ] - successRequest :^( NSHTTPURLResponse *response, NSString *token, NSString *redirectedServer) { - - NSString *sharedLink = [ NSString stringWithFormat:@ `path/public.php?service=files&t=%@ `_ - , token]; - - } - failureRequest :^( NSHTTPURLResponse *response, NSError *error){ - [ _delegate endLoading ]; - - DLog ( @”error.code: %d” , error. code); - DLog (@”server.error: %d”, response. statusCode); - int code = response. statusCode ; - if (error.code == kOCErrorServerPathNotFound) { - } - - switch (code) { - case kOCErrorServerPathNotFound: - //File to share not exists - break; - case kOCErrorServerUnauthorized: - //Error login - break; - case kOCErrorServerForbidden: - //Permission error - break; - case kOCErrorServerTimeout: - //Not possible to connect to server - break; - default: - if (error.code == kOCErrorServerPathNotFound) { - //File to share not exists - } else { - //Not possible to connect to the server - } - break; - - } - - }]; - - } - - NSLog ( @"error: %@" , error); - NSLog ( @"Operation error: %d" , response.statusCode); - }]; - -Unshare a folder or file by link --------------------------------- - - -Stop sharing by link a file or a folder from your cloud server. - -The info needed is Path, your server URL and the Id of the item that you want -to Unshare. - -Before unsharing an item, you have to read the shared items on the selected -server, using the method “ readSharedByServer ” so that you get the array -“items” with all the shared elements. These are objects OCShareDto, one of -their properties is idRemoteShared, parameter needed to unshared an element. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - [[ AppDelegate sharedOCCommunication ] unShareFileOrFolderByServer :path andIdRemoteSharedShared :sharedByLink. idRemoteShared onCommunication :[ AppDelegate sharedOCCommunication ] - - successRequest :^( NSHTTPURLResponse *response, NSString *redirectedServer) { - //File unshared - } - failureRequest :^( NSHTTPURLResponse *response, NSError *error){ - //Error - } - ]; - - -Check if file of folder is shared ----------------------------------- - -Check if a specific file or folder is shared in your cloud server. - -The info need is Path, your server URL and the Id of the item that you want. - - -Before check an item, you have to read the shared items on the selected -server, using the method “ readSharedByServer ” so that you get the array -“items” with all the shared elements. These are objects OCShareDto, one of -their properties is idRemoteShared, parameter needed to unshared an element. - -Code example -~~~~~~~~~~~~ - -.. code-block:: objective-c - - [[AppDelegate sharedOCCommunication] isShareFileOrFolderByServer:path andIdRemoteShared:_shareDto.idRemoteShared onCommunication:[AppDelegate sharedOCCommunication] successRequest:^(NSHTTPURLResponse *response, NSString *redirectedServer, BOOL isShared) { - //File/Folder is shared - - } failureRequest:^(NSHTTPURLResponse *response, NSError *error) { - //File/Folder is not shared - }]; - - -Tips ----- - -* Credentials must be set before calling any method -* Paths must not be on URL Encoding -* Correct path: ``https://example.com/owncloud/remote.php/dav/Pop_Music/`` -* Wrong path: ``https://example.com/owncloud/remote.php/dav/Pop%20Music/`` -* There are some forbidden characters to be used in folder and files names on the server, same on the Nextcloud iOS library "\", "/","<",">",":",""","","?","*" -* To move a folder the origin path and the destination path must end with “/” -* To move a file the origin path and the destination path must not end with “/” -* Upload and download actions may be cancelled thanks to the object “NSOperation” -* Unit tests, before launching unit tests you have to enter your account information (server url, user and password) on OCCommunicationLibTests.m diff --git a/developer_manual/ios_library/images/100000000000030C000001E61DFDBF76.png b/developer_manual/ios_library/images/100000000000030C000001E61DFDBF76.png deleted file mode 100644 index 5c12b3411..000000000 Binary files a/developer_manual/ios_library/images/100000000000030C000001E61DFDBF76.png and /dev/null differ diff --git a/developer_manual/ios_library/images/100000000000030C000001E637605044.png b/developer_manual/ios_library/images/100000000000030C000001E637605044.png deleted file mode 100644 index 5d58db9b3..000000000 Binary files a/developer_manual/ios_library/images/100000000000030C000001E637605044.png and /dev/null differ diff --git a/developer_manual/ios_library/images/100000000000030C000001E7A7A01884.png b/developer_manual/ios_library/images/100000000000030C000001E7A7A01884.png deleted file mode 100644 index 606b6cd84..000000000 Binary files a/developer_manual/ios_library/images/100000000000030C000001E7A7A01884.png and /dev/null differ diff --git a/developer_manual/ios_library/images/100000000000030C000001E8AB4C3306.png b/developer_manual/ios_library/images/100000000000030C000001E8AB4C3306.png deleted file mode 100644 index 8be0c8310..000000000 Binary files a/developer_manual/ios_library/images/100000000000030C000001E8AB4C3306.png and /dev/null differ diff --git a/developer_manual/ios_library/images/100000000000030C000001ECB85120C2.png b/developer_manual/ios_library/images/100000000000030C000001ECB85120C2.png deleted file mode 100644 index 11339b8b9..000000000 Binary files a/developer_manual/ios_library/images/100000000000030C000001ECB85120C2.png and /dev/null differ diff --git a/developer_manual/ios_library/images/10000201000003430000020C65A3C5A7.png b/developer_manual/ios_library/images/10000201000003430000020C65A3C5A7.png deleted file mode 100644 index 455e6d913..000000000 Binary files a/developer_manual/ios_library/images/10000201000003430000020C65A3C5A7.png and /dev/null differ diff --git a/developer_manual/ios_library/images/100002010000034700000211B6BE4A2B.png b/developer_manual/ios_library/images/100002010000034700000211B6BE4A2B.png deleted file mode 100644 index d71b48280..000000000 Binary files a/developer_manual/ios_library/images/100002010000034700000211B6BE4A2B.png and /dev/null differ diff --git a/developer_manual/ios_library/images/10000201000003480000020EC688993D.png b/developer_manual/ios_library/images/10000201000003480000020EC688993D.png deleted file mode 100644 index 53a793104..000000000 Binary files a/developer_manual/ios_library/images/10000201000003480000020EC688993D.png and /dev/null differ diff --git a/developer_manual/ios_library/images/10000201000003B9000002B619E44B0C.png b/developer_manual/ios_library/images/10000201000003B9000002B619E44B0C.png deleted file mode 100644 index fa5cbd925..000000000 Binary files a/developer_manual/ios_library/images/10000201000003B9000002B619E44B0C.png and /dev/null differ diff --git a/developer_manual/ios_library/images/10000201000003B9000002B66AC4279B.png b/developer_manual/ios_library/images/10000201000003B9000002B66AC4279B.png deleted file mode 100644 index cfdf947f6..000000000 Binary files a/developer_manual/ios_library/images/10000201000003B9000002B66AC4279B.png and /dev/null differ diff --git a/developer_manual/ios_library/images/10000201000003B9000002B68F027979.png b/developer_manual/ios_library/images/10000201000003B9000002B68F027979.png deleted file mode 100644 index fdecd6ce8..000000000 Binary files a/developer_manual/ios_library/images/10000201000003B9000002B68F027979.png and /dev/null differ diff --git a/developer_manual/ios_library/images/10000201000003B9000002B69A5110D2.png b/developer_manual/ios_library/images/10000201000003B9000002B69A5110D2.png deleted file mode 100644 index da8a9bab3..000000000 Binary files a/developer_manual/ios_library/images/10000201000003B9000002B69A5110D2.png and /dev/null differ diff --git a/developer_manual/ios_library/images/100002010000046D000002B55ECA38D5.png b/developer_manual/ios_library/images/100002010000046D000002B55ECA38D5.png deleted file mode 100644 index b8c443339..000000000 Binary files a/developer_manual/ios_library/images/100002010000046D000002B55ECA38D5.png and /dev/null differ diff --git a/developer_manual/ios_library/index.rst b/developer_manual/ios_library/index.rst deleted file mode 100644 index 7c5bffed1..000000000 --- a/developer_manual/ios_library/index.rst +++ /dev/null @@ -1,50 +0,0 @@ -=========================== -iOS Application Development -=========================== -Nextcloud provides an official Nextcloud iOS client, which gives its users -access to their files on their Nextcloud. It also includes functionality like -automatically uploading pictures and videos to Nextcloud. - -For third party application developers, Nextcloud offers the Nextcloud iOS -library under the MIT license. - -iOS Nextcloud Client development ------------------------------------ - -If you are interested in working on the Nextcloud iOS client, you can find -the source code `in github `_. The -setup and process of contribution is -`documented here `_. - -You might want to start with doing one or two `junior jobs -`_ -to get into the code and note our :doc:`../general/index` - -Note that contribution to the iOS client require signing the iOS addendum to the -`Nextcloud Contributor Agreement `_. You are -permitted to test the iOS client on Apple hardware thanks to the -`iOS license exception `_. - -Nextcloud iOS Library ------------------------- -This document will describe how to the use Nextcloud iOS library. The Nextcloud -iOS library for iOS allows a developer to communicate with any Nextcloud server; -among the features included are file synchronization, upload and download of -files, delete rename and move of files and folders and share files or folders -by link among others. - -This library may be added to a project and seamlessly integrates any -application with Nextcloud. - -The tool needed is Xcode 6, this guide includes some screenshots showing -examples in Xcode 6. - -.. _iosindex: - -.. toctree:: - :maxdepth: 2 - :hidden: - - library_installation - examples - diff --git a/developer_manual/ios_library/library_installation.rst b/developer_manual/ios_library/library_installation.rst deleted file mode 100644 index 72d17c857..000000000 --- a/developer_manual/ios_library/library_installation.rst +++ /dev/null @@ -1,133 +0,0 @@ -Library Installation -==================== - -Obtaining the library ---------------------- - -The Nextcloud iOS library may be obtained from the following Github repository: - -`git@github.com:owncloud/ios-library.git -`_ - -Once obtained, this code should be compiled with Xcode 6. The Github -repository not only contains the library, Nextcloud iOS library, but also -contains a sample project, OCLibraryExample, which will assist in learning how -to use the library. - -Add the library to a project ----------------------------- - -There are two methods to add this library to a project. - -* Reference the headers and library binary file (``.a``) directly. -* Include the library as a subproject. - - -Which method to choose depends on user preference as well as whether the source -code and project file of the static library are available. - -Reference headers and library binary files -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Follow these steps if this is the desired method. - -1. Compile the Nextcloud iOS library and run the project. A ``libNextcloudiOS.a`` -file will be generated. - -The following files are required: - -**Library file** - -* ``libNextcloudiOS.a`` (Library) - -**Library Classes** - -* ``OCCommunication.h`` (Accessors) Import in the communication class -* ``OCErrorMsg.h`` (Error Messages) Import in the communication class -* ``OCFileDto.h`` and ``OCFileDto.m`` (File/Folder object) Import when using -* ``readFolder`` and ``readFile`` methods -* ``OCFrameworkConstants.h`` (Customize constants) - -2. Add the library file to the project. From the “Build Phases” tab, scroll -to “Link binary files” and select the ‘+’ to add a library. Select the library -file. - -|10000201000003480000020EC688993D_png| - -3. Add the path of the library header files. Under the “Build Settings” tab, -select the target library and add the path in the “Header Search Paths” field. - -|10000201000003430000020C65A3C5A7_png| - -4. Remaining in the “Build Setting” tab, add the flag ``-Obj-C`` under the -“Other Linker Flags” option. - -|100002010000034700000211B6BE4A2B_png| - -At this stage, the library is included on your project and you can start -communicating with the Nextcloud server. - -Include the library as a subproject -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Follow these steps if this is the desired method. - -5. Add the file ``Nextcloud iOS library.xcodeproj`` to the project via drag and -drop. - -|100000000000030C000001E61DFDBF76_png| - -6. Within the project, navigate to the “Build Phases” tab. Under the “Target -Dependencies” section, select the ‘+’ and choose the library target. - -|100000000000030C000001E7A7A01884_png| - -7. Link the library file to the project target. Under the “Build Phases” tab, -select the ‘+’ under the “Link Binary with Libraries” section and select the -library file. - -|100000000000030C000001E8AB4C3306_png| - -8. Add the flag ``-Obj-C`` to “Other Linker Flags” under the project target on -the “Build Settings” tab. - -|100000000000030C000001ECB85120C2_png| - -9. Finally add the path of the library headers. Under the “Build Settings” -tab, add the path under the “Header Search Paths” option. - -|100000000000030C000001E637605044_png| - -Sources -------- - -* `Creating a static library in iOS tutorial (raywenderlich.com)`_ -* `Apple iOS static library documentation`_ - -.. |100000000000030C000001E61DFDBF76_png| image:: images/100000000000030C000001E61DFDBF76.png - :width: 16.51cm - :height: 10.285cm -.. |100002010000034700000211B6BE4A2B_png| image:: images/100002010000034700000211B6BE4A2B.png - :width: 16.261cm - :height: 10.246cm -.. |100000000000030C000001E7A7A01884_png| image:: images/100000000000030C000001E7A7A01884.png - :width: 16.51cm - :height: 12.023cm -.. |10000201000003480000020EC688993D_png| image:: images/10000201000003480000020EC688993D.png - :width: 16.51cm - :height: 10.329cm -.. |100000000000030C000001E8AB4C3306_png| image:: images/100000000000030C000001E8AB4C3306.png - :width: 14.605cm - :height: 9.137cm -.. |10000201000003430000020C65A3C5A7_png| image:: images/10000201000003430000020C65A3C5A7.png - :width: 16.51cm - :height: 10.358cm -.. |100000000000030C000001E637605044_png| image:: images/100000000000030C000001E637605044.png - :width: 14.605cm - :height: 9.098cm -.. |100000000000030C000001ECB85120C2_png| image:: images/100000000000030C000001ECB85120C2.png - :width: 14.605cm - :height: 9.211cm - -.. _`Creating a static library in iOS tutorial (raywenderlich.com)`: http://www.raywenderlich.com/41377/creating-a-static-library-in-ios-tutorial -.. _`Apple iOS static library documentation`: https://developer.apple.com/library/ios/technotes/iOSStaticLibraries/Articles/configuration.html#/apple_ref/doc/uid/TP40012554-CH3-SW2 diff --git a/developer_manual/testing/index.rst b/developer_manual/testing/index.rst deleted file mode 100644 index 2f4bfbe45..000000000 --- a/developer_manual/testing/index.rst +++ /dev/null @@ -1,82 +0,0 @@ -==================== -Nextcloud Test Pilots -==================== - -.. toctree:: - :maxdepth: 2 - :hidden: - - -The Nextcloud Test Pilots help to test and improve different server and client setups with Nextcloud. - -Why do you want to join ------------------------ -There are many different setups and people have different interests. If we want Nextcloud to run well on NginX for instance someone has to test this configuration. - -Furthermore, during bug fixing the Nextcloud developers often do not have the possibility to reproduce the bug in a given environment nor they are able confirm that it was fixed. As a member of the Test Pilot Team you could act as a contact person for a specific area to help developers **fix the bugs you care about**. Testing Nextcloud before it is released is the best way of making sure it does what you need it to! - -Another benefit is a closer relationship to the developers: **You know what people are responsible for which parts** and it is easier to get help. - -If you want you will be listed as an active contributor on the `owncloud.org `_ page. - - -Who can join ------------- -Anyone who is interested in improving the quality on his/her setup and is willing to communicate with developers and other testers. - -How do you join ---------------- -Simply register on the `testpilot mailing list `_ and send an introduction of your personal setup and interests to `testpilots@owncloud.org `_ - -You can also join the **#owncloud-testing** channel on **irc.freenode.net** but keep in mind that we may take longer to answer ;) - -For further questions or help you can also send a mail to: - -* freitag@owncloud.com (IRC: dragotin) -* posselt@owncloud.com (IRC: Raydiation) - -What do you do --------------- -You will receive mails from the mailinglist and also from the bug tracker if developers need your help. Also there will be announcements of new releases and preview releases on the mailing list which give you the possibility to test releases early on and help developers to fix them. - -We are looking forward to working with you :) - -How do you test ---------------- -Testing follows these steps: - -* Set up your testing environment -* Pick something to test -* Test it -* Back to 2 until something unexpected/bad happens -* Check if what you found is really a bug -* File the bug - -Installing Nextcloud -------------------- -Testing starts with setting up a testing environment. We urge you to not put your production data on testing -releases unless you have a backup somewhere! - -Start by installing Nextcloud, either on real hardware or in a VM. - -You can find instructions for installation in the `admin documentation <../../admin_manual/#installation>`_. - -Please note that we are still working on the documentation and if you bump into a problem, you can -`help us fix it `_. Small things can be edited straight on github. - -The Real Testing ----------------- -Testing is a matter of trying out some scenarios you decide or were asked to test, for example, sharing a folder -and mounting it on another Nextcloud instance. If it works – awesome, move on. If it doesn't, find out -as much as you can about why it doesn't and use that for a bug report. - -This is the stage where you should see if your issue is already reported by checking the issue -tracker. It might even be fixed, sometimes! It can also be fruitful to contact the -`developers on irc `_. Tell them you're testing Nextcloud -and share what problem you bumped into. Or just ask on the test-pilots mailing list. - -Finally, if the issue you bump into is a clear bug and the developers are not aware of it, file it as a new issue. See :doc:`../bugtracker/index` - - - - diff --git a/user_manual/files/access_webdav.rst b/user_manual/files/access_webdav.rst index 670daf4d8..afdff30fb 100644 --- a/user_manual/files/access_webdav.rst +++ b/user_manual/files/access_webdav.rst @@ -410,7 +410,7 @@ Solution #. Click through until you get to the certificate error in the browser status line. #. View the cert, then from the Details tab, select Copy to File. - #. Save to the desktop with an arbitrary name, for example ``myOwnCloud.cer``. + #. Save to the desktop with an arbitrary name, for example ``myNextcloud.cer``. #. Start, Run, MMC. #. File, Add/Remove Snap-In. #. Select Certificates, Click Add, My User Account, then Finish, then OK. @@ -505,7 +505,6 @@ To get the properties of files in the root folder: .. _KB2123563: https://support.microsoft.com/kb/2123563 .. _in your file manager: http://en.wikipedia.org/wiki/Webdav#WebDAV_client_applications .. _ownCloud sync clients: https://docs.nextcloud.org/desktop/2.1/ -.. _Mount ownCloud to a local folder without sync: https://nextcloud.com/use/webdav/ .. _Android: https://github.com/nextcloud/android .. _WebDAV Navigator: http://seanashton.net/webdav/ .. _Android devices: https://play.google.com/store/apps/details?id=com.schimera.webdavnavlite diff --git a/user_manual/files/desktop_mobile_sync.rst b/user_manual/files/desktop_mobile_sync.rst index f92b00e60..60d76be04 100644 --- a/user_manual/files/desktop_mobile_sync.rst +++ b/user_manual/files/desktop_mobile_sync.rst @@ -26,5 +26,5 @@ Visit your Personal page in your Nextcloud Web interface to find download links for Android and iOS mobile sync clients. Or, visit the `Nextcloud download page `_. -Visit the `Nextcloud documentation page `_ to read +Visit the `Nextcloud documentation page `_ to read the mobile apps user manuals.