From 33a3d937a035f138637fddc366e2e564afc96a46 Mon Sep 17 00:00:00 2001
From: Eliot Berriot <contact@eliotberriot.com>
Date: Thu, 25 Jul 2019 13:56:51 +0200
Subject: [PATCH] Fix #432: release notes and documentation for tags

---
 changes/changelog.d/432.feature |  1 +
 changes/notes.rst               | 27 +++++++++++++++++++++++++++
 docs/users/upload.rst           |  9 ++++++---
 3 files changed, 34 insertions(+), 3 deletions(-)
 create mode 100644 changes/changelog.d/432.feature

diff --git a/changes/changelog.d/432.feature b/changes/changelog.d/432.feature
new file mode 100644
index 000000000..75017106a
--- /dev/null
+++ b/changes/changelog.d/432.feature
@@ -0,0 +1 @@
+Support for genres, via tags (#432)
diff --git a/changes/notes.rst b/changes/notes.rst
index ef493373d..cae728e7d 100644
--- a/changes/notes.rst
+++ b/changes/notes.rst
@@ -7,6 +7,33 @@ Next release notes
     after each release.
 
 
+Support for genres via tags
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+One of our most requested missing features is now available!
+
+Starting with Funkwhale 0.20,
+Funkwhale will automatically extract genre information from uploaded files and associate it
+with the corresponding tracks in the form of tags (similar to Mastodon or Twitter hashtags).
+Please refer to `our tagging documentation <https://docs.funkwhale.audio/users/upload.html#tagging-files>`_
+for more information regarding the tagging process.
+
+Tags can also be associated with artists and albums, and updated after upload through the UI using
+the edit system released in Funkwhale 0.19. Tags are also fetched when retrieving content
+via federation.
+
+Tags are used in various places to enhance user experience:
+
+- Tags are listed on tracks, albums and artist profiles
+- Each tag has a dedicated page were you can browse corresponding content and quickly start a radio
+- The custom radio builder now supports using tags
+- Subsonic apps that support genres - such as DSub or Ultrasonic - should display this information as well
+
+If you are a pod admin and want to extract tags from already uploaded content, you run `this snippet <https://dev.funkwhale.audio/funkwhale/funkwhale/snippets/43>`_
+and `this snippet <https://dev.funkwhale.audio/funkwhale/funkwhale/snippets/44>`_ in a ``python manage.py shell``.
+
+
+
 Allow-list to restrict federation to trusted domains
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
diff --git a/docs/users/upload.rst b/docs/users/upload.rst
index 169c72710..1cc3ef8f9 100644
--- a/docs/users/upload.rst
+++ b/docs/users/upload.rst
@@ -74,16 +74,19 @@ However, Funkwhale can understand and use additional tags to enhance user experi
 | ``Title`` (required)             | ``Letting you``                            | The track title                                               |
 |                                  |                                            |                                                               |
 +----------------------------------+--------------------------------------------+---------------------------------------------------------------+
-| ``Album`` (required)             | ``The Slip``                               | The album title                                               |
-|                                  |                                            |                                                               |
-+----------------------------------+--------------------------------------------+---------------------------------------------------------------+
 | ``Artist`` (required)            | ``Nine Inch Nails``                        | The artist name                                               |
 |                                  |                                            |                                                               |
 +----------------------------------+--------------------------------------------+---------------------------------------------------------------+
+| ``Album``                        | ``The Slip``                               | The album title. If none is provided, an [Unknown Album]     |
+|                                  |                                            | entry will be created                                         |
++----------------------------------+--------------------------------------------+---------------------------------------------------------------+
 | ``Album artist``                 | ``Trent Reznor``                           | The album artist name (can be different than the track        |
 |                                  |                                            | artist)                                                       |
 |                                  |                                            |                                                               |
 +----------------------------------+--------------------------------------------+---------------------------------------------------------------+
+| ``Genre``                        | ``Industrial, Metal``                      | A comma separated list of tags to associate with the track     |
+|                                  |                                            | Other supported separators: ``;`` and ``/``                   |
++----------------------------------+--------------------------------------------+---------------------------------------------------------------+
 | ``Track number``                 | ``4``                                      | The position of the track in the album/release                |
 |                                  |                                            |                                                               |
 +----------------------------------+--------------------------------------------+---------------------------------------------------------------+
-- 
GitLab