[Pkg-owncloud-commits] [owncloud] 14/18: Imported Upstream version 8.1.3~dfsg
David Prévot
taffit at moszumanska.debian.org
Sat Sep 19 14:16:21 UTC 2015
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch stable8
in repository owncloud.
commit adecb3d2984c12b3bad4df623dc1948d095860c7
Merge: 9b4200a 015323c
Author: David Prévot <taffit at debian.org>
Date: Wed Sep 16 09:38:13 2015 -0400
Imported Upstream version 8.1.3~dfsg
.htaccess | 2 +-
apps/files_sharing/lib/mountprovider.php | 6 --
.../lib/propagation/recipientpropagator.php | 8 ++
apps/files_sharing/lib/sharedmount.php | 16 ++-
apps/files_sharing/lib/sharedstorage.php | 7 +-
.../external_storage_configuration_gui.txt | 15 ---
.../external_storage_configuration_gui.html | 13 ---
core/doc/user/_sources/pim/contacts.txt | 2 +-
core/doc/user/pim/contacts.html | 2 +-
lib/base.php | 1 +
lib/private/app.php | 2 +-
lib/private/share/hooks.php | 115 ++++++++++++++++-----
lib/private/share/share.php | 2 +
version.php | 6 +-
14 files changed, 122 insertions(+), 75 deletions(-)
diff --cc core/doc/admin/_sources/configuration_files/external_storage_configuration_gui.txt
index f8532da,0000000..502e0bd
mode 100644,000000..100644
--- a/core/doc/admin/_sources/configuration_files/external_storage_configuration_gui.txt
+++ b/core/doc/admin/_sources/configuration_files/external_storage_configuration_gui.txt
@@@ -1,414 -1,0 +1,399 @@@
+==================================
+Configuring External Storage (GUI)
+==================================
+
+The External Storage Support application enables you to mount external storage
+services and devices as secondary ownCloud storage devices. You may also allow
+users to mount their own external storage services.
+
+All of these connect to a LAN ownCloud server that is not publicly accessible,
+with one exception: Google Drive requires an ownCloud server with a registered
+domain name that is accessible over the Internet.
+
+`Video: How to Configure External Storage in ownCloud Server 8.1
+<https://youtu.be/uezzFDRnoPY>`_
+
+.. figure:: images/video_externalstorage.png
+ :target: https://youtu.be/uezzFDRnoPY
+
+New Settings Options
+--------------------
+
+Hover your cursor to the right of any external mount configuration to expose
+the settings button and trashcan. Click the trashcan to delete the
+mountpoint. The settings button allows you to configure each mountpoint
+individually with the following options:
+
+* Encryption
+* Previews
+* Check for changes Never, Once every direct access, or Every time the
+ filesystem is Used.
+
+.. figure:: ../images/encryption13.png
+
+Supported mounts
+----------------
+
+ownCloud admins may mount these external storage services and devices:
+
+* Local
+* Amazon S3 and S3 compliant
+* Dropbox
+* FTP/SFTP
+* Google Drive
+* OpenStack Object Storage
+* SMB/CIFS
+* SMB/CIFS using OC login
+* ownCloud
+* WebDAV
+
+ownCloud users can be given permission to mount any of these, except local
+storage.
+
+.. note:: A non-blocking or correctly configured SELinux setup is needed
+ for these backends to work. Please refer to the :ref:`selinux-config-label`.
+
+Enabling External Storage Support
+---------------------------------
+
+The ``External storage support`` application is enabled on the ``Apps`` page.
+
+.. figure:: ../images/external-storage-app-enable.png
+
+After enabling it, go to your ``Admin`` page to set up your external
+storage mounts.
+
+.. figure:: ../images/external-storage-app-add.png
+
+When your configuration is correct you'll see a green light at the left, and if
+it isn't you'll see a red light.
+
+Check ``Enable User External Storage`` to allow your users to mount their own
+external storage services, and check the services you want to allow.
+
+.. figure:: ../images/external-storage-app-usermounts.png
+
+After creating your external storage mounts, you can share them and control
+permissions just like any other ownCloud share.
+
+Using self-signed certificates
+------------------------------
+
+When using self-signed certificates for external storage mounts the certificate
+needs to be imported in the personal settings of the user. Please refer to `this <http://ownclouden.blogspot.de/2014/11/owncloud-https-external-mount.html>`_
+blogpost for more information.
+
+Adding files to external storages
+---------------------------------
+
+In general it is recommended to configure the background job ``Webcron`` or
+``Cron`` as described in :doc:`../configuration_server/background_jobs_configuration`
+so ownCloud is able to detect files added to your external storages without the need
+for a user to be browsing your ownCloud installation.
+
+Please also be aware that ownCloud might not always be able to find out what has been
+changed remotely (files changed without going through ownCloud), especially
+when it's very deep in the folder hierarchy of the external storage.
+
+You might need to setup a cron job that runs ``sudo -u www-data php occ files:scan --all``
+(or replace "--all" with the user name, see also :doc:`../configuration_server/occ_command`)
+to trigger a rescan of the user's files periodically (for example every 15 minutes), which includes
+the mounted external storage.
+
+Local Storage
+-------------
+
+Use this to mount any directory on your ownCloud server that is outside of your
+ownCloud ``data/`` directory. This directory must be readable and writable by
+your HTTP server user.
+
+In the ``Folder name`` field enter the folder name that you want to appear on
+your ownCloud ``Files`` page.
+
+In the ``Configuration`` field enter the full filepath of the directory you
+want to mount.
+
+In the ``Available for`` field enter the users or groups who have permission to
+access the mount.
+
+.. figure:: ../images/external-storage-app-local.png
+
+Amazon S3
+---------
+
+All you need to connect your Amazon S3 buckets to ownCloud is your S3 Access
+Key, Secret Key, and your bucket name.
+
+In the ``Folder name`` field enter the folder name that you want to appear on
+your ownCloud ``Files`` page.
+
+In the ``Access Key`` field enter your S3 Access Key.
+
+In the ``Secret Key`` field enter your S3 Secret Key.
+
+In the ``Bucket`` field enter the name of your S3 bucket you want to share.
+
+In the ``Available for`` field enter the users or groups who have permission to
+access your S3 mount.
+
+The hostname, port, and region of your S3 server are optional; you will need
+to use these for non-Amazon S3-compatible servers.
+
+.. figure:: ../images/external-storage-amazons3.png
+
+Dropbox
+-------
+
+Connecting Dropbox is a little more work because you have to create a Dropbox
+app. Log into the `Dropbox Developers page <http://www.dropbox.com/developers>`_
+and click ``App Console``:
+
+.. figure:: ../images/external-storage-dropbox.png
+
+If you have not already created any Dropbox apps it will ask you to accept
+their terms and conditions. Then you are presented with the choice to create
+either a Drop-ins App or a Dropbox API App. Click ``Dropbox API App``, and then
+check:
+
+* Files and datastores.
+* No -- My app needs access to files already on Dropbox.
+* All file types -- My app needs access to a user's full Dropbox. Only
+ supported via the CoreAPI.
+
+Then enter whatever name you want for your app.
+
+.. figure:: ../images/external-storage-dropbox-app.png
+
+Now click the ``Create App`` button. Under ``Status``, do not click
+``Development (Apply for production status)`` because that is for apps that you
+want to release publicly.
+
+Click ``Enable additional users`` to allow multiple oC users to use your new
+Dropbox share.
+
+Note your App key and App secret, which you will enter in the External Storage
+form on your ownCloud Admin page.
+
+.. figure:: ../images/external-storage-dropbox-configapp.png
-
- You need two ``Redirect URIs``. You may use ``localhost`` as the hostname for
- testing because you don't need to use HTTPS, but this is not recommended for
- production use because it sends all traffic in the clear::
-
- http://localhost/owncloud/index.php/settings/personal
- http://localhost/owncloud/index.php/settings/admin
-
- HTTPS is recommended for production use to encrypt your sessions::
-
- https://localhost/owncloud/index.php/settings/personal
- https://localhost/owncloud/index.php/settings/admin
-
- https://example.com/owncloud/index.php/settings/personal
- https://example.com/owncloud/index.php/settings/admin
+
+Your ownCloud configuration requires only the local mount name, the App Key and
+the App Secret, and which users or groups have access to the share.
+
+.. figure:: ../images/external-storage-dropbox-oc.png
+
+You must be logged into Dropbox, and when ownCloud successfully verifies your
+connection Dropbox will ask for verification to connect to your Dropbox
+account. Click ``Allow``, and you're done.
+
+.. figure:: ../images/external-storage-dropbox-allowshare.png
+
+FTP/FTPS/SFTP
+-------------
+
+Connecting to an FTP server requires:
+
+* Whatever name you want for your local mountpoint.
+* The URL of your FTP server, and optionally the port number.
+* FTP server username and password.
+* Remote Subfolder, the FTP directory to mount in ownCloud. ownCloud defaults to the root
+ directory. When you specify a different directory you must leave off the
+ leading slash. For example, if you want to connect your
+ ``public_html/images`` directory, then type it exactly like that.
+* Choose whether to connect in the clear with ``ftp://``, or to encrypt your
+ FTP session with SSL/TLS over ``ftps://`` (Your FTP server must be
+ configured to support ``ftps://``)
+* Enter the ownCloud users or groups who are allowed to access the share.
+
+.. note:: The external storage ``FTP/FTPS/SFTP`` needs the ``allow_url_fopen`` PHP
+ setting to be set to ``1``. When having connection problems make sure that it is
+ not set to ``0`` in your ``php.ini``.
+
+.. figure:: ../images/external-storage-ftp.png
+
+SFTP uses SSH rather than SSL, as FTPS does, so your SFTP sessions are always
+safely tucked inside an SSH tunnel. To connect an SFTP server you need:
+
+* Whatever name you want for your local mountpoint.
+* The URL of your SFTP server.
+* SFTP server username and password.
+* Remote Subfolder, the SFTP directory to mount in ownCloud.
+* The ownCloud users or groups who are allowed to access the share.
+
+Google Drive
+------------
+
+All applications that access a Google API must be registered through the
+`Google Cloud Console <https://console.developers.google.com/>`_. Follow along carefully
+because the Google interface is a bit of a maze and it's easy to get lost.
+
+.. note:: Your ownCloud server must have a registered domain name and be
+ accessible over the Internet; Google Drive will not connect to a LAN-only
+ server.
+
+If you already have a Google account, such as Groups, Drive, or Mail, you can
+use your existing login to log into the Google Cloud Console. After logging in
+click the ``Create Project`` button.
+
+.. figure:: ../images/external-storage-google-drive.png
+
+Give your project a name, and either accept the default ``Project ID`` or create
+your own, then click the ``Create`` button.
+
+.. figure:: ../images/external-storage-google-drive1.png
+
+The next screen is your ``Project Dashboard``. The Activities screen on the
+bottom left shows your current status. In the left sidebar click ``APIs
+& Auth > APIs``, and then click ``Google Apps APIs > Drive API``.
+
+.. figure:: ../images/external-storage-google-drive2.png
+
+Before you click ``Enable API`` you might want to click on ``Learn more`` or
+``Explore this API``. Then click ``Enable API``.
+
+.. figure:: ../images/external-storage-google-drive3.png
+
+``Enable API`` takes you to the Drive API dashboard, with tabs for
+``Overview, Usage, Quota``, and ``Drive UI Integration``. Feel free to
+explore, and then go to ``APIs & Auth > Credentials``. This screen has two
+sections: ``0Auth`` and ``Public API Access``.
+
+.. figure:: ../images/external-storage-google-drive4.png
+
+
+Click ``0Auth > Create New Client ID``. The next screen that opens is ``Create
+Client ID``. Check ``Web Application`` and click the ``Configure Consent
+Screen`` button. You'll see the consent screen the first time you create a
+mountpoint for your Google Drive in owncloud.
+
+.. figure:: ../images/external-storage-google-drive5.png
+
+There are just a few required fields on the Consent Screen form: the email
+address of your Google account and your app name. The optional fields include
+your site URL, a link to your logo, and links to your privacy and terms of
+service policies. Your logo must be a hosted file because there is no upload
+dialogue. Click ``Save`` when you're finished.
+
+.. figure:: ../images/external-storage-google-drive6.png
+
+Now you should be on the ``Edit Client Settings`` screen. The ``Authorized
+JavaScript Origins`` is your root domain, for example
+``https://www.example.com``. You need two ``Authorized Redirect URIs``, which
+must be in the following form::
+
+ https://example.com/owncloud/index.php/settings/personal
+ https://example.com/owncloud/index.php/settings/admin
+
+Replace ``https://example.com/owncloud/`` with your own ownCloud server URL,
+then click ``Save``.
+
+.. figure:: ../images/external-storage-google-drive10.png
+
+This should take you back to the 0Auth screen, with a summary of your settings
+and editing buttons. This contains your ``Client ID`` and ``Client Secret``,
+which you need to set up your ownCloud connection.
+
+.. figure:: ../images/external-storage-google-drive11.png
+
+Go to your ``Admin`` page in ownCloud, create your new folder name, enter the
+Client ID and Client Secret, select your users and groups, and click ``Grant
+Access``.
+
+.. figure:: ../images/external-storage-google-drive8.png
+
+Google will open a dialogue asking for permission to connect to ownCloud. Click
+``Accept``. When you see the green light confirming a successful connection
+you're finished.
+
+SMB/CIFS
+--------
+
+You can mount SMB/CIFS file shares on ownCloud servers that run on Linux. This
+requires ``php5-libsmbclient`` (`installation instructions
+<https://software.opensuse.org/download.html?project=isv%3AownCloud%3Acommunity%
+3A8.1&package=php5-libsmbclient>`_). SMB/CIFS file servers include any Windows
+file share, Samba servers on Linux and other Unix-type operating systems, and
+NAS appliances.
+
+You need the following information:
+
+* Folder name -- Whatever name you want for your local mountpoint.
+* Host -- The URL of the Samba server.
+* Username -- The username or domain/username used to login to the Samba server.
+* Password -- The password to login to the Samba server.
+* Share -- The share on the Samba server to mount.
+* Remote Subfolder -- The remote subfolder inside the Samba share to mount
+ (optional, defaults to ``/``). To assign the ownCloud logon username
+ automatically to the subfolder, use ``$user`` instead of a particular
+ subfolder name. And finally, the ownCloud users and groups who get access
+ to the share.
+
+.. figure:: ../images/external-storage-smb.png
+
+SMB/CIFS using OC login
+-------------------------
+
+This works the same way as setting up a SMB/CIFS mount, except you can use your
+ownCloud logins intead of the SMB/CIFS server logins. To make this work, your
+ownCloud users need the same login and password as on the SMB/CIFS server.
+
+.. note:: Shares set up with ``SMB/CIFS using OC login`` cannot be shared in
+ ownCloud. If you need to share your SMB/CIFS mount, then use the SMB/CIFS
+ mount without oC login.
+
+ownCloud and WebDAV
+-------------------
+
+Use these to mount a directory from any WebDAV server, or another
+ownCloud server.
+
+* Folder name -- Whatever name you want for your local mountpoint.
+* URL -- The URL of the WebDAV or ownCloud server.
+* Username and password for the remote server
+* Remote Subfolder -- The remote subfolder you want to mount (optional, defaults
+ to ``/``)
+* Secure ``https://`` - Whether to use ``https://`` to connect to the WebDav
+ server instead of ``http://`` (We always recommend ``https://`` for
+ security)
+
+.. figure:: ../images/external-storage-webdav.png
+
+.. Note:: CPanel users should install `Web Disk
+ <https://documentation.cpanel.net/display/ALD/Web+Disk>`_ to enable WebDAV
+ functionality.
+
+OpenStack Object Storage
+------------------------
+
+Use this to mount a container on an OpenStack Object Storage server. You need
+the following information:
+
+* Username
+* Bucket
+* Region
+* API Key
+* Tenantname
+* Password
+* Service Name
+* URL of identity Endpoint
+* Timeout of HTTP request
+
+Configuration File
+------------------
+
+The configuration of mounts created within the External Storage App are stored
+in the ``data/mount.json`` file. This file contains all settings in JSON
+(JavaScript Object Notation) format. Two different types of entries exist:
+
+* Group mounts: Each entry configures a mount for each user in group.
+* User mount: Each entry configures a mount for a single user or all users.
+
+For each type, there is a JSON array with the user/group name as key and an
+array of configuration values as the value. Each entry consist of the class name
+of the storage backend and an array of backend specific options (described
+above) and will be replaced by the user login.
+
+Although configuration may be done by making modifications to the
+``mount.json`` file, it is recommended to use the Web-GUI in the administrator
+panel (as described in the above section) to add, remove, or modify mount
+options to prevent any problems. See :doc:`external_storage_configuration` for
+configuration examples.
diff --cc core/doc/admin/configuration_files/external_storage_configuration_gui.html
index 1e67078,0000000..90e6d0d
mode 100644,000000..100644
--- a/core/doc/admin/configuration_files/external_storage_configuration_gui.html
+++ b/core/doc/admin/configuration_files/external_storage_configuration_gui.html
@@@ -1,580 -1,0 +1,567 @@@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Configuring External Storage (GUI) — ownCloud Server Administration Manual 8.1 documentation</title>
+
+ <link rel="stylesheet" href="../_static/style.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/style.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
+
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '8.1',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/bootstrap.js"></script>
+ <link rel="top" title="ownCloud Server Administration Manual 8.1 documentation" href="../index.html" />
+ <link rel="up" title="File Sharing and Management" href="index.html" />
+ <link rel="next" title="Configuring External Storage (Configuration File)" href="external_storage_configuration.html" />
+ <link rel="prev" title="Providing Default Files" href="default_files_configuration.html" />
+<script type="text/javascript">
+(function () {
+ /**
+ * Patch TOC list.
+ *
+ * Will mutate the underlying span to have a correct ul for nav.
+ *
+ * @param $span: Span containing nested UL's to mutate.
+ * @param minLevel: Starting level for nested lists. (1: global, 2: local).
+ */
+ var patchToc = function ($ul, minLevel) {
+ var findA;
+
+ // Find all a "internal" tags, traversing recursively.
+ findA = function ($elem, level) {
+ var level = level || 0,
+ $items = $elem.find("> li > a.internal, > ul, > li > ul");
+
+ // Iterate everything in order.
+ $items.each(function (index, item) {
+ var $item = $(item),
+ tag = item.tagName.toLowerCase(),
+ pad = 15 + ((level - minLevel) * 10);
+
+ if (tag === 'a' && level >= minLevel) {
+ // Add to existing padding.
+ $item.css('padding-left', pad + "px");
+ console.log(level, $item, 'padding-left', pad + "px");
+ } else if (tag === 'ul') {
+ // Recurse.
+ findA($item, level + 1);
+ }
+ });
+ };
+
+ console.log("HERE");
+ findA($ul);
+ };
+
+ $(document).ready(function () {
+ // Add styling, structure to TOC's.
+ $(".dropdown-menu").each(function () {
+ $(this).find("ul").each(function (index, item){
+ var $item = $(item);
+ $item.addClass('unstyled');
+ });
+ $(this).find("li").each(function () {
+ $(this).parent().append(this);
+ });
+ });
+
+ // Patch in level.
+ patchToc($("ul.globaltoc"), 2);
+ patchToc($("ul.localtoc"), 2);
+
+ // Enable dropdown.
+ $('.dropdown-toggle').dropdown();
+ });
+}());
+</script>
+
+ </head>
+ <body>
+
+
+<div class="container">
+ <div class="content">
+ <div class="page-header">
+ <h1><a href="../contents.html">ownCloud Server Administration Manual</a></h1>
+
+ </div>
+
+ <div class="row">
+ <div class="span3">
+ <div class="sidebar">
+ <div class="well">
+ <div class="menu-support-container">
+ <ul id="menu-support" class="menu">
+ <ul>
+
+<li><a href="../contents.html">Table of Contents</a></li>
+ </ul>
+ <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../index.html">ownCloud 8.1 Server Administration Manual Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../release_notes.html">ownCloud 8.1 Release Notes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../whats_new_admin.html">What’s New for Admins in ownCloud 8.1</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation/index.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration_user/index.html">User Management</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">File Sharing and Management</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="file_sharing_configuration.html">File Sharing</a></li>
+<li class="toctree-l2"><a class="reference internal" href="big_file_upload_configuration.html">Uploading big files > 512MB</a></li>
+<li class="toctree-l2"><a class="reference internal" href="collaborative_documents_configuration.html">Configuring the Collaborative Documents App</a></li>
+<li class="toctree-l2"><a class="reference internal" href="default_files_configuration.html">Providing Default Files</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="">Configuring External Storage (GUI)</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#new-settings-options">New Settings Options</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#supported-mounts">Supported mounts</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#enabling-external-storage-support">Enabling External Storage Support</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#using-self-signed-certificates">Using self-signed certificates</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#adding-files-to-external-storages">Adding files to external storages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#local-storage">Local Storage</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#amazon-s3">Amazon S3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#dropbox">Dropbox</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#ftp-ftps-sftp">FTP/FTPS/SFTP</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#google-drive">Google Drive</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#smb-cifs">SMB/CIFS</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#smb-cifs-using-oc-login">SMB/CIFS using OC login</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#owncloud-and-webdav">ownCloud and WebDAV</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#openstack-object-storage">OpenStack Object Storage</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#configuration-file">Configuration File</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="external_storage_configuration.html">Configuring External Storage (Configuration File)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="encryption_configuration.html">Encryption Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="files_locking_enabling.html">Using the Files Locking App</a></li>
+<li class="toctree-l2"><a class="reference internal" href="files_locking_transactional.html">Transactional File Locking</a></li>
+<li class="toctree-l2"><a class="reference internal" href="federated_cloud_sharing_configuration.html">Configuring Federated Cloud Sharing</a></li>
+<li class="toctree-l2"><a class="reference internal" href="previews_configuration.html">Previews Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="serving_static_files_configuration.html">Serving Static Files for Better Performance</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration_server/index.html">ownCloud Server Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration_database/index.html">Database Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../maintenance/index.html">Maintenance</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../operations/index.html">Operations</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../issues/index.html">Issues and Troubleshooting</a></li>
+</ul>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../enterprise_installation/index.html">Enterprise Subscription Installation (ES Only)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../enterprise_clients/index.html">Creating Branded ownCloud Clients (ES only)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../enterprise_external_storage/index.html">External Storage (ES only)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../enterprise_user_management/index.html">User Management (ES only)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../enterprise_files_drop/index.html">Enabling Anonymous Uploads with Files Drop (ES Only)</a></li>
+</ul>
+
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="span9">
+ <div class="page-content">
+
+ <div class="section" id="configuring-external-storage-gui">
+<h1>Configuring External Storage (GUI)<a class="headerlink" href="#configuring-external-storage-gui" title="Permalink to this headline">¶</a></h1>
+<p>The External Storage Support application enables you to mount external storage
+services and devices as secondary ownCloud storage devices. You may also allow
+users to mount their own external storage services.</p>
+<p>All of these connect to a LAN ownCloud server that is not publicly accessible,
+with one exception: Google Drive requires an ownCloud server with a registered
+domain name that is accessible over the Internet.</p>
+<p><a class="reference external" href="https://youtu.be/uezzFDRnoPY">Video: How to Configure External Storage in ownCloud Server 8.1</a></p>
+<div class="figure">
+<a class="reference external image-reference" href="https://youtu.be/uezzFDRnoPY"><img alt="../_images/video_externalstorage.png" src="../_images/video_externalstorage.png" /></a>
+</div>
+<div class="section" id="new-settings-options">
+<h2>New Settings Options<a class="headerlink" href="#new-settings-options" title="Permalink to this headline">¶</a></h2>
+<p>Hover your cursor to the right of any external mount configuration to expose
+the settings button and trashcan. Click the trashcan to delete the
+mountpoint. The settings button allows you to configure each mountpoint
+individually with the following options:</p>
+<ul class="simple">
+<li>Encryption</li>
+<li>Previews</li>
+<li>Check for changes Never, Once every direct access, or Every time the
+filesystem is Used.</li>
+</ul>
+<div class="figure">
+<img alt="../_images/encryption13.png" src="../_images/encryption13.png" />
+</div>
+</div>
+<div class="section" id="supported-mounts">
+<h2>Supported mounts<a class="headerlink" href="#supported-mounts" title="Permalink to this headline">¶</a></h2>
+<p>ownCloud admins may mount these external storage services and devices:</p>
+<ul class="simple">
+<li>Local</li>
+<li>Amazon S3 and S3 compliant</li>
+<li>Dropbox</li>
+<li>FTP/SFTP</li>
+<li>Google Drive</li>
+<li>OpenStack Object Storage</li>
+<li>SMB/CIFS</li>
+<li>SMB/CIFS using OC login</li>
+<li>ownCloud</li>
+<li>WebDAV</li>
+</ul>
+<p>ownCloud users can be given permission to mount any of these, except local
+storage.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">A non-blocking or correctly configured SELinux setup is needed
+for these backends to work. Please refer to the <a class="reference internal" href="../installation/selinux_configuration.html#selinux-config-label"><em>SELinux Configuration</em></a>.</p>
+</div>
+</div>
+<div class="section" id="enabling-external-storage-support">
+<h2>Enabling External Storage Support<a class="headerlink" href="#enabling-external-storage-support" title="Permalink to this headline">¶</a></h2>
+<p>The <tt class="docutils literal"><span class="pre">External</span> <span class="pre">storage</span> <span class="pre">support</span></tt> application is enabled on the <tt class="docutils literal"><span class="pre">Apps</span></tt> page.</p>
+<div class="figure">
+<img alt="../_images/external-storage-app-enable.png" src="../_images/external-storage-app-enable.png" />
+</div>
+<p>After enabling it, go to your <tt class="docutils literal"><span class="pre">Admin</span></tt> page to set up your external
+storage mounts.</p>
+<div class="figure">
+<img alt="../_images/external-storage-app-add.png" src="../_images/external-storage-app-add.png" />
+</div>
+<p>When your configuration is correct you’ll see a green light at the left, and if
+it isn’t you’ll see a red light.</p>
+<p>Check <tt class="docutils literal"><span class="pre">Enable</span> <span class="pre">User</span> <span class="pre">External</span> <span class="pre">Storage</span></tt> to allow your users to mount their own
+external storage services, and check the services you want to allow.</p>
+<div class="figure">
+<img alt="../_images/external-storage-app-usermounts.png" src="../_images/external-storage-app-usermounts.png" />
+</div>
+<p>After creating your external storage mounts, you can share them and control
+permissions just like any other ownCloud share.</p>
+</div>
+<div class="section" id="using-self-signed-certificates">
+<h2>Using self-signed certificates<a class="headerlink" href="#using-self-signed-certificates" title="Permalink to this headline">¶</a></h2>
+<p>When using self-signed certificates for external storage mounts the certificate
+needs to be imported in the personal settings of the user. Please refer to <a class="reference external" href="http://ownclouden.blogspot.de/2014/11/owncloud-https-external-mount.html">this</a>
+blogpost for more information.</p>
+</div>
+<div class="section" id="adding-files-to-external-storages">
+<h2>Adding files to external storages<a class="headerlink" href="#adding-files-to-external-storages" title="Permalink to this headline">¶</a></h2>
+<p>In general it is recommended to configure the background job <tt class="docutils literal"><span class="pre">Webcron</span></tt> or
+<tt class="docutils literal"><span class="pre">Cron</span></tt> as described in <a class="reference internal" href="../configuration_server/background_jobs_configuration.html"><em>Defining Background Jobs</em></a>
+so ownCloud is able to detect files added to your external storages without the need
+for a user to be browsing your ownCloud installation.</p>
+<p>Please also be aware that ownCloud might not always be able to find out what has been
+changed remotely (files changed without going through ownCloud), especially
+when it’s very deep in the folder hierarchy of the external storage.</p>
+<p>You might need to setup a cron job that runs <tt class="docutils literal"><span class="pre">sudo</span> <span class="pre">-u</span> <span class="pre">www-data</span> <span class="pre">php</span> <span class="pre">occ</span> <span class="pre">files:scan</span> <span class="pre">--all</span></tt>
+(or replace “–all” with the user name, see also <a class="reference internal" href="../configuration_server/occ_command.html"><em>Using the occ Command</em></a>)
+to trigger a rescan of the user’s files periodically (for example every 15 minutes), which includes
+the mounted external storage.</p>
+</div>
+<div class="section" id="local-storage">
+<h2>Local Storage<a class="headerlink" href="#local-storage" title="Permalink to this headline">¶</a></h2>
+<p>Use this to mount any directory on your ownCloud server that is outside of your
+ownCloud <tt class="docutils literal"><span class="pre">data/</span></tt> directory. This directory must be readable and writable by
+your HTTP server user.</p>
+<p>In the <tt class="docutils literal"><span class="pre">Folder</span> <span class="pre">name</span></tt> field enter the folder name that you want to appear on
+your ownCloud <tt class="docutils literal"><span class="pre">Files</span></tt> page.</p>
+<p>In the <tt class="docutils literal"><span class="pre">Configuration</span></tt> field enter the full filepath of the directory you
+want to mount.</p>
+<p>In the <tt class="docutils literal"><span class="pre">Available</span> <span class="pre">for</span></tt> field enter the users or groups who have permission to
+access the mount.</p>
+<div class="figure">
+<img alt="../_images/external-storage-app-local.png" src="../_images/external-storage-app-local.png" />
+</div>
+</div>
+<div class="section" id="amazon-s3">
+<h2>Amazon S3<a class="headerlink" href="#amazon-s3" title="Permalink to this headline">¶</a></h2>
+<p>All you need to connect your Amazon S3 buckets to ownCloud is your S3 Access
+Key, Secret Key, and your bucket name.</p>
+<p>In the <tt class="docutils literal"><span class="pre">Folder</span> <span class="pre">name</span></tt> field enter the folder name that you want to appear on
+your ownCloud <tt class="docutils literal"><span class="pre">Files</span></tt> page.</p>
+<p>In the <tt class="docutils literal"><span class="pre">Access</span> <span class="pre">Key</span></tt> field enter your S3 Access Key.</p>
+<p>In the <tt class="docutils literal"><span class="pre">Secret</span> <span class="pre">Key</span></tt> field enter your S3 Secret Key.</p>
+<p>In the <tt class="docutils literal"><span class="pre">Bucket</span></tt> field enter the name of your S3 bucket you want to share.</p>
+<p>In the <tt class="docutils literal"><span class="pre">Available</span> <span class="pre">for</span></tt> field enter the users or groups who have permission to
+access your S3 mount.</p>
+<p>The hostname, port, and region of your S3 server are optional; you will need
+to use these for non-Amazon S3-compatible servers.</p>
+<div class="figure">
+<img alt="../_images/external-storage-amazons3.png" src="../_images/external-storage-amazons3.png" />
+</div>
+</div>
+<div class="section" id="dropbox">
+<h2>Dropbox<a class="headerlink" href="#dropbox" title="Permalink to this headline">¶</a></h2>
+<p>Connecting Dropbox is a little more work because you have to create a Dropbox
+app. Log into the <a class="reference external" href="http://www.dropbox.com/developers">Dropbox Developers page</a>
+and click <tt class="docutils literal"><span class="pre">App</span> <span class="pre">Console</span></tt>:</p>
+<div class="figure">
+<img alt="../_images/external-storage-dropbox.png" src="../_images/external-storage-dropbox.png" />
+</div>
+<p>If you have not already created any Dropbox apps it will ask you to accept
+their terms and conditions. Then you are presented with the choice to create
+either a Drop-ins App or a Dropbox API App. Click <tt class="docutils literal"><span class="pre">Dropbox</span> <span class="pre">API</span> <span class="pre">App</span></tt>, and then
+check:</p>
+<ul class="simple">
+<li>Files and datastores.</li>
+<li>No – My app needs access to files already on Dropbox.</li>
+<li>All file types – My app needs access to a user’s full Dropbox. Only
+supported via the CoreAPI.</li>
+</ul>
+<p>Then enter whatever name you want for your app.</p>
+<div class="figure">
+<img alt="../_images/external-storage-dropbox-app.png" src="../_images/external-storage-dropbox-app.png" />
+</div>
+<p>Now click the <tt class="docutils literal"><span class="pre">Create</span> <span class="pre">App</span></tt> button. Under <tt class="docutils literal"><span class="pre">Status</span></tt>, do not click
+<tt class="docutils literal"><span class="pre">Development</span> <span class="pre">(Apply</span> <span class="pre">for</span> <span class="pre">production</span> <span class="pre">status)</span></tt> because that is for apps that you
+want to release publicly.</p>
+<p>Click <tt class="docutils literal"><span class="pre">Enable</span> <span class="pre">additional</span> <span class="pre">users</span></tt> to allow multiple oC users to use your new
+Dropbox share.</p>
+<p>Note your App key and App secret, which you will enter in the External Storage
+form on your ownCloud Admin page.</p>
+<div class="figure">
+<img alt="../_images/external-storage-dropbox-configapp.png" src="../_images/external-storage-dropbox-configapp.png" />
+</div>
- <p>You need two <tt class="docutils literal"><span class="pre">Redirect</span> <span class="pre">URIs</span></tt>. You may use <tt class="docutils literal"><span class="pre">localhost</span></tt> as the hostname for
- testing because you don’t need to use HTTPS, but this is not recommended for
- production use because it sends all traffic in the clear:</p>
- <div class="highlight-python"><pre>http://localhost/owncloud/index.php/settings/personal
- http://localhost/owncloud/index.php/settings/admin</pre>
- </div>
- <p>HTTPS is recommended for production use to encrypt your sessions:</p>
- <div class="highlight-python"><pre>https://localhost/owncloud/index.php/settings/personal
- https://localhost/owncloud/index.php/settings/admin
-
- https://example.com/owncloud/index.php/settings/personal
- https://example.com/owncloud/index.php/settings/admin</pre>
- </div>
+<p>Your ownCloud configuration requires only the local mount name, the App Key and
+the App Secret, and which users or groups have access to the share.</p>
+<div class="figure">
+<img alt="../_images/external-storage-dropbox-oc.png" src="../_images/external-storage-dropbox-oc.png" />
+</div>
+<p>You must be logged into Dropbox, and when ownCloud successfully verifies your
+connection Dropbox will ask for verification to connect to your Dropbox
+account. Click <tt class="docutils literal"><span class="pre">Allow</span></tt>, and you’re done.</p>
+<div class="figure">
+<img alt="../_images/external-storage-dropbox-allowshare.png" src="../_images/external-storage-dropbox-allowshare.png" />
+</div>
+</div>
+<div class="section" id="ftp-ftps-sftp">
+<h2>FTP/FTPS/SFTP<a class="headerlink" href="#ftp-ftps-sftp" title="Permalink to this headline">¶</a></h2>
+<p>Connecting to an FTP server requires:</p>
+<ul class="simple">
+<li>Whatever name you want for your local mountpoint.</li>
+<li>The URL of your FTP server, and optionally the port number.</li>
+<li>FTP server username and password.</li>
+<li>Remote Subfolder, the FTP directory to mount in ownCloud. ownCloud defaults to the root
+directory. When you specify a different directory you must leave off the
+leading slash. For example, if you want to connect your
+<tt class="docutils literal"><span class="pre">public_html/images</span></tt> directory, then type it exactly like that.</li>
+<li>Choose whether to connect in the clear with <tt class="docutils literal"><span class="pre">ftp://</span></tt>, or to encrypt your
+FTP session with SSL/TLS over <tt class="docutils literal"><span class="pre">ftps://</span></tt> (Your FTP server must be
+configured to support <tt class="docutils literal"><span class="pre">ftps://</span></tt>)</li>
+<li>Enter the ownCloud users or groups who are allowed to access the share.</li>
+</ul>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">The external storage <tt class="docutils literal"><span class="pre">FTP/FTPS/SFTP</span></tt> needs the <tt class="docutils literal"><span class="pre">allow_url_fopen</span></tt> PHP
+setting to be set to <tt class="docutils literal"><span class="pre">1</span></tt>. When having connection problems make sure that it is
+not set to <tt class="docutils literal"><span class="pre">0</span></tt> in your <tt class="docutils literal"><span class="pre">php.ini</span></tt>.</p>
+</div>
+<div class="figure">
+<img alt="../_images/external-storage-ftp.png" src="../_images/external-storage-ftp.png" />
+</div>
+<p>SFTP uses SSH rather than SSL, as FTPS does, so your SFTP sessions are always
+safely tucked inside an SSH tunnel. To connect an SFTP server you need:</p>
+<ul class="simple">
+<li>Whatever name you want for your local mountpoint.</li>
+<li>The URL of your SFTP server.</li>
+<li>SFTP server username and password.</li>
+<li>Remote Subfolder, the SFTP directory to mount in ownCloud.</li>
+<li>The ownCloud users or groups who are allowed to access the share.</li>
+</ul>
+</div>
+<div class="section" id="google-drive">
+<h2>Google Drive<a class="headerlink" href="#google-drive" title="Permalink to this headline">¶</a></h2>
+<p>All applications that access a Google API must be registered through the
+<a class="reference external" href="https://console.developers.google.com/">Google Cloud Console</a>. Follow along carefully
+because the Google interface is a bit of a maze and it’s easy to get lost.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">Your ownCloud server must have a registered domain name and be
+accessible over the Internet; Google Drive will not connect to a LAN-only
+server.</p>
+</div>
+<p>If you already have a Google account, such as Groups, Drive, or Mail, you can
+use your existing login to log into the Google Cloud Console. After logging in
+click the <tt class="docutils literal"><span class="pre">Create</span> <span class="pre">Project</span></tt> button.</p>
+<div class="figure">
+<img alt="../_images/external-storage-google-drive.png" src="../_images/external-storage-google-drive.png" />
+</div>
+<p>Give your project a name, and either accept the default <tt class="docutils literal"><span class="pre">Project</span> <span class="pre">ID</span></tt> or create
+your own, then click the <tt class="docutils literal"><span class="pre">Create</span></tt> button.</p>
+<div class="figure">
+<img alt="../_images/external-storage-google-drive1.png" src="../_images/external-storage-google-drive1.png" />
+</div>
+<p>The next screen is your <tt class="docutils literal"><span class="pre">Project</span> <span class="pre">Dashboard</span></tt>. The Activities screen on the
+bottom left shows your current status. In the left sidebar click <tt class="docutils literal"><span class="pre">APIs</span>
+<span class="pre">&</span> <span class="pre">Auth</span> <span class="pre">></span> <span class="pre">APIs</span></tt>, and then click <tt class="docutils literal"><span class="pre">Google</span> <span class="pre">Apps</span> <span class="pre">APIs</span> <span class="pre">></span> <span class="pre">Drive</span> <span class="pre">API</span></tt>.</p>
+<div class="figure">
+<img alt="../_images/external-storage-google-drive2.png" src="../_images/external-storage-google-drive2.png" />
+</div>
+<p>Before you click <tt class="docutils literal"><span class="pre">Enable</span> <span class="pre">API</span></tt> you might want to click on <tt class="docutils literal"><span class="pre">Learn</span> <span class="pre">more</span></tt> or
+<tt class="docutils literal"><span class="pre">Explore</span> <span class="pre">this</span> <span class="pre">API</span></tt>. Then click <tt class="docutils literal"><span class="pre">Enable</span> <span class="pre">API</span></tt>.</p>
+<div class="figure">
+<img alt="../_images/external-storage-google-drive3.png" src="../_images/external-storage-google-drive3.png" />
+</div>
+<p><tt class="docutils literal"><span class="pre">Enable</span> <span class="pre">API</span></tt> takes you to the Drive API dashboard, with tabs for
+<tt class="docutils literal"><span class="pre">Overview,</span> <span class="pre">Usage,</span> <span class="pre">Quota</span></tt>, and <tt class="docutils literal"><span class="pre">Drive</span> <span class="pre">UI</span> <span class="pre">Integration</span></tt>. Feel free to
+explore, and then go to <tt class="docutils literal"><span class="pre">APIs</span> <span class="pre">&</span> <span class="pre">Auth</span> <span class="pre">></span> <span class="pre">Credentials</span></tt>. This screen has two
+sections: <tt class="docutils literal"><span class="pre">0Auth</span></tt> and <tt class="docutils literal"><span class="pre">Public</span> <span class="pre">API</span> <span class="pre">Access</span></tt>.</p>
+<div class="figure">
+<img alt="../_images/external-storage-google-drive4.png" src="../_images/external-storage-google-drive4.png" />
+</div>
+<p>Click <tt class="docutils literal"><span class="pre">0Auth</span> <span class="pre">></span> <span class="pre">Create</span> <span class="pre">New</span> <span class="pre">Client</span> <span class="pre">ID</span></tt>. The next screen that opens is <tt class="docutils literal"><span class="pre">Create</span>
+<span class="pre">Client</span> <span class="pre">ID</span></tt>. Check <tt class="docutils literal"><span class="pre">Web</span> <span class="pre">Application</span></tt> and click the <tt class="docutils literal"><span class="pre">Configure</span> <span class="pre">Consent</span>
+<span class="pre">Screen</span></tt> button. You’ll see the consent screen the first time you create a
+mountpoint for your Google Drive in owncloud.</p>
+<div class="figure">
+<img alt="../_images/external-storage-google-drive5.png" src="../_images/external-storage-google-drive5.png" />
+</div>
+<p>There are just a few required fields on the Consent Screen form: the email
+address of your Google account and your app name. The optional fields include
+your site URL, a link to your logo, and links to your privacy and terms of
+service policies. Your logo must be a hosted file because there is no upload
+dialogue. Click <tt class="docutils literal"><span class="pre">Save</span></tt> when you’re finished.</p>
+<div class="figure">
+<img alt="../_images/external-storage-google-drive6.png" src="../_images/external-storage-google-drive6.png" />
+</div>
+<p>Now you should be on the <tt class="docutils literal"><span class="pre">Edit</span> <span class="pre">Client</span> <span class="pre">Settings</span></tt> screen. The <tt class="docutils literal"><span class="pre">Authorized</span>
+<span class="pre">JavaScript</span> <span class="pre">Origins</span></tt> is your root domain, for example
+<tt class="docutils literal"><span class="pre">https://www.example.com</span></tt>. You need two <tt class="docutils literal"><span class="pre">Authorized</span> <span class="pre">Redirect</span> <span class="pre">URIs</span></tt>, which
+must be in the following form:</p>
+<div class="highlight-python"><pre>https://example.com/owncloud/index.php/settings/personal
+https://example.com/owncloud/index.php/settings/admin</pre>
+</div>
+<p>Replace <tt class="docutils literal"><span class="pre">https://example.com/owncloud/</span></tt> with your own ownCloud server URL,
+then click <tt class="docutils literal"><span class="pre">Save</span></tt>.</p>
+<div class="figure">
+<img alt="../_images/external-storage-google-drive10.png" src="../_images/external-storage-google-drive10.png" />
+</div>
+<p>This should take you back to the 0Auth screen, with a summary of your settings
+and editing buttons. This contains your <tt class="docutils literal"><span class="pre">Client</span> <span class="pre">ID</span></tt> and <tt class="docutils literal"><span class="pre">Client</span> <span class="pre">Secret</span></tt>,
+which you need to set up your ownCloud connection.</p>
+<div class="figure">
+<img alt="../_images/external-storage-google-drive11.png" src="../_images/external-storage-google-drive11.png" />
+</div>
+<p>Go to your <tt class="docutils literal"><span class="pre">Admin</span></tt> page in ownCloud, create your new folder name, enter the
+Client ID and Client Secret, select your users and groups, and click <tt class="docutils literal"><span class="pre">Grant</span>
+<span class="pre">Access</span></tt>.</p>
+<div class="figure">
+<img alt="../_images/external-storage-google-drive8.png" src="../_images/external-storage-google-drive8.png" />
+</div>
+<p>Google will open a dialogue asking for permission to connect to ownCloud. Click
+<tt class="docutils literal"><span class="pre">Accept</span></tt>. When you see the green light confirming a successful connection
+you’re finished.</p>
+</div>
+<div class="section" id="smb-cifs">
+<h2>SMB/CIFS<a class="headerlink" href="#smb-cifs" title="Permalink to this headline">¶</a></h2>
+<p>You can mount SMB/CIFS file shares on ownCloud servers that run on Linux. This
+requires <tt class="docutils literal"><span class="pre">php5-libsmbclient</span></tt> (<a class="reference external" href="https://software.opensuse.org/download.html?project=isv%3AownCloud%3Acommunity%3A8.1&package=php5-libsmbclient">installation instructions</a>). SMB/CIFS file servers include any Windows
+file share, Samba servers on Linux and other Unix-type operating systems, and
+NAS appliances.</p>
+<p>You need the following information:</p>
+<ul class="simple">
+<li>Folder name – Whatever name you want for your local mountpoint.</li>
+<li>Host – The URL of the Samba server.</li>
+<li>Username – The username or domain/username used to login to the Samba server.</li>
+<li>Password – The password to login to the Samba server.</li>
+<li>Share – The share on the Samba server to mount.</li>
+<li>Remote Subfolder – The remote subfolder inside the Samba share to mount
+(optional, defaults to <tt class="docutils literal"><span class="pre">/</span></tt>). To assign the ownCloud logon username
+automatically to the subfolder, use <tt class="docutils literal"><span class="pre">$user</span></tt> instead of a particular
+subfolder name. And finally, the ownCloud users and groups who get access
+to the share.</li>
+</ul>
+<div class="figure">
+<img alt="../_images/external-storage-smb.png" src="../_images/external-storage-smb.png" />
+</div>
+</div>
+<div class="section" id="smb-cifs-using-oc-login">
+<h2>SMB/CIFS using OC login<a class="headerlink" href="#smb-cifs-using-oc-login" title="Permalink to this headline">¶</a></h2>
+<p>This works the same way as setting up a SMB/CIFS mount, except you can use your
+ownCloud logins intead of the SMB/CIFS server logins. To make this work, your
+ownCloud users need the same login and password as on the SMB/CIFS server.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">Shares set up with <tt class="docutils literal"><span class="pre">SMB/CIFS</span> <span class="pre">using</span> <span class="pre">OC</span> <span class="pre">login</span></tt> cannot be shared in
+ownCloud. If you need to share your SMB/CIFS mount, then use the SMB/CIFS
+mount without oC login.</p>
+</div>
+</div>
+<div class="section" id="owncloud-and-webdav">
+<h2>ownCloud and WebDAV<a class="headerlink" href="#owncloud-and-webdav" title="Permalink to this headline">¶</a></h2>
+<p>Use these to mount a directory from any WebDAV server, or another
+ownCloud server.</p>
+<ul class="simple">
+<li>Folder name – Whatever name you want for your local mountpoint.</li>
+<li>URL – The URL of the WebDAV or ownCloud server.</li>
+<li>Username and password for the remote server</li>
+<li>Remote Subfolder – The remote subfolder you want to mount (optional, defaults
+to <tt class="docutils literal"><span class="pre">/</span></tt>)</li>
+<li>Secure <tt class="docutils literal"><span class="pre">https://</span></tt> - Whether to use <tt class="docutils literal"><span class="pre">https://</span></tt> to connect to the WebDav
+server instead of <tt class="docutils literal"><span class="pre">http://</span></tt> (We always recommend <tt class="docutils literal"><span class="pre">https://</span></tt> for
+security)</li>
+</ul>
+<div class="figure">
+<img alt="../_images/external-storage-webdav.png" src="../_images/external-storage-webdav.png" />
+</div>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">CPanel users should install <a class="reference external" href="https://documentation.cpanel.net/display/ALD/Web+Disk">Web Disk</a> to enable WebDAV
+functionality.</p>
+</div>
+</div>
+<div class="section" id="openstack-object-storage">
+<h2>OpenStack Object Storage<a class="headerlink" href="#openstack-object-storage" title="Permalink to this headline">¶</a></h2>
+<p>Use this to mount a container on an OpenStack Object Storage server. You need
+the following information:</p>
+<ul class="simple">
+<li>Username</li>
+<li>Bucket</li>
+<li>Region</li>
+<li>API Key</li>
+<li>Tenantname</li>
+<li>Password</li>
+<li>Service Name</li>
+<li>URL of identity Endpoint</li>
+<li>Timeout of HTTP request</li>
+</ul>
+</div>
+<div class="section" id="configuration-file">
+<h2>Configuration File<a class="headerlink" href="#configuration-file" title="Permalink to this headline">¶</a></h2>
+<p>The configuration of mounts created within the External Storage App are stored
+in the <tt class="docutils literal"><span class="pre">data/mount.json</span></tt> file. This file contains all settings in JSON
+(JavaScript Object Notation) format. Two different types of entries exist:</p>
+<ul class="simple">
+<li>Group mounts: Each entry configures a mount for each user in group.</li>
+<li>User mount: Each entry configures a mount for a single user or all users.</li>
+</ul>
+<p>For each type, there is a JSON array with the user/group name as key and an
+array of configuration values as the value. Each entry consist of the class name
+of the storage backend and an array of backend specific options (described
+above) and will be replaced by the user login.</p>
+<p>Although configuration may be done by making modifications to the
+<tt class="docutils literal"><span class="pre">mount.json</span></tt> file, it is recommended to use the Web-GUI in the administrator
+panel (as described in the above section) to add, remove, or modify mount
+options to prevent any problems. See <a class="reference internal" href="external_storage_configuration.html"><em>Configuring External Storage (Configuration File)</em></a> for
+configuration examples.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+
+ </div>
+</div>
+ </body>
+</html>
diff --cc core/doc/user/_sources/pim/contacts.txt
index b178592,0000000..9885115
mode 100644,000000..100644
--- a/core/doc/user/_sources/pim/contacts.txt
+++ b/core/doc/user/_sources/pim/contacts.txt
@@@ -1,350 -1,0 +1,350 @@@
+======================
+Using the Contacts App
+======================
+
+The Contacts app is not enabled by default in ownCloud 8 and needs to
+be enabled seperately. It is also not a supported core app. You may ask
+your ownCloud server admin to enable it, and if you are
+your own admin consult the `Installation > Installing and Managing Apps
+<https://doc.owncloud.org/server/8.1/admin_manual/installation/
+apps_management_installation.html>`_
+section of the `ownCloud Server Administration Manual
+<https://doc.owncloud.org/server/8.1/admin_manual/html>`_.
+
+The ownCloud Contacts app is similar to other mobile contact applications, but
+with more functionality. When you first access the Contacts app, a default
+address book becomes available.
+
+.. figure:: ../images/contacts_empty.png
+
+ **Contacts app (empty)**
+
+In the Apps Information field for the Contacts app, you can choose to create a
+new contact or a new group. This field also enables you to filter your contacts
+based on grouped or ungrouped contacts.
+
+Adding Contacts
+---------------
+You can add contacts using one of the following methods:
+
+* Import contacts using a Variant Call Format (VCF) file
+
+* Add contacts manually
+
+Importing Contacts
+~~~~~~~~~~~~~~~~~~
+
+The fastest way to add contacts is through the use of a Variant Call Format
+(VCF) file.
+
+To import contacts using a VCF file:
+
+1. At the bottom of the Contacts app information field, locate the gear button.
+
+ .. figure:: ../images/contact_bottombar.png
+
+ **Contact settings gear button**
+
+2. Click the gear button. The Contacts app upload field opens.
+
+ .. figure:: ../images/contact_uploadbutton.png
+
+ **Contacts app upload field**
+
+3. Choose an address book to which you want to import contacts by clicking the
+checkbox next to the address book.
+
+4. Select one of the options from the Import pulldown menu. These options
+include the following:
+
+ - Automatic format -- Any VCF file. ownCloud determines the file format and
+ imports accordingly.
+
+ - Gmail CSV -- The comma-separated values file from your Gmail account.
+
+ - Outlook CSV -- The comma-separated values file from your Outlook account.
+
+ - Thunderbird CSV -- The comma-separated values file from your Thunderbird
+ account.
+
+ - Yahoo CSV -- The comma-separated values file from your Yahoo account.
+
+ - PHPLdapAdmin Idif Export -- The export record from your LDAP configuration.
+
+ - Gmail VCard -- The VCard files from your Gmail account.
+
+ - Standard VCard -- The VCard files from your Standard account.
+
+ - Yahoo VCard -- The VCard files from your Yahoo account.
+
+5. Click the upload arrow to the right of the import option that you select.
+
+ An Upload File window opens.
+
+6. Navigate to the appropriate file on your system and select it for upload.
+
+ .. note:: You can upload files individually or, by selecting multiple files
+ using the CTRL button and selecting them, you can upload multiple files at
+ one time.
+
+7. Once you have selected the appropriate files, click the `Open`` button.
+
+ .. figure:: ../images/contact_vcfpick.jpg
+
+ **Selecting VCF files**
+
+ The interface automatically places your contacts into ownCloud.
+
+
+Creating Contacts Manually
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The Contacts app enables you to create contacts manually.
+
+To create a new contact:
+
+1. Click the ``+New contact`` option in the Contacts information field.
+
+ An empty new contact configuration opens in the Application View field.
+
+ .. figure:: ../images/contact_new.png
+
+2. Specify the new contact information as follows:
+
+ - Name -- The name of the contact. This field provides the option of
+ specifying added information for the user by clicking the pen button to the
+ right of the Name field.
+
+ - Organization -- The organization for the contact.
+
+ - Email -- The email address for the contact. This field defaults to the work
+ email address for the contact. However, you can specify a different email
+ designation by clicking the ``Work`` designation to the left of the email
+ field.
+
+ - Phone -- The phone number for the contact. This field defaults to the home
+ phone number for the contact. However, you can specify a different phone
+ designation by clicking the ``Home`` designation to the left of the phone
+ field.
+
+ - Address -- The address for the contact. This field defaults to the work
+ address for the contact. However, you can specify a different address
+ designation by clicking the ``Work`` designation to the left of the address
+ field.
+
+ - Notes -- Any notes you want to add about the contact.
+
+ .. note:: The Email, Phone, and Address fields provide the option of
+ specifying a contact method as "preferred."
+
+Editing Contact Information
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The Contacts app enables you to edit or remove contact information.
+
+To edit contact information:
+
+1. Navigate to the specific contact that you want to modify.
+
+2. Select the information in the field that you want to edit.
+
+3. Make your modifications.
+
+ Changes that you make to any contact information are implemented immediately.
+
+Removing Contact Information
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The Contacts app enables you to remove contact information.
+
+To remove contact information:
+
+1. Navigate to the specific contact that you want to modify.
+
+2. Locate the contact information field that you want to remove.
+
+3. Click the trash bin to the right of the contact information.
+
+ Changes that you make to any contact information are implemented immediately.
+
+
+Defining a Contact Avatar
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+By default, new contacts receive a letter avatar (picture) of "U" (for "User").
+
+.. figure:: ../images/contact_picture_default.png
+
+ **Contact picture (default)**
+
+When you specify the name of a contact, the avatar reflects the name by adopting
+the first letter of the name you provide. For example, if you were to specify
+the name of "Frederick," the avatar would dynamically change to "F" for that
+contact. If you provide multiple contacts with the same name, or with names
+that start with the same first letter, the avatar uses the same letter but
+changes color to indicate the difference.
+
+.. figure:: ../images/contact_picture.png
+
+ **Contact picture (dynamic change)**
+
+Customizing an Avatar
+~~~~~~~~~~~~~~~~~~~~~
+
+In addition to dynamically altering the avatar for each contact, the Contacts
+app enables you to customize the avatar. You can specify an avatar in one of the
+two following ways:
+
+- Upload new image -- By selecting this option, ownCloud opens a File Upload
+ window. You can choose a new image by navigating to the image, selecting it,
+ and clicking ``Open``.
+
+- Select image from Files -- By selecting this option, ownCloud opens the Files
+ dialog on the ownCloud server. You can choose an image by navigating to the image
+ in the ownCloud directory, selecting it, and clicking ``Choose.``
+
+Cropping an Avatar Image
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+After you have selected an image for your contact, the Contacts app enables you
+to crop the picture.
+
+.. figure:: ../images/contact_crop.jpg
+
+ **Cropping contact image**
+
+To crop the image:
+
+1. Move the image crop box to the desired location and resize the box any way
+ you like.
+
+2. Click ``Crop Picture`` in the crop image dialog box.
+
+ The Contacts app crops the image and replaces whatever image was originally
+ used for the contact.
+
+Managing Address Books
+----------------------
+
+Clicking on the settings (gear) button at the bottom of the Apps Information
+field provides access to the Contact app settings. This field shows all
+available address books, certain options for each address book, and enables you
+to create new address books.
+
+.. figure:: ../images/contacts_settings.png
+
+ **Contacts settings**
+
+The Contacts settings enables you to share, export, edit, and delete address
+books.
+
+.. note:: Hover your cursor over each icon to see a brief pop-up description.
+
+Adding an Address Book
+----------------------
+
+To add an address book:
+
+1. Click the ``+ Add Address Book`` option in the Contacts settings field.
+
+ A field opens requesting you to enter a display name for the new address book.
+
+ .. figure:: ../images/contact_address_book_add.png
+
+ **Adding an address book**
+
+
+2. Specify a display name for the address book.
+
+3. Click the checkbox icon to create the new address book.
+
+
+Synchronizing Address Books
+---------------------------
+
+One of the most important features in any contact application is the ability to
+keep it in sync. The ownCloud Contacts app enables you to sync your address
+books to external devices that use the Android or Apple iOS operating systems.
+
+
+Synchronizing With Android
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To synchronize with an Android device:
+
+1) Install CardDAV- Sync free from the Google play store by visiting `this link <https://play.google.com/store/apps/details?id=org.dmfs.carddav.sync>`_.
+ This app supports auto-configuration.
+
+ .. note:: Following the installing, visit carddavs://example.org/remote.php/carddav/ to auto-configure the app.
+
+3) Enter your login details.
+
+4) After the app has checked your login details, select the ``Sync from server to phone only`` option.
+
+.. figure:: ../images/contact_syncopt.jpg
+
+Synchronizing With Apple iOS
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To synchronize with an Apple iOS device:
+
+1. Open the settings application.
+
+2. Select Mail > Contacts > Calendars.
+
+3. Select ``Add Account``.
+
+4. Select ``other`` as the account type.
+
+5. Select ``Add CardDAV account``.
+
+6. For ``server``, enter http://example.org/remote.php/carddav/principals/username
+
+7. Specify your username and password.
+
+8. Select Next.
+
+9. If your server does not support SSL, a warning is displayed. Select ``Continue``.
+
+10. If the iPhone is unable to verify the account information, perform the following:
+
+ a. Click ``OK``.
+
+ b. Select ``advanced settings``.
+
+ c. Make sure ``Use SSL`` is set to "OFF".
+
+ d. Change the port to ``80``.
+
+ e. Return to "account information" and click ``Save``.
+
+ Your contacts appear in the address book of your iPhone.
+
+
+Using Other Synchronization Options
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ownCloud provides the following alternative synchronization options:
+
+- For Android devices, you can use an official Android app. You can find this
+ app `here <https://owncloud.org/install/>`_.
+
+- For iOS (iPhone and iPad) devices, you can use their official app. You can
+ find this app `here <https://owncloud.org/install/>`_.
+
+Special CardDAV URLs
+--------------------
+
+Additionally, the Contacts app is providing an URL for special functions:
+
+**Export an address book as a vCard file**
+
- https://ADDRESS/remote.php/caldav/addressbooks/USERNAME/ADDRESSBOOK?export
++ https://ADDRESS/remote.php/carddav/addressbooks/USERNAME/ADDRESSBOOKNAME?export
+
+Troubleshooting
+---------------
+
+Are you having problems using the app? Have a look at the :doc:`troubleshooting`
+and `Troubleshooting Contacts & Calendar`_ guides.
+
+.. _Troubleshooting Contacts & Calendar: https://doc.owncloud.org/server/8.1/admin_manual/issues/index.html#troubleshooting-contacts-calendar
diff --cc core/doc/user/pim/contacts.html
index b4aec21,0000000..1bdcf1f
mode 100644,000000..100644
--- a/core/doc/user/pim/contacts.html
+++ b/core/doc/user/pim/contacts.html
@@@ -1,488 -1,0 +1,488 @@@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Using the Contacts App — ownCloud User Manual 8.1 documentation</title>
+
+ <link rel="stylesheet" href="../_static/style.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/style.css" type="text/css" />
+ <link rel="stylesheet" href="../_static/bootstrap-sphinx.css" type="text/css" />
+
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../',
+ VERSION: '8.1',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../_static/jquery.js"></script>
+ <script type="text/javascript" src="../_static/underscore.js"></script>
+ <script type="text/javascript" src="../_static/doctools.js"></script>
+ <script type="text/javascript" src="../_static/bootstrap.js"></script>
+ <link rel="top" title="ownCloud User Manual 8.1 documentation" href="../index.html" />
+ <link rel="up" title="Contacts & Calendar" href="index.html" />
+ <link rel="next" title="Using the Calendar App" href="calendar.html" />
+ <link rel="prev" title="Contacts & Calendar" href="index.html" />
+<script type="text/javascript">
+(function () {
+ /**
+ * Patch TOC list.
+ *
+ * Will mutate the underlying span to have a correct ul for nav.
+ *
+ * @param $span: Span containing nested UL's to mutate.
+ * @param minLevel: Starting level for nested lists. (1: global, 2: local).
+ */
+ var patchToc = function ($ul, minLevel) {
+ var findA;
+
+ // Find all a "internal" tags, traversing recursively.
+ findA = function ($elem, level) {
+ var level = level || 0,
+ $items = $elem.find("> li > a.internal, > ul, > li > ul");
+
+ // Iterate everything in order.
+ $items.each(function (index, item) {
+ var $item = $(item),
+ tag = item.tagName.toLowerCase(),
+ pad = 15 + ((level - minLevel) * 10);
+
+ if (tag === 'a' && level >= minLevel) {
+ // Add to existing padding.
+ $item.css('padding-left', pad + "px");
+ console.log(level, $item, 'padding-left', pad + "px");
+ } else if (tag === 'ul') {
+ // Recurse.
+ findA($item, level + 1);
+ }
+ });
+ };
+
+ console.log("HERE");
+ findA($ul);
+ };
+
+ $(document).ready(function () {
+ // Add styling, structure to TOC's.
+ $(".dropdown-menu").each(function () {
+ $(this).find("ul").each(function (index, item){
+ var $item = $(item);
+ $item.addClass('unstyled');
+ });
+ $(this).find("li").each(function () {
+ $(this).parent().append(this);
+ });
+ });
+
+ // Patch in level.
+ patchToc($("ul.globaltoc"), 2);
+ patchToc($("ul.localtoc"), 2);
+
+ // Enable dropdown.
+ $('.dropdown-toggle').dropdown();
+ });
+}());
+</script>
+
+ </head>
+ <body>
+
+
+<div class="container">
+ <div class="content">
+ <div class="page-header">
+ <h1><a href="../contents.html">ownCloud User Manual</a></h1>
+
+ </div>
+
+ <div class="row">
+ <div class="span3">
+ <div class="sidebar">
+ <div class="well">
+ <div class="menu-support-container">
+ <ul id="menu-support" class="menu">
+ <ul>
+
+<li><a href="../contents.html">Table of Contents</a></li>
+ </ul>
+ <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../index.html">ownCloud 8.1 User Manual Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../whats_new.html">What’s New for Users in ownCloud 8.1</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../webinterface.html">The ownCloud Web Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../files/index.html">Files & Synchronization</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Contacts & Calendar</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="">Using the Contacts App</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#adding-contacts">Adding Contacts</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#managing-address-books">Managing Address Books</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#adding-an-address-book">Adding an Address Book</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#synchronizing-address-books">Synchronizing Address Books</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#special-carddav-urls">Special CardDAV URLs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#troubleshooting">Troubleshooting</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="calendar.html">Using the Calendar App</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sync_ios.html">iOS - Synchronize iPhone/iPad</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sync_osx.html">Synchronizing with OS X</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sync_kde.html">Synchronizing with KDE SC</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sync_thunderbird.html">Thunderbird - Synchronize Addressbook</a></li>
+<li class="toctree-l2"><a class="reference internal" href="troubleshooting.html">Troubleshooting</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../documents.html">Collaborative Document Editing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../bookmarks.html">Using the Bookmarks App</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../userpreferences.html">Setting Your Preferences</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../external_storage/index.html">External Storage</a></li>
+</ul>
+
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="span9">
+ <div class="page-content">
+
+ <div class="section" id="using-the-contacts-app">
+<h1>Using the Contacts App<a class="headerlink" href="#using-the-contacts-app" title="Permalink to this headline">¶</a></h1>
+<p>The Contacts app is not enabled by default in ownCloud 8 and needs to
+be enabled seperately. It is also not a supported core app. You may ask
+your ownCloud server admin to enable it, and if you are
+your own admin consult the <a class="reference external" href="https://doc.owncloud.org/server/8.1/admin_manual/installation/apps_management_installation.html">Installation > Installing and Managing Apps</a>
+section of the <a class="reference external" href="https://doc.owncloud.org/server/8.1/admin_manual/html">ownCloud Server Administration Manual</a>.</p>
+<p>The ownCloud Contacts app is similar to other mobile contact applications, but
+with more functionality. When you first access the Contacts app, a default
+address book becomes available.</p>
+<div class="figure">
+<img alt="../_images/contacts_empty.png" src="../_images/contacts_empty.png" />
+<p class="caption"><strong>Contacts app (empty)</strong></p>
+</div>
+<p>In the Apps Information field for the Contacts app, you can choose to create a
+new contact or a new group. This field also enables you to filter your contacts
+based on grouped or ungrouped contacts.</p>
+<div class="section" id="adding-contacts">
+<h2>Adding Contacts<a class="headerlink" href="#adding-contacts" title="Permalink to this headline">¶</a></h2>
+<p>You can add contacts using one of the following methods:</p>
+<ul class="simple">
+<li>Import contacts using a Variant Call Format (VCF) file</li>
+<li>Add contacts manually</li>
+</ul>
+<div class="section" id="importing-contacts">
+<h3>Importing Contacts<a class="headerlink" href="#importing-contacts" title="Permalink to this headline">¶</a></h3>
+<p>The fastest way to add contacts is through the use of a Variant Call Format
+(VCF) file.</p>
+<p>To import contacts using a VCF file:</p>
+<ol class="arabic simple">
+<li>At the bottom of the Contacts app information field, locate the gear button.</li>
+</ol>
+<blockquote>
+<div><div class="figure">
+<img alt="../_images/contact_bottombar.png" src="../_images/contact_bottombar.png" />
+<p class="caption"><strong>Contact settings gear button</strong></p>
+</div>
+</div></blockquote>
+<ol class="arabic simple" start="2">
+<li>Click the gear button. The Contacts app upload field opens.</li>
+</ol>
+<blockquote>
+<div><div class="figure">
+<img alt="../_images/contact_uploadbutton.png" src="../_images/contact_uploadbutton.png" />
+<p class="caption"><strong>Contacts app upload field</strong></p>
+</div>
+</div></blockquote>
+<p>3. Choose an address book to which you want to import contacts by clicking the
+checkbox next to the address book.</p>
+<p>4. Select one of the options from the Import pulldown menu. These options
+include the following:</p>
+<blockquote>
+<div><ul class="simple">
+<li>Automatic format – Any VCF file. ownCloud determines the file format and
+imports accordingly.</li>
+<li>Gmail CSV – The comma-separated values file from your Gmail account.</li>
+<li>Outlook CSV – The comma-separated values file from your Outlook account.</li>
+<li>Thunderbird CSV – The comma-separated values file from your Thunderbird
+account.</li>
+<li>Yahoo CSV – The comma-separated values file from your Yahoo account.</li>
+<li>PHPLdapAdmin Idif Export – The export record from your LDAP configuration.</li>
+<li>Gmail VCard – The VCard files from your Gmail account.</li>
+<li>Standard VCard – The VCard files from your Standard account.</li>
+<li>Yahoo VCard – The VCard files from your Yahoo account.</li>
+</ul>
+</div></blockquote>
+<ol class="arabic simple" start="5">
+<li>Click the upload arrow to the right of the import option that you select.</li>
+</ol>
+<blockquote>
+<div>An Upload File window opens.</div></blockquote>
+<ol class="arabic simple" start="6">
+<li>Navigate to the appropriate file on your system and select it for upload.</li>
+</ol>
+<blockquote>
+<div><div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">You can upload files individually or, by selecting multiple files
+using the CTRL button and selecting them, you can upload multiple files at
+one time.</p>
+</div>
+</div></blockquote>
+<ol class="arabic simple" start="7">
+<li>Once you have selected the appropriate files, click the <cite>Open`</cite> button.</li>
+</ol>
+<blockquote>
+<div><div class="figure">
+<img alt="../_images/contact_vcfpick.jpg" src="../_images/contact_vcfpick.jpg" />
+<p class="caption"><strong>Selecting VCF files</strong></p>
+<div class="legend">
+The interface automatically places your contacts into ownCloud.</div>
+</div>
+</div></blockquote>
+</div>
+<div class="section" id="creating-contacts-manually">
+<h3>Creating Contacts Manually<a class="headerlink" href="#creating-contacts-manually" title="Permalink to this headline">¶</a></h3>
+<p>The Contacts app enables you to create contacts manually.</p>
+<p>To create a new contact:</p>
+<ol class="arabic">
+<li><p class="first">Click the <tt class="docutils literal"><span class="pre">+New</span> <span class="pre">contact</span></tt> option in the Contacts information field.</p>
+<p>An empty new contact configuration opens in the Application View field.</p>
+</li>
+</ol>
+<blockquote>
+<div><div class="figure">
+<img alt="../_images/contact_new.png" src="../_images/contact_new.png" />
+</div>
+</div></blockquote>
+<ol class="arabic simple" start="2">
+<li>Specify the new contact information as follows:</li>
+</ol>
+<blockquote>
+<div><ul class="simple">
+<li>Name – The name of the contact. This field provides the option of
+specifying added information for the user by clicking the pen button to the
+right of the Name field.</li>
+<li>Organization – The organization for the contact.</li>
+<li>Email – The email address for the contact. This field defaults to the work
+email address for the contact. However, you can specify a different email
+designation by clicking the <tt class="docutils literal"><span class="pre">Work</span></tt> designation to the left of the email
+field.</li>
+<li>Phone – The phone number for the contact. This field defaults to the home
+phone number for the contact. However, you can specify a different phone
+designation by clicking the <tt class="docutils literal"><span class="pre">Home</span></tt> designation to the left of the phone
+field.</li>
+<li>Address – The address for the contact. This field defaults to the work
+address for the contact. However, you can specify a different address
+designation by clicking the <tt class="docutils literal"><span class="pre">Work</span></tt> designation to the left of the address
+field.</li>
+<li>Notes – Any notes you want to add about the contact.</li>
+</ul>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">The Email, Phone, and Address fields provide the option of
+specifying a contact method as “preferred.”</p>
+</div>
+</div></blockquote>
+</div>
+<div class="section" id="editing-contact-information">
+<h3>Editing Contact Information<a class="headerlink" href="#editing-contact-information" title="Permalink to this headline">¶</a></h3>
+<p>The Contacts app enables you to edit or remove contact information.</p>
+<p>To edit contact information:</p>
+<ol class="arabic simple">
+<li>Navigate to the specific contact that you want to modify.</li>
+<li>Select the information in the field that you want to edit.</li>
+<li>Make your modifications.</li>
+</ol>
+<blockquote>
+<div>Changes that you make to any contact information are implemented immediately.</div></blockquote>
+</div>
+<div class="section" id="removing-contact-information">
+<h3>Removing Contact Information<a class="headerlink" href="#removing-contact-information" title="Permalink to this headline">¶</a></h3>
+<p>The Contacts app enables you to remove contact information.</p>
+<p>To remove contact information:</p>
+<ol class="arabic simple">
+<li>Navigate to the specific contact that you want to modify.</li>
+<li>Locate the contact information field that you want to remove.</li>
+<li>Click the trash bin to the right of the contact information.</li>
+</ol>
+<blockquote>
+<div>Changes that you make to any contact information are implemented immediately.</div></blockquote>
+</div>
+<div class="section" id="defining-a-contact-avatar">
+<h3>Defining a Contact Avatar<a class="headerlink" href="#defining-a-contact-avatar" title="Permalink to this headline">¶</a></h3>
+<p>By default, new contacts receive a letter avatar (picture) of “U” (for “User”).</p>
+<div class="figure">
+<img alt="../_images/contact_picture_default.png" src="../_images/contact_picture_default.png" />
+<p class="caption"><strong>Contact picture (default)</strong></p>
+</div>
+<p>When you specify the name of a contact, the avatar reflects the name by adopting
+the first letter of the name you provide. For example, if you were to specify
+the name of “Frederick,” the avatar would dynamically change to “F” for that
+contact. If you provide multiple contacts with the same name, or with names
+that start with the same first letter, the avatar uses the same letter but
+changes color to indicate the difference.</p>
+<div class="figure">
+<img alt="../_images/contact_picture.png" src="../_images/contact_picture.png" />
+<p class="caption"><strong>Contact picture (dynamic change)</strong></p>
+</div>
+</div>
+<div class="section" id="customizing-an-avatar">
+<h3>Customizing an Avatar<a class="headerlink" href="#customizing-an-avatar" title="Permalink to this headline">¶</a></h3>
+<p>In addition to dynamically altering the avatar for each contact, the Contacts
+app enables you to customize the avatar. You can specify an avatar in one of the
+two following ways:</p>
+<ul class="simple">
+<li>Upload new image – By selecting this option, ownCloud opens a File Upload
+window. You can choose a new image by navigating to the image, selecting it,
+and clicking <tt class="docutils literal"><span class="pre">Open</span></tt>.</li>
+<li>Select image from Files – By selecting this option, ownCloud opens the Files
+dialog on the ownCloud server. You can choose an image by navigating to the image
+in the ownCloud directory, selecting it, and clicking <tt class="docutils literal"><span class="pre">Choose.</span></tt></li>
+</ul>
+</div>
+<div class="section" id="cropping-an-avatar-image">
+<h3>Cropping an Avatar Image<a class="headerlink" href="#cropping-an-avatar-image" title="Permalink to this headline">¶</a></h3>
+<p>After you have selected an image for your contact, the Contacts app enables you
+to crop the picture.</p>
+<div class="figure">
+<img alt="../_images/contact_crop.jpg" src="../_images/contact_crop.jpg" />
+<p class="caption"><strong>Cropping contact image</strong></p>
+</div>
+<p>To crop the image:</p>
+<ol class="arabic simple">
+<li>Move the image crop box to the desired location and resize the box any way
+you like.</li>
+<li>Click <tt class="docutils literal"><span class="pre">Crop</span> <span class="pre">Picture</span></tt> in the crop image dialog box.</li>
+</ol>
+<blockquote>
+<div>The Contacts app crops the image and replaces whatever image was originally
+used for the contact.</div></blockquote>
+</div>
+</div>
+<div class="section" id="managing-address-books">
+<h2>Managing Address Books<a class="headerlink" href="#managing-address-books" title="Permalink to this headline">¶</a></h2>
+<p>Clicking on the settings (gear) button at the bottom of the Apps Information
+field provides access to the Contact app settings. This field shows all
+available address books, certain options for each address book, and enables you
+to create new address books.</p>
+<div class="figure">
+<img alt="../_images/contacts_settings.png" src="../_images/contacts_settings.png" />
+<p class="caption"><strong>Contacts settings</strong></p>
+</div>
+<p>The Contacts settings enables you to share, export, edit, and delete address
+books.</p>
+<div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">Hover your cursor over each icon to see a brief pop-up description.</p>
+</div>
+</div>
+<div class="section" id="adding-an-address-book">
+<h2>Adding an Address Book<a class="headerlink" href="#adding-an-address-book" title="Permalink to this headline">¶</a></h2>
+<p>To add an address book:</p>
+<ol class="arabic simple">
+<li>Click the <tt class="docutils literal"><span class="pre">+</span> <span class="pre">Add</span> <span class="pre">Address</span> <span class="pre">Book</span></tt> option in the Contacts settings field.</li>
+</ol>
+<blockquote>
+<div><p>A field opens requesting you to enter a display name for the new address book.</p>
+<div class="figure">
+<img alt="../_images/contact_address_book_add.png" src="../_images/contact_address_book_add.png" />
+<p class="caption"><strong>Adding an address book</strong></p>
+</div>
+</div></blockquote>
+<ol class="arabic simple" start="2">
+<li>Specify a display name for the address book.</li>
+<li>Click the checkbox icon to create the new address book.</li>
+</ol>
+</div>
+<div class="section" id="synchronizing-address-books">
+<h2>Synchronizing Address Books<a class="headerlink" href="#synchronizing-address-books" title="Permalink to this headline">¶</a></h2>
+<p>One of the most important features in any contact application is the ability to
+keep it in sync. The ownCloud Contacts app enables you to sync your address
+books to external devices that use the Android or Apple iOS operating systems.</p>
+<div class="section" id="synchronizing-with-android">
+<h3>Synchronizing With Android<a class="headerlink" href="#synchronizing-with-android" title="Permalink to this headline">¶</a></h3>
+<p>To synchronize with an Android device:</p>
+<ol class="arabic simple">
+<li>Install CardDAV- Sync free from the Google play store by visiting <a class="reference external" href="https://play.google.com/store/apps/details?id=org.dmfs.carddav.sync">this link</a>.
+This app supports auto-configuration.</li>
+</ol>
+<blockquote>
+<div><div class="admonition note">
+<p class="first admonition-title">Note</p>
+<p class="last">Following the installing, visit carddavs://example.org/remote.php/carddav/ to auto-configure the app.</p>
+</div>
+</div></blockquote>
+<ol class="arabic simple" start="3">
+<li>Enter your login details.</li>
+<li>After the app has checked your login details, select the <tt class="docutils literal"><span class="pre">Sync</span> <span class="pre">from</span> <span class="pre">server</span> <span class="pre">to</span> <span class="pre">phone</span> <span class="pre">only</span></tt> option.</li>
+</ol>
+<div class="figure">
+<img alt="../_images/contact_syncopt.jpg" src="../_images/contact_syncopt.jpg" />
+</div>
+</div>
+<div class="section" id="synchronizing-with-apple-ios">
+<h3>Synchronizing With Apple iOS<a class="headerlink" href="#synchronizing-with-apple-ios" title="Permalink to this headline">¶</a></h3>
+<p>To synchronize with an Apple iOS device:</p>
+<ol class="arabic simple">
+<li>Open the settings application.</li>
+<li>Select Mail > Contacts > Calendars.</li>
+<li>Select <tt class="docutils literal"><span class="pre">Add</span> <span class="pre">Account</span></tt>.</li>
+<li>Select <tt class="docutils literal"><span class="pre">other</span></tt> as the account type.</li>
+<li>Select <tt class="docutils literal"><span class="pre">Add</span> <span class="pre">CardDAV</span> <span class="pre">account</span></tt>.</li>
+<li>For <tt class="docutils literal"><span class="pre">server</span></tt>, enter <a class="reference external" href="http://example.org/remote.php/carddav/principals/username">http://example.org/remote.php/carddav/principals/username</a></li>
+<li>Specify your username and password.</li>
+<li>Select Next.</li>
+<li>If your server does not support SSL, a warning is displayed. Select <tt class="docutils literal"><span class="pre">Continue</span></tt>.</li>
+<li>If the iPhone is unable to verify the account information, perform the following:</li>
+</ol>
+<blockquote>
+<div><ol class="loweralpha simple">
+<li>Click <tt class="docutils literal"><span class="pre">OK</span></tt>.</li>
+<li>Select <tt class="docutils literal"><span class="pre">advanced</span> <span class="pre">settings</span></tt>.</li>
+<li>Make sure <tt class="docutils literal"><span class="pre">Use</span> <span class="pre">SSL</span></tt> is set to “OFF”.</li>
+<li>Change the port to <tt class="docutils literal"><span class="pre">80</span></tt>.</li>
+<li>Return to “account information” and click <tt class="docutils literal"><span class="pre">Save</span></tt>.</li>
+</ol>
+<p>Your contacts appear in the address book of your iPhone.</p>
+</div></blockquote>
+</div>
+<div class="section" id="using-other-synchronization-options">
+<h3>Using Other Synchronization Options<a class="headerlink" href="#using-other-synchronization-options" title="Permalink to this headline">¶</a></h3>
+<p>ownCloud provides the following alternative synchronization options:</p>
+<ul class="simple">
+<li>For Android devices, you can use an official Android app. You can find this
+app <a class="reference external" href="https://owncloud.org/install/">here</a>.</li>
+<li>For iOS (iPhone and iPad) devices, you can use their official app. You can
+find this app <a class="reference external" href="https://owncloud.org/install/">here</a>.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="special-carddav-urls">
+<h2>Special CardDAV URLs<a class="headerlink" href="#special-carddav-urls" title="Permalink to this headline">¶</a></h2>
+<p>Additionally, the Contacts app is providing an URL for special functions:</p>
+<p><strong>Export an address book as a vCard file</strong></p>
+<blockquote>
- <div><a class="reference external" href="https://ADDRESS/remote.php/caldav/addressbooks/USERNAME/ADDRESSBOOK?export">https://ADDRESS/remote.php/caldav/addressbooks/USERNAME/ADDRESSBOOK?export</a></div></blockquote>
++<div><a class="reference external" href="https://ADDRESS/remote.php/carddav/addressbooks/USERNAME/ADDRESSBOOKNAME?export">https://ADDRESS/remote.php/carddav/addressbooks/USERNAME/ADDRESSBOOKNAME?export</a></div></blockquote>
+</div>
+<div class="section" id="troubleshooting">
+<h2>Troubleshooting<a class="headerlink" href="#troubleshooting" title="Permalink to this headline">¶</a></h2>
+<p>Are you having problems using the app? Have a look at the <a class="reference internal" href="troubleshooting.html"><em>Troubleshooting</em></a>
+and <a class="reference external" href="https://doc.owncloud.org/server/8.1/admin_manual/issues/index.html#troubleshooting-contacts-calendar">Troubleshooting Contacts & Calendar</a> guides.</p>
+</div>
+</div>
+
+
+ </div>
+ </div>
+ </div>
+
+ </div>
+</div>
+ </body>
+</html>
diff --cc version.php
index 765cc69,f7d180c..803d73b
--- a/version.php
+++ b/version.php
@@@ -1,6 -1,35 +1,6 @@@
-<?php
-/**
- * @author Frank Karlitschek <frank at owncloud.org>
- * @author Lukas Reschke <lukas at owncloud.com>
- *
- * @copyright Copyright (c) 2015, ownCloud, Inc.
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-// We only can count up. The 4. digit is only for the internal patchlevel to trigger DB upgrades
-// between betas, final and RCs. This is _not_ the public version number. Reset minor/patchlevel
-// when updating major/minor version number.
-$OC_Version=array(8, 1, 3, 0);
-
-// The human readable string
-$OC_VersionString='8.1.3';
-
-// The ownCloud channel
-$OC_Channel='git';
-
-// The build number
-$OC_Build='';
-
+<?php
- $OC_Version = array(8,1,2,1);
- $OC_VersionString = '8.1.2';
++$OC_Version = array(8,1,3,0);
++$OC_VersionString = '8.1.3';
+$OC_Edition = '';
+$OC_Channel = 'stable';
- $OC_Build = '2015-09-02T09:59:26+00:00 7b510f2510f04cc469eecdadf456ee17c7228009';
++$OC_Build = '2015-09-10T15:37:36+00:00 015323c1cb239ab242ff43183fd2edb8e3103025';
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git
More information about the Pkg-owncloud-commits
mailing list