Nutzer verwalten bei AppSheet Teil 2

Nutzer verwalten bei AppSheet Teil 2

Im ersten Teil habe ich euch ja grundsätzlich schon einmal einen Weg vorgestellt, wie Ihr Nutzer mit unterschiedlichen Rechten bei AppSheet verwalten könnt. Gehen wir nun etwas genauer darauf ein. Die Sheets in den nachfolgenden Bildern werden euch ggf. recht klein angezeigt. Klickt bitte jeweils auf das Bild für eine größere Ansicht!

Und los geht's:
Unsere Haupt "Datenbank" ist also eine Google Sheets Datei. Dort verwalten wir zunächst alle Datensätze in einer Tabelle. Die Datei nenne ich mal "ContacsMain" und die erste Tabelle hört auf den Namen "Kontakte". In dieser Tabelle will ich also quuasi die Rechte vergeben. Dazu bekommt jeder Datensatz eine Kenzeichnung für die jeweilige Gruppe. Ich habe zwei Gruppen mit dem Recht "Admin" und dem Recht "Users" angelegt. Ist der Haken gesetzt bedeutet das automatisch "TRUE", ist er raus, dann "FALSE". 

Ich habe einmal Musterdaten erstellt und in diesem Fall wird die App später Kontaktdaten verwalten. Um genau zu sein, werden es zwei Apps sein, welche dann auf entweder auf das Tabellenblatt "Kontakte" oder ein weiteres Tabellenblatt zugreifen. Dieses nanne ich hier einfach mal "ListUsers".


Damit ich immer eine saubere Datenbank für die Apphabe, habe ich entsprechend die Spalten ausgewählt und die erste ist ein Zeitstempel. Über die erste App sollen Nutzer auch Datensätze erstellen oder ändern können. Die Nutzer denen ich die zweite App, wobei es sich um einen Klon der ersten handelt, zur Verfügung stelle dürfen aber keine Datensätze anlegen oder löschen oder ändern und auch nicht alle Datensätze sehen. Kurz um, diese Nutzer haben eben nur untergeordnete Rechte.

Das Ganze sieht dann so aus. Meine erste Tabelle:


Ihr könnt hier sehr schön erkennen, dass ich hier in der ersten Tabbel die Möglichkeit besteht festzulegen welche Datensätze mit einem Haken bei der Spalte User aktiviert werden. Die erste App zeigt also alle Datensätze an, welche in der ersten Tabelle enthalten sind. Diese App nenne ich "TestUserDetails". Das sieht dann in der App als bspw. Listendarstellung so aus:


Jetzt muss man eines wissen, was für unseren Trick ganz wichtig ist! Über das Menü von AppSheet kann man in die App Gallrie gehen und dort unter den Apps wechseln. Allerdings nur wenn man über die Nutzer-Verwaltung von AppSheet dort auch die entsprechende Berechtigung hat. Wie gesagt regelt AppSheet die Berechtigungen für den Zugriff auf die App auf oberster Ebene über den Mail Account.


Meine Nutzer mit eigeschränkten Rechnetn sind über die AppSheet Nutzer-Verwaltung nur in der App "TestUserDetails2" eingerichtet. Die Nutzer mit vollem Zugriff habe ich in der App "TestUserDetails" erfasst. Die Datenbasis für diese zweite App ist die Tabelle "ListUsers". Folglich bekommen Sie nur den Teilausschnitt der Daten angezeigt und das sieht in der App dann so aus:


Natürlich ist das nur ein schneller entwurf mit dem ich es getestet habe. Ihr könnt mit AppSheet natürlich die Ansichten für die Kontakte bzw. Daten in vielfältiger Weise noch besser und schöner darstellen und die App auch entsprechend sortieren lassen und vieles mehr. Nutzer werden bei AppSheets im Adminmenü unter User verwaltet:


Wer dort also eingetragen ist kann auf die App später zugreifne bzw. erhält die Einladungs-eMail die App zu installieren.

Kommen wir noch auf ein kleines aber wichtiges Detail zu sprechen. Wie habe ich in meiner zweiten Tabelle "ListUsers" dafür gesorgt, dass dort die Daten zu finden sind, welche ich in der ersten Tabelle "Kontake" eingepfelgt habe und dort mit der Berechtigung für die Gruppe "Users" makiert sind. Schließlich will ich ja nicht die Ganze Tabelle nochmal anlegen und dann auch nochmals pflegen müssen. Wichtig war mir, dass wenn ein Datensatz geändert wird, dieser dann auch direkt den Nutzern der zweiten App aktuell angezeigt wird. 

Nun dazu gibt es verschiedene Wege und je nach Geschmack sind diese mehr oder weniger elegant. Ich habe mich einfach einer Formel bedient. Die Formel die ich genutzt habe lautet wie folgt:

=WENN(Kontakte!D2=FALSCH; Picklisten!C2; WENN(Kontakte!D2="TRUE"; "WAHR"; Kontakte!A2))

Die Formel muss also in alles Felder der Tabelle rein. Auch da, wo aktuell noch kein Datensatz zu sehen ist. Und Ihr müsst die Formel natürlich in jedem Feld anpassen.

=WENN(Kontakte!D2=FALSCH; Picklisten!C2; WENN(Kontakte!D2="TRUE"; "WAHR"; Kontakte!B2))

Und so weiter. Habt Ihr das in der Zeile für jedes Feld erstmal erledigt lässt sich das ganz leicht bis ans Ende eurer Tabelle ziehen. Gehen wir kurz darauf ein was die Formel bedeutet:
Es handelt sich um eine Wenn-Dann Formel, wo bei diese gleich aus zwei Wenn-Dann Abfragen besteht. Wenn also in der Tabelle (Kontakte!) im Feld (D2) der Wert (FALSCH) gefunden wird, dann trage aus der Tabelle (Picklisten!) den Wert (C2) ein. Dort steht bei mir der Text (GESPERRT). Und weiter, wenn der Wert (Kontakte!D2) also (TRUE) ist, dann trage den Wert aus der Tabelle (Kontakte!) und zwar dem Feld (B2) ein. 

So, ich hoffe das war für euch dann getailiert genug um das selbst nachbauen zu können. Ich denke zwar, dass AppSheet in Zukunft die ganze Rechte-Vergabe-Struktur noch verbessern wird und es dann viel galantere Möglichkeiten geben wird das zu realisieren, aber vorerst geht das und erlaubt euch auch mit AppSheet verschiedenen Nutzern angepasste Inhalte je nach deren Rechten zur Verfügung zu stellen.

Viel Spaß damit!

Beliebte Posts aus diesem Blog

Sentio Superbook (es gibt Neuigkeiten)

Smart Home Zentrale like Google Hub

#WorldofTanksBlitz (#WOT) #Controller #Unterstützung fällt weg!