[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