From a5ebf56f1136df3cfc16da466ac884c00f106ab3 Mon Sep 17 00:00:00 2001
From: Eliot Berriot <contact@eliotberriot.com>
Date: Wed, 9 May 2018 23:04:10 +0200
Subject: [PATCH] See #75: User documentation

---
 docs/index.rst                                |  1 +
 docs/users/apps.rst                           | 92 +++++++++++++++++++
 docs/users/index.rst                          | 16 ++++
 .../src/components/auth/SubsonicTokenForm.vue |  2 +-
 4 files changed, 110 insertions(+), 1 deletion(-)
 create mode 100644 docs/users/apps.rst
 create mode 100644 docs/users/index.rst

diff --git a/docs/index.rst b/docs/index.rst
index 481690b7..01f76d3c 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -11,6 +11,7 @@ Funkwhale is a self-hosted, modern free and open-source music server, heavily in
 .. toctree::
    :maxdepth: 2
 
+   users/index
    features
    installation/index
    configuration
diff --git a/docs/users/apps.rst b/docs/users/apps.rst
new file mode 100644
index 00000000..f01af926
--- /dev/null
+++ b/docs/users/apps.rst
@@ -0,0 +1,92 @@
+Using Funkwhale from other apps
+===============================
+
+As of today, the only official client for using Funkwhale is the web client,
+the one you use in your browser.
+
+While the web client works okay, it's still not ready for some use cases, especially:
+
+- Usage on narrow/touche screens (smartphones, tablets)
+- Usage on the go, with an intermittent connexion
+
+This pages lists alternative clients you can use to connect to your Funkwhale
+instance and enjoy your music.
+
+
+Subsonic-compatible clients
+---------------------------
+
+Since version 0.12, Funkwhale implements a subset of the `Subsonic API <http://www.subsonic.org/pages/api.jsp>`_.
+This API is a de-facto standard for a lot of projects out there, and many clients
+are available that works with this API.
+
+Those Subsonic features are supported in Funkwhale:
+
+- Search (artists, albums, tracks)
+- Common library browsing using ID3 tags (list artists, albums, etc.)
+- Playlist management
+- Stars (which is mapped to Funkwhale's favorites)
+
+Those features as missing:
+
+- Transcoding/streaming with different bitrates
+- Album covers
+- Artist info (this data is not available in Funkwhale)
+- Library browsing that relies music directories
+- Bookmarks
+- Admin
+- Chat
+- Shares
+
+.. note::
+
+    If you know or use some recent, well-maintained, Subsonic clients,
+    please get in touch so we can add them to this list.
+
+    Especially we're still lacking an iOS client!
+
+
+Enabling Subsonic on your Funkwhale account
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To log-in on your Funkwhale account from Subsonic clients, you will need to
+set a separate Subsonic API password by visiting your settings page.
+
+Then, when using a client, you'll have to input some information about your server:
+
+1. Your Funkwhale instance URL (e.g. https://demo.funkwhale.audio)
+2. Your Funkwhale username (e.g. demo)
+3. Your Subsonic API password (the one you set earlier in this section)
+
+In your client configuration, please double check the "ID3" or "Browse with tags"
+setting is enabled.
+
+DSub (Android)
+^^^^^^^^^^^^^^
+
+- Price: free (on F-Droid)
+- F-Droid: https://f-droid.org/en/packages/github.daneren2005.dsub/
+- Google Play: https://play.google.com/store/apps/details?id=github.daneren2005.dsub
+- Sources: https://github.com/daneren2005/Subsonic
+
+DSub is a full-featured Subsonic client that works great, and has a lot of features:
+
+- Playlists
+- Stars
+- Search
+- Offline cache (with configurable size, playlist download, queue prefetching, etc.)
+
+It's the recommended Android client to use with Funkwhale, as we are doing
+our Android tests on this one.
+
+Clementine (Desktop)
+^^^^^^^^^^^^^^^^^^^^
+
+- Price: free
+- Website: https://www.clementine-player.org/fr/
+
+This desktop client works on Windows, Mac OS X and Linux and is able to stream
+music from your Funkwhale instance. However, it does not implement advanced
+features such as playlist management, search or stars.
+
+This is the client we use for our desktop tests.
diff --git a/docs/users/index.rst b/docs/users/index.rst
new file mode 100644
index 00000000..215fe959
--- /dev/null
+++ b/docs/users/index.rst
@@ -0,0 +1,16 @@
+.. funkwhale documentation master file, created by
+   sphinx-quickstart on Sun Jun 25 18:49:23 2017.
+   You can adapt this file completely to your liking, but it should at least
+   contain the root `toctree` directive.
+
+Funkwhale's users documentation
+=====================================
+
+.. note::
+
+  This documentation is meant for end-users of the platform.
+
+.. toctree::
+   :maxdepth: 2
+
+   apps
diff --git a/front/src/components/auth/SubsonicTokenForm.vue b/front/src/components/auth/SubsonicTokenForm.vue
index dd0bd5ca..1fa4b5d1 100644
--- a/front/src/components/auth/SubsonicTokenForm.vue
+++ b/front/src/components/auth/SubsonicTokenForm.vue
@@ -11,7 +11,7 @@
     <p>
       {{ $t('However, accessing Funkwhale from those clients require a separate password you can set below.') }}
     </p>
-    <p><a href="https://docs.funkwhale.audio/users/apps.html#subsonic" target="_blank">
+    <p><a href="https://docs.funkwhale.audio/users/apps.html#subsonic-compatible-clients" target="_blank">
       {{ $t('Discover how to use Funkwhale from other apps') }}
     </a></p>
     <div v-if="success" class="ui positive message">
-- 
GitLab