Projektkonfiguration
Die Projektkonfiguration erreichst du durch tippen auf das Werkzeug-Symbol, das sich in der Projektliste rechts neben dem jeweiligen Projektnamen befindet.
Die Projektkonfiguration sieht (wenn man für das Projekt Admin-Rechte besitzt) folgendermaßen aus:
Die Projektkonfiguration ermöglicht dir eine Reihe von Aktionen:

Projekt umbenennen (1)
In der obersten Zeile der Projektkonfiguration siehst du den Namen des Projekts, das du gerade konfigurierst. Wenn du auf den Namen tippst, dann öffnet sich ein Dialog, mit dem du das Projekt umbenennen kannst. Der Projektname gilt nur lokal auf deinem Gerät. Du änderst also nur den Namen des Projekts auf dem aktuellen Gerät, auch wenn das Projekt mit einem Server und anderen Geräten synchronisiert wird.
Typen (2)
Hier kannst du die Liste der im Projekt definierten Typen sehen, neue Typen anlegen, bestehende Typen bearbeiten oder löschen.
Wenn du wissen möchtest, wie das genau funktioniert, dann lies hier weiter: Projektkonfiguration- Typen
Ansichten (3)
Wie zuvor für die Typen, kannst du hier die Liste der im Projekt definierten Ansichten sehen, neue Ansichten anlegen, bestehende Ansichten bearbeiten und natürlich auch löschen.
Wenn du Näheres wissen möchtest, dann wirf einen Blick auf diese Seite: Projektkonfiguration- Ansichten
Deinen Nickname ändern (4)
Die zweite Zeile zeigt den Namen des Nicknames, den du momentan in diesem Projekt verwendest. Wenn du auf die Zeile tippst, dann kannst du aus deinen Nicknames denjenigen auswählen, den du in diesem Projekt verwenden möchtest.
Falls du nur einen Nickname siehst, dann hast du in den Einstellungen
noch keine weiteren Nicknames registriert.
Du kannst zwar den Nickname ändern, den du gerade verwendest, falls du das Projekt aber mit einem anderen Nickname angelegt hast dann wird dieser in der Benutzerliste immer sichtbar bleiben (für Benutzer mit Admin-Rechten in diesem Projekt) weil der Projekteigner nicht geändert werden kann.
Wenn du ein Projekt unter einem anderen Nickname anlegen möchtest, dann stelle diesen Nickname vor dem anlegen des Projekts unter
Einstellungen / Identitäten konfigurieren / Nicknames editieren / Als Standard auswählen
als Standard ein. Alle von dir erzeugten Projekte haben deinen aktuell eingestelltes Standard-Nickname als Eigentümer.
Benutzer (5)
Wenn du das Projekt mit anderen teilst, dann kannst du hier die Liste der im Projekt bekannten Benutzer (bzw. deren jeweilige Nicknames) sehen.
Benutzer, die neu im Projekt sind müssen durch einen Administrator zuerst freigeschaltet werden. Du erkennst diese Benutzer an einem Info-Icon auf der rechten Seite der Liste. Der Benutzereintrag erscheint, sobald der Benutzer das erste mal versucht hat, sich mit dem Server zu synchonisieren. Wenn du auf das Info-Icon tippst, kannst du den Benutzer freischalten. Solange ein Benutzer für ein Projekt noch nicht freigeschaltet wurde, sieht er in der Projektkonfiguration lediglich die Punkte 1 (Projektname), 2 (eigener Nickname), 7 (Replikationen) und 12 (löschen).
Wenn du einen freigeschalteten Benutzer antippst, dann kannst du auswählen, zu welchen Rollen der Benutzer gehören soll. (Falls die Liste der Rollen leer ist, dann hast du unter "Rollen" in diesem Projekt noch keine angelegt.)
Als Projektadministrator kannst du einen Benutzer aus dem Projekt entfernen, indem du mit dem Finger nach links wischst und dann mit
Löschen
bestätigst. Der Benutzer ist dann für das Projekt nicht mehr autorisiert und sieht in seiner Projektliste anstatt der Liste der Projektansichten nur noch einen Hinweis, dass er noch nicht durch einen Administrator freigeschaltet wurde. Falls der Benutzer weiterhin mit dem Datenbankserver synchonisiert, dann wird sein Benutzereintrag automatisch wieder erzeugt, allerdings muss er dann erneut freigeschaltet werden. Dein eigenes aktiver Nickname und den Datenbankeigner kannst du nicht löschen. Benutzereinträge des Datenbankeigners - auch wenn dieser mit mehreren Nicknames registriert ist - können nicht gelöscht werden, da dies zur Unbenutzbarkeit des Projekts führen könnte.
Rollen (6)
Diese Einstellung benötigst du ebenfalls nur dann, wenn du das Projekt mit anderen teilen möchtest. Du kannst mehrere Rollen erzeugen.
Für jede Rolle kannst du definieren, ob es sich um eine Administratoren-Rolle oder um eine "normale" Rolle handelt. Mitglieder von Administratoren-Rollen dürfen ein Projekt konfigurieren. Wenn ein Benutzer nicht Mitglied einer Administratorenrolle ist, dann sieht er in der Projektkonfiguration nur diejenigen Einstellungen, die sich nur auf sein Gerät beziehen (das sind 1 (Projektname), 2 (eigener Nickname), 7 (Replikationen), 8 (Benachrichtigungen), 9 (Teilen), 10 (Backup), 11 (Vorlage) und 12 (löschen)).
Du kannst Rollen löschen, indem du mit dem Finger nach links wischst.
WICHTIG:Solange für ein Projekt keine Rollen definiert wurden sind alle Benutzer automatisch Administratoren!
Replikationen (7)
Wenn du auf "Replikationen" tippst, dann bekommst du die Liste der für das aktuelle Projekt bestehenden Replikationen zu sehen. Das bedeutet, jeder Eintrag in der Liste steht für einen Datenbankserver mit dem du das aktuelle Projekt synchronisierst. Das Icon hinter dem Servernamen zeigt dir den Status der Replikation an. Wenn du auf die Replikation tippst, dann kannst du den Synchonisierungsvorgang de-/aktivieren oder über Replikation konfigurieren
folgende Parameter bestimmen:
- Über Mobilnetzwerk replizieren - Wenn du diesen Schalter abschaltest, dann wird das Projekt mit dem entsprechenden Server nur noch repliziert, wenn du dich in einem WLAN befindest. Vorsicht: Es kann nicht vollständig sichergestellt werden, dass kurz nachdem das Gerät zwischen WLAN und mobilem Netz umschaltet keine Daten mehr übertragen werden! Wir empfehlen deshalb bei Projekten mit großen Datenmengen und wenn keine mobile Daten-Flatrate vorhanden ist die Verwendung manueller Replikation (siehe Replikationsintervall).
- Replizieren, wenn App im Hintergrund läuft - Die Synchronisierung der Daten läuft auch in unregelmäßigen Abständen, wenn die App nur im Hintergrund aktiv ist. Du wirst dann über Änderungen in deinen Projekten per Mitteilung informiert, wenn du dies im jeweiligen Projekt so eingestellt hast. Das funktioniert aber leider NUR wenn die App im Hintergrund läuft, nicht wenn sie aus der Multitasking-Ansicht geschlossen wurde oder seit dem Start des Geräts noch nie lief. Warum das so ist, ist hier erläutert: Hintergrundaktualisierung
- Nicht vor - Hier kannst du eine Uhrzeit einstellen, vor der täglich keine Synchronisierung stattfindet. Das ist z.B. nützlich, wenn du nur während der Arbeitszeit über Änderungen informiert werden möchtest. Vorsicht: Da die Synchronisierung in beide Richtungen abläuft, werden deine Änderungen auch erst nach dieser Uhrzeit in den Datenbankserver synchronisiert.
- Nicht nach - Wie nicht vor, nur dass es sich um die Uhrzeit handelt, NACH der keine Synchronisierungs mehr stattfindet.
- Max. Synchronisierungsintervall - Falls du nicht ständig Kontakt zum Server halten möchtest (während die App im Vordergrund ist) sondern die Aktualisierung in einem bestimmten Intervall ausreicht, dann kannst du dieses Intervall hier einstellen. Es gibt auch die Möglichkeit, nur auf Anfrage zu synchronisieren ("manuell").
Du kannst hier auch neue Replikationen zum Projekt hinzufügen. Entweder, weil es eine Kopie dieses Projektes bereits auf einem deiner Server gibt (dann wird das Projekt wieder mit der Kopie synchronisiert) oder um eine neue Replikation deines Projektes auf einem Server zu erzeugen. Letzteres geht allerdings nur, wenn du auf dem Server Admin-Zugang hast. Vorsicht: Wenn ein Projekt mit einer bestehenden Replikation eines anderen Projekts verknüpft wird, dann werden die Projekte durch die Synchronisierung "gemischt" und wahrscheinlich unbenutzbar. Die App wird dies durch Prüfung der Übereinstimmung der Datenbank-IDs normalerweise verhindern, noch besser ist aber, du passt selbst auf, dass du Projekte immer nur mit der korrekten Replikation verknüpfst, insbesondere wenn du z.B. mehrere unterschiedliche Versionen der gleichen Datenbank verwendest. Beim Erstellen eines Backups und der Wiederherstellung bleibt die Datenbank-ID erhalten. Ein aus einer Vorlage erzeugtes Projekt erhält eine neue Datenbank-ID.
Benachrichtigungen (8)
Tutorial-Ausschnitt: Benachrichtigungen (YouTube, externer Link)
Projektweite Einstellungen
Hier kannst du einstellen, wie die Änderungen in deinem geteilten (= das Projekt hat mind. 1 "Replikation") Projekt an andere mitgeteilt werden.
Eine Besonderheit von SketShDb ist es, dass du deine Daten im Griff behältst, weil diese ausschließlich auf den von dir selbst konfigurierten Servern liegen. Dies ist bei der Verwendung von sogenannten Push-Notifications nicht lückenlos möglich, weil jede Nachricht von uns an den Push Notification Service des Dienstanbieters weitergeleitet werden muss. Es gibt eine zweite Möglichkeit der Benachrichtigung: Sogenannte "Local Notifications" mit "Background Fetch". Dies bedeutet, dass die Applikation zu unregelmäßigen Zeiten im Hintergrund "aufgeweckt" wird und dann auf deinen Servern nachschaut, ob neue Daten vorhanden sind. Falls dies der Fall ist wird eine Benachrichtigung erzeugt, die genau so wie eine Push-Nachricht aussieht. Die Daten haben dabei dein Gerät aber nicht verlassen. Der Nachteil dabei sind erstens die unregelmäßigen Intervalle des Abrufs, die weder von dir noch von uns genau gesteuert werden können. Das macht das Betriebssystem (iOS) deines Geräts von selbst. Außerdem funktioniert der "Background Fetch" nur wenn die App im Hintergrund läuft. (Also nur wenn die App in der Multitasking-Ansicht von iOS aktiv ist.) Aus diesem Grund lassen wir dich selbst entscheiden, wie du und die anderen Projektteilnehmer über Änderungen informiert werden!
Es gibt dafür mehrere Modi:
- 1. Nur lokale Updates und Notifikationen: Bei diesem Modus werden Änderungen nur über Background Fetch und lokale Benachrichtigungen mitgeteilt. Dies funktioniert nur dann, wenn die App im Hintergrund aktiv ist und es kann einige Zeit zwischen der Änderung und der Benachrichtigung vergehen. Es werden keine der o.g. Daten weder an uns noch an den Push-Nachrichtendienst von Apple gesendet! Da die Daten für die Benachrichtigung aber lokal aus dem Projekt gelesen werden können, ist die Benachrichtigung sehr detailliert.
- 2. Push im Hintergrund: Bei diesem Modus erfolgt die Benachrichtigung über Push-Notifications nur im Hintergrund. Dann erfolgt wie unter dem zuvor genannten Modus ein Update im Hintergrund. Es wird nur die nötigste Konfiguration bei uns gespeichert (Geräte-ID & Datenbank-ID) und lediglich die Geräte-ID als "Adresse" an Apple gesendet. Der Update der Daten passiert im Hintergrund in der App selbst. Es herrscht allerdings die gleiche Einschränkung wie beim reinen Hintergrund-Modus: Es funktioniert nur, wenn die App im Hintergrund aktiv ist, dafür sind die Infos aber detailliert.
- 3. Unspezifisch über Änderungen informieren: Bei diesem Modus wird genauso viel Information bei uns gespeichert bzw. an den Push-Nachrichtendienst geschickt, wie beim vorherigen Modus. Du wirst allerdings per "normaler" Push-Notification informiert, wenn sich in einer deiner Datenbanken etwas geändert hat. Die Benachrichtigung ist aber sehr unspezifisch ("es hat sich etwas getan"), ohne Information über das Projekt in dem sich etwas getan hat oder darüber um welche Änderung es sich genau handelt. Was sich geändert hat musst du in der App selbst nachschauen, z.B. in der Ansicht "Protokoll". Dieser Modus funktioniert dafür aber auch ohne dass die App im Hintergrund aktiv ist! Da wir keine Konfiguration für Änderungstypen speichern, kannst du in diesem Fall die unterschiedlichen Benachrichtigungen nicht "filtern" und wirst immer über alles informiert.
- 4. Nur Ereignistyp und Projektname: Zusätzlich zum vorherigen Modus wird hierbei auch der Projektname und die von dir ausgewählten Änderungstypen bei uns gespeichert. Deshalb wirst du in diesem Fall auch über die Art der Änderung und das betroffene Projekt direkt informiert und kannst die verschiedenen Typen filtern.
- 5. Vollständige Push-Nachrichten: Die bei uns gespeicherte Information ist die gleiche wie zuvor, allerdings sind in der Nachricht auch zusätzliche Informationen, wie der Name des geänderten Objekts, der Name des ändernden Benutzers und z.B. der hinzugefügte Kommentar enthalten. Dieser Modus ist der komfortabelste, weil man gleich und vollständig über Änderungen informiert wird, allerdings eignet er sich z.B. für eine Passwort-Datenbank nicht unbedingt ;)
Noch einige Anmerkungen:
- Die Push-Nachrichten (im Gegensatz zu den lokalen Nachrichten in Modus 1 und 2) funktionieren unabhängig vom aktuellen Zugriff deines Geräts auf die jeweilige Replikationsdatenbank! Es kann also passieren, dass du über eine Änderung informiert wirst, diese aber in der App gar nicht nachvollziehen kannst, weil kein Zugriff deines Gerätes auf die Datenbank besteht. Bei Modus 2 kann dieses Verhalten zur Folge haben, dass die Benachrichtigung bei dir VIEL SPÄTER ankommt, weil in dem Moment wenn die Benachrichtigung über eine Änderung in der Datenbank dein Gerät erreicht, kein Zugriff auf die Datenbank besteht. Es wird dann keine Änderung in der Datenbank gefunden und keine lokale Nachricht erzeugt.
- Wir speichern die o.g. Daten nur zum Zweck der Zustellung von Push-Nachrichten und verwenden die Daten auf keinen Fall anderweitig. Die Daten werden nur solange gespeichert, wie sie benötigt werden. D.h. wenn du den Benachrichtigungmodus änderst, dann werden die Daten für das jeweilige Gerät geändert bzw. gelöscht, sobald die geänderte Konfiguration auf dem jeweiligen Gerät synchronisiert wurde.
- Wir hätten auf die Verwendung von Push-Nachrichten gerne ganz verzichtet. Da die Hintergrundupdates aber nur dann funktionieren, wenn die App aktiv ist, wollten wir unseren Nutzern den höheren Nutzen und Komfort von detaillierten Push-Nachrichten wenigstens anbieten!
Je nach Modus (siehe unten) werden unterschiedliche Daten an uns und/oder den Dienstanbieter für Pushnachrichten übermittelt, welche Daten dies in welchem Falle genau sind, erfährst du in der Datenschutzerklärung.
Gerätespezifische Einstellungen
Hier kannst du einstellen, über welche Ereignisse du in diesem Projekt informiert werden möchtest. Über Ereignisse, die du selbst auslöst wirst du nicht benachrichtigt. Deshalb ergibt diese Einstellung auch erst dann einen Sinn, wenn du das Projekt mit anderen teilst.
Hinweis: Diese Einstellung wirkt sich bei Modus 3 (Unspezifisch über Änderungen informieren) nur insofern aus, dass du GAR NICHT informiert wirst, wenn du ALLE Benachrichtigungen ausschaltest. Sobald du (mindestens) ein Häkchen setzt wirst du über alle Änderungen informiert. Warum das so ist kannst du im vorhergehenden Kapitel nachlesen.
Im Log werden immer alle Änderungen in allen Projekten auf aufgelistet. Diese Einstellungen wirkt sich darauf nicht aus.
Ereignisverarbeitung (9)
Unter "Ereignisverarbeitung" lassen sich Abläufe definieren, die bei bestimmten Ereignissen ausgeführt werden. Die verschiedenen Typen von Ereignissen sind:
- Erstellen eines Eintrags in einem Projekt
- Ändern eines Eintrags in einem Projekt
- Löschen eines Eintrags in einem Projekt
- Ort aufgesucht oder verlassen (Geofencing)
- Like oder Dislike für einen Eintrag vergeben
- Kommentar oder Bewertung für einen Eintrag verfasst
- Anhänge zu einem Eintrag hinzugefügt oder entfernt
- Button(s) im Eingabeformular
- Button(s) in der Projektübersicht oder Siri Kurzbefehl
- Vor dem Öffnen eines Formulars
- Nach einem manuellen Sortiervorgang in einer Listenansicht
Mehr zu Ereignissen und den Aktionen, die mit Ereignissen verknüpft werden können, erfährst du unter Ereignisse.
Teilen (10)
Wenn du dein Projekt mit einem Server synchronisierst, dann kannst du die Zugangsdaten für den Server auf einfache Weise per E-Mail an deine Freunde weitergeben, so dass ihr gemeinsam an diesem Projekt arbeiten könnt. Es wird eine Mail erzeugt, die einen Link enthält. Wenn dein Freund diesen Link anwählt, wird SketShDb geöffnet und nach einer Bestätigung das Projekt als neues Projekt importiert.
Tutorial-Ausschnitt: Projekt teilen (YouTube, externer Link)
Bevor du die E-Mail abschicken kannst, wirst du noch gefragt, ob du Benutzerdaten (Benutzername und zugehöriges Passwort) für den Zugriff auf den Server in den Link "verpacken" möchtest. Die Benutzerdaten werden während der Übertragung zwar verschlüsselt, es ist aber auf jeden Fall besser die Benutzerdaten auf einem separaten, sicheren Weg zu übermitteln. Es werden dir mehrere Varianten zur Auswahl gestellt:
- Empfänger benötigt keine Benutzerdaten - Es werden keine Benutzerdaten mitgeschickt. Beim Einrichten des Projekts beim Empfänger wird zuerst versucht, ohne Benutzerdaten auf den Server zuzugreifen. Erst wenn dies nicht gelingt (HTTP-Ergebniscode 401) wird der Empfänger gebeten, Benutzername und Passwort einzugeben.
- Empfänger eingeben lassen - Die Benutzerdaten werden nicht mitgeschickt, der Empfänger wird aber nach Benutzername und Passwort gefragt, bevor versucht wird, den Server zu erreichen. Dies ist die richtige Variante, wenn du dich dafür entscheidest, die Benutzerdaten dem Empfänger auf anderem Wege zur Verfügung zu stellen.
- Von mir benutzte Benutzerdaten mitsenden - Es werden die Benutzerdaten mitgesendet, die du auch verwendest. Vorsicht! Das ist nicht immer gewünscht, z.B. falls du einen Admin-Zugang auf dem Server verwendest dein Freund aber einen "normalen" Zugang verwenden soll. Dafür gibt es die nächste Option:
- Andere Benutzerdaten eingeben - Du wirst aufgefordert, Benutzername und Passwort einzugeben, die dann in der Mail mitgeschickt werden.
Übrigens: Keine Daten (weder Servername, noch Benutzername oder Passwort) sind in der Mail offen zu sehen außer dem Projektnamen. Alle anderen Daten sind im enthaltenen Link kodiert. Nur Benutzername und Passwort sind dabei verschlüsselt.
Diese Funktion kann nur genutzt werden, wenn auf dem Gerät ein E-Mailkonto zum Versenden von Mails eingerichtet ist.
Backup erstellen (11)
Diese Funktion erstellt ein vollständiges Backup des gesamten Projekts und speichert es in deinem "iCloud Drive"1 ab. Dazu wird das iCloud-Konto verwendet, das auf dem Gerät konfiguriert wurde. Bevor das Backup erstellt wird, wirst du aufgefordert, ein Passwort für das Backup zu vergeben. Falls du kein Passwort verwendest, dann wird das Backup nicht verschlüsselt. Alternativ kannst du auch die Auswahl treffen, dass die App-Pin als Passwort verwendet wird, das ist bequemer weil du nichts eingeben musst. Beim Wiederherstellen wird dies auch automatisch erkannt, natürlich nur, falls die vergebene App-PIN beim Wiederherstellen (z.B. auf einem anderen Gerät) die gleiche ist. Ist das nicht der Fall musst du beim Wiederherstellen die PIN wieder eingeben. Da die Backups über die iCloud geteilt werden können, kannst du von deinen anderen Geräten aus auf das Backup zugreifen (z.B. von anderen mobilen Endgeräten oder von deinem PC aus). Die Backups werden im iCloud-Drive im Ordner "SketShDb/Backups" gespeichert.
Diese Funktion kann nur genutzt werden, wenn auf dem Gerät ein iCloud-Konto eingerichtet wurde
Hinweis: Es kommt hin und wieder vor, dass man Dateien in einem iCloud Drive auf anderen Geräten nicht sehen kann und auch die Aktualisierung der Ordnerinhalte nichts bringt. Dies ist ein Problem von iCloud Drive, wir haben leider keinen Einfluß darauf. Du kannst iCloud Drive aber dazu zwingen, die Inhalte zu aktualisieren, indem du in dem betreffenden Ordner einen Unterordner anlegst und ihn gleich wieder löscht. Dann sollten die fehlenden Dateien auftauchen. Das lässt sich nicht aus unserer App bewerkstelligen, du kannst dazu aber die App "iCloud Drive" verwenden.
Vorlage erzeugen (12)
Diese Funktion erstellt aus deinem Projekt eine Vorlage. D.h. es werden die Typen, Ansichten und Rollen mit ihren Einstellungen exportiert. Du wirst zunächst gefragt, ob du zusätzlich die Daten eines oder mehrerer von dir erzeugter Typen ebenfalls in die Vorlage einbetten möchtest. Das ist besonders dann sinnvoll, wenn es sich um "Basisdaten" handelt, die mit zur Projektstruktur gehören oder allgemeingültig sind.
Wähle die Typen in der Liste aus und tippe dann oben rechts auf
Sichern
.
Die Vorlage wird wie Backups auch in deinem iCloud Drive gespeichert. Du kannst deshalb Vorlagen auch auf anderen Geräten verwenden. Die Vorlagendatei ist nicht verschlüsselt. Der Speicherort für die Vorlagen ist im Ordner "SketShDb/Templates".
Diese Funktion kann nur genutzt werden, wenn auf dem Gerät ein iCloud-Konto eingerichtet wurde
Hinweis: Es kommt hin und wieder vor, dass man Dateien in einem iCloud Drive auf anderen Geräten nicht sehen kann und auch die Aktualisierung der Ordnerinhalte nichts bringt. Dies ist ein Problem von iCloud Drive, wir haben leider keinen Einfluß darauf. Du kannst iCloud Drive aber dazu zwingen, die Inhalte zu aktualisieren, indem du in dem betreffenden Ordner einen unterordner anlegst und ihn gleich wieder löscht. Dann sollten die fehlenden Dateien auftauchen. Das lässt sich nicht aus unserer App bewerkstelligen, du kannst dazu aber die App "iCloud Drive" verwenden.
Projekt löschen (13)
Schließlich kannst du jedes Projekt auch wieder von deinem Gerät löschen. Es werden dabei alle Daten über das Projekt von deinem Gerät gelöscht, ebenso werden eventuell eingerichtete Replikationen gelöscht, d.h. es findet (logischerweise) keine Synchronisation der Daten zwischen dem/den Server(n) und deinem Gerät mehr statt. Das Projekt wird allerdings NICHT vom Server gelöscht! Falls du die Daten auch auf dem Server löschen möchtest, dann musst du oder der Serveradministrator sich selbst darum kümmern.
-
"Apple", "iCloud" und "iCloud Drive" sind Marken von Apple Inc. ↩