Repository: OpenEnergyPlatform/oeplatform

Issue:
[Metaissue] Rework Dataedit/Tags
This issue is for planning the modification of the tag module in dataedit. Further issues are documented in the linked PullRequest. 

The rework/modification also includes the implementation of functionality to create tags automatically if they are described in an open energie metadata(oem) file. 

Below I have documented the current state based on the functions that can be found via the frontend. In the following I describe the problems that have been identified. Unfortunately, the description is in german:

### OEP - Dataedit: Probleme

#### Funktion macht nicht/ nicht genau das was sie soll:
- Ort: dataedit/Schema; Button_Name: Apply Filters
	- Beschreibung: Wenn ein Nutzer Tags auswählt und den Button klickt, dann werden die Schemas, 
	  die Tags enthalten, angezeigt - das ist okay. Problem ist, dass wenn man ein Schema anklickt 
	  werden alle Tabellen aufgelistet, nicht nur die die das gesuchte Tag/Tags enthalten.


- Ort: dataedit/Schema/Tabellen (Tags, die in der Auflistung zu den jeweiligen Tabellen angezeigt werden); Button_Name: tag_symbol
	- Beschreibung: Wenn man auf ein Tag klickt, das in der Liste zu einer Tabelle zugeordnet ist, kommt man auf die 
	  "edit tags" Seite. Meiner Meinung nach erwartet der Nutzer hier entweder:
		 - eine Erklärung zu dem Tag 
		 - möchte das Tag zum filtern auswählen
		 - möchte weitere Tags zu der Tabelle hinzufügen
		 - möchte das Tag von der Tabelle entfernen
	- Lösung: angehängte tags nicht klickbar machen oder eindeutige Funktion definieren
		 

____________________________________________________________
#### Funktion ist "nicht" auffindbar/strukturell schlecht angelegt:
- Ort: dataedit/schema/tabelle; botton_name: kleines grünes + unter der Überschrift "Tags"
	- Beschreibung: Das hinzufügen von Tags zu einer Tabelle ist sehr schlecht zu finden. Der Apply und Edit Button
	  ist schlecht sichtbar und nicht in einer eigenen Zeile. Die Funktionen sind funktional nicht voll zusammenhängend.
	  Es ist vielleicht praktisch, hier gleich einen neuen Tag erstellen zu können, jedoch sollten sich die Funktionen 
	  auf so einem niedrigen Level auch hauptsächlich auf die Tabelle beziehen. 
	- Lösung: 
		- Apply button belassen, aber besser sichtbar machen.
		- Edit button entwerder entfernen oder zusätzlich belassen
		- Besser beschreiben wie tags entfernt werden (wegnehmen des häckchens -> apply)
		- Edit button sollte bereits vorher existieren (vielleicht direkt dataedit/schema unter "Tag filter" sektion)

- Ort: dataedit/schema button_name: fehlt (Schema)
	- Beschreibung: Es gibt keine interaktive möglichkeit von der Auflistung der Tabellen in einem Schmea wieder zurück 
	  zu der gesamtübersicht der Schemas zu gelangen.
	- Lösung:
		- einfach wäre es die übreschrift Schema:Schema_name das Schema klickbar zu machen und auf die vorherige
			Seite weiterzuleiten





___________________________
#### Verbesserungspotenziale:

- Tags auf schema/tabellen Level könnten eingegrenzt werden, indem nur die Tags angezeigt werden,
	die in dem aktuellen Schema enthalten sind/ bereits verwendet wurden. Andere Tags sollten ja kein Ergebnis
        zurückgeben.




![Überblick GUI und Funktionen - Tagsmodul](https://user-images.githubusercontent.com/38939526/87667967-9137c200-c76b-11ea-8520-de5bd95398b2.png)


____________________________

Tags: the "apply filters" button is not visible enough
The "apply filters" and "reset filters" buttons below the tags are not easy to see as they are formatted similar to the tags and have the same distance between them and the last row of tags as the rows of tags have between them. 

Dataview: Mouse not a pointer
When looking at the _Topics_ table under _Dataview_ the mouse does not change to a pointer/hand when moving over the table. This may make users think that the rows are not clickable. 


Discussion:

Resolving patch:
diff --git a/dataedit/migrations/0014_auto_20201103_2037.py b/dataedit/migrations/0014_auto_20201103_2037.py
new file mode 100644
--- /dev/null
+++ b/dataedit/migrations/0014_auto_20201103_2037.py
@@ -0,0 +1,19 @@
+# Generated by Django 3.0.4 on 2020-11-03 19:37
+
+import colorfield.fields
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('dataedit', '0013_auto_20170810_1031'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='tag',
+            name='color',
+            field=colorfield.fields.ColorField(default='#FF0000', max_length=18),
+        ),
+    ]
diff --git a/login/migrations/0019_auto_20201103_2037.py b/login/migrations/0019_auto_20201103_2037.py
new file mode 100644
--- /dev/null
+++ b/login/migrations/0019_auto_20201103_2037.py
@@ -0,0 +1,27 @@
+# Generated by Django 3.0.4 on 2020-11-03 19:37
+
+import django.contrib.auth.models
+from django.db import migrations
+import login.models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('login', '0018_auto_20190304_1306'),
+    ]
+
+    operations = [
+        migrations.AlterModelManagers(
+            name='myuser',
+            managers=[
+                ('objects', login.models.OEPUserManager()),
+            ],
+        ),
+        migrations.AlterModelManagers(
+            name='usergroup',
+            managers=[
+                ('objects', django.contrib.auth.models.GroupManager()),
+            ],
+        ),
+    ]


Test patch: