Formular mit Datenbank

Allgemeines

Mit dem Template “Formular” ist es möglich, Formulareingaben direkt in einer Datenbank zur strukturierten Erfassung zu speichern. Das Speichern in der Datenbank ist auch ohne Mailversand der Daten möglich. Die Datenbank kann zudem über eine Weboberfläche eingesehen und bearbeitet werden.

Bitte lesen Sie zuerst die Anleitung “Einrichtung Formular”.

Im Reiter "Formular-Ende" wird die Datenbank-Anbindung erstellt.

Formular mit Datenbank-Anbindung

Einrichtung

Damit eine Datenbank erstellt wird, muss im Reiter “Formular-Ende” unter “Formulartyp/Grundeinstellungen” links das Datenbank-Frontend ausgewählt sein und dann auf der rechten Seite ein Passwort vergeben werden. Das Passwort darf nur Buchstaben und Ziffern enthalten. Der Tabellenname wird automatisch generiert und kann nicht angepasst werden.

Sie können bei dem Datenbank-Frontend wählen, ob Dateianhänge auch in der Datenbank gespeichert werden. Wenn Sie eine dauerhafte Speicherung möchten, sollten Sie dafür ein DSGVO-konformes Verfahrensverzeichnis in Ihrer Behörde anlegen.

Der Zugriff auf eine neu eingerichtete Datenbank funktioniert erstmals kurz nach Eingang eines ersten (Test-)Datensatzes über Ihr freigeschaltetes Formular.

Datenschutzhinweis

Imperia-Formulare bzw. die angeschlossene Datenbank sind für sensible Daten – und damit auch in der Regel für “Online-Anträge” oder die Verarbeitung ähnlicher verbindlicher Verwaltungsdienstleistungen – hinsichtlich der Themen Ausfallsicherheit, Datensicherheit und Ähnliches nicht konzipiert. Eine Alternative wäre hier bspw. der IKT-Basisdienst “Digitaler Antrag”, der als Frontend für Online-Anträge bereitgestellt wird. Für besonders schützenswerte persönliche Daten, wie zum Beispiel Gesundheitsdaten, darf ein Formular (mit oder ohne Datenbank) in keinem Fall verwendet werden!

Hinweise zur Datenbankstruktur

Mit den Flex-Modulen im Formular legen Sie die Felder der Datenbank fest. Die Struktur in einer live genutzten Datenbank zu ändern kann zu Datenverlust führen! Im Wesentlichen sollten Sie folgende Punkte beachten:

  • Das Löschen eines Flex-Moduls im Formular bewirkt das Löschen des Feldes in der Datenbank.
    • Wenn bei allen vorhandenen Feldern eine ID hinterlegt ist, wird das Feld ohne Probleme in der Datenbank gelöscht.
    • Wenn bei vorhandenen Feldern keine ID hinterlegt ist, werden die Inhalte aller Felder ohne ID nach dem gelöschten Feld durcheinandergebracht und ggf. gelöscht. Das sollte vermieden werden!
  • Ein nachträgliches Hinzufügen eines Formularfeldes wird auch in der Datenbank ergänzt.
    • Wenn bei allen vorhandenen Feldern eine ID hinterlegt ist, wird das neue Feld ohne Probleme in der Datenbank ergänzt.
    • Wenn bei vorhandenen Feldern keine ID hinterlegt ist, werden die Inhalte aller Felder ohne ID nach dem neuen Feld durcheinandergebracht und ggf. gelöscht. Das sollte vermieden werden!
  • Die Position des Feldes in der Datenbank können Sie über die Reihenfolge der Flex-Module im Formular steuern.
    • Wenn bei allen vorhandenen Feldern eine ID hinterlegt ist, kann eine Änderung der Reihenfolge ohne Probleme durchgeführt werden.
    • Wenn bei vorhandenen Feldern keine ID hinterlegt ist, führt eine Änderung der Reihenfolge dazu, dass die Inhalte der Felder ohne ID durcheinandergebracht und ggf. gelöscht werden. Das sollte vermieden werden!
  • Das nachträgliche Ändern einer ID (nicht das erstmalige Hinzufügen einer ID) eines Formularfeldes im Flex-Modul bewirkt das Leeren des Feldes in der Datenbank. Das sollte vermieden werden!
  • Das nachträgliche Ändern eines Feldnamens im Flex-Modul wird in die Datenbank übertragen. Die Daten des Feldes bleiben dabei erhalten.

Diese Änderungen in der Datenbank geschehen immer mit dem ersten Einsenden von Daten über das aktualisierte Formular.

Empfehlung

Entwerfen Sie eine feste Datenbankstruktur bevor Sie das Formular erstellen und ändern Sie diese möglichst nicht.
Sollten Sie ein Feld hinzufügen oder löschen müssen, achten Sie bitte darauf, dass alle Felder eine ID haben und diese beibehalten wird.

Hinweis

Das Absenden der Formulare unter dem URL-Raum: imperia.berlinonline.de führt nicht zum Eintragen der Daten in die Datenbank.

Redaktioneller Hinweis: Automatische Löschung der Datenbank bei Live-Löschung des Formulars

Wenn Sie das Formular löschen, wird schon ab dem Live-Löschen automatisch auch die dazugehörige Datenbank gelöscht. Falls Sie die Daten noch benötigen, sichern Sie diese unbedingt selbst über die FreeDB, bevor Sie ein Formular offline nehmen. Informationen dazu finden Sie auf dieser Seite im Abschnitt Bereich Aktionen. Das ist insbesondere wichtig, wenn eine SimpleSearch mit den Daten weiter betrieben werden soll. Eine SimpleSearch kann so auf den Betrieb mit einer lokalen CSV umgestellt werden.

Wir bereinigen regelmäßig die Datenquellen, um die gesetzlichen Löschfristen einzuhalten und den Server zu entlasten. Die gewählten Löschfristen sind im Formular angegeben, und können nur ausgelesen werden, wenn das Formular veröffentlicht ist. Zur Einstellung der Löschfristen im Formular lesen Sie bitte den Abschnitt “Persönliche Daten” auf der Seite Datenschutzreiter.

Anmeldung am Datenbankbetrachter "freeDB"

Wenn Sie im Reiter Formular-Ende den Typ Datenbank-Frontend gewählt haben, finden Sie dort einen Link zum Datenbankbetrachter, dem Frontend für das Auslesen und Bearbeiten der erhobenen Daten. Nach Anmeldung mit dem im Formular definierten Tabellennamen und Passwort erhalten Sie Zugriff auf die Daten.

Die Anmeldung am Datenbankbetrachter ist erst möglich, wenn das Formular einmal im Live-System bzw. auf www.berlin.de/auftrittsname/rubrik/formular.php abgeschickt wurde. Erst dann wird die Datenbank angelegt und der Zugriff darauf ist möglich.

Formulareinträge im Datenbankbetrachter

Aufbau der Datenbanktabelle

Bezeichnungen und Reihenfolge der Spalten

Nach der Anmeldung sehen Sie alle Datenbankeinträge, die von den Nutzer*innen über das Formular gesendet wurden, sortiert in unterschiedliche Spalten. Die Namen der Spalten sind mit den Titeln der Formularfelder identisch. In den Klammern befinden sich die IDs der Felder, die automatisch generiert werden, wenn keine explizit vergeben wurden.

Im Beispiel wurde für die fünfte Spalte die ID “wetter” vergeben, wohingegen die Spalten drei und vier eine automatische ID erhalten haben
Die erste Spalte beinhaltet immer eine von Imperia unabhängige Identifikationsnummer (ID). Die Identifikationsnummer wird bei einem Eintrag automatisch generiert und ist nur einmalig vorhanden. Die Identifikationsnummer kann nicht verändert werden.

Nach der Identifikationsnummer folgen alle redaktionell angelegten Flex-Module im Formular, die für die Speicherung vorgesehen sind.

Anschließend werden automatisch angelegte Spalten angezeigt, die in Imperia meist über eine Checkbox angewählt wurden. Diese enthalten zum Beispiel die Absenderangaben, den Antwortwunsch und ggf. gespeicherte Formular-Anhänge.

Die hinteren Felder „Erzeugt am (create_date)“ und „Zuletzt bearbeitet am (update_date)“ werden wie die Identifikationsnummer automatisch in die Tabelle geschrieben und können nicht manuell verändert werden. Normalerweise stimmen die Inhalte überein, außer wenn der Eintrag im Nachhinein in der Datenbank bearbeitet wurde. Dann wird automatisch das „Zuletzt bearbeitet am“ Feld aktualisiert.

Suchen

Die Eingabefelder unter den Spaltennamen dienen der Suche innerhalb der Spalte. Der Suchbegriff sollte nach folgendem Muster aufgebaut sein, z.B. “Fi%”, um bspw. die Einträge Fisch und Film zu finden. Das % ist ein sogenannter Joker, der alle beliebigen Zeichen als Treffer zulässt. Mit “Fi%” werden also alle Wörter gefunden, die mit den Buchstaben “F” und “i” (Groß- und Kleinschreibung wird beachtet) beginnen und danach beliebige Zeichen enthalten. Wenn mehrere Suchfelder gefüllt sind, werden nur Einträge angezeigt, die alle Bedingungen erfüllen.

Ausschnitt der letzten Spalte mit dem Tabellenkopf und erstem Eintrag

Datenbankbetrachter freeDB - letzte Spalte

Neben der letzten Spalte der Tabelle finden Sie verschiedene Aktionen:

  • Als Erstes wird ein Drop-down-Menü angeboten, um die Anzahl der angezeigten Einträge pro Seite zu verändern. Man kann zwischen 5, 10, 20, 50, 100 und 200 Einträgen pro Seite wählen. Die Voreinstellung ist 50 Einträge pro Seite.
  • Mit dem Filtern-Button kann die Suche in den Spalten anhand der Angaben in den Suchfeldern durchgeführt werden. Es reicht allerdings aus, wenn nach der Eingabe des Suchwortes die Eingabetaste gedrückt wird.
  • Die vier kleinen Icons in jeder Zeile sind für die Bearbeitung der einzelnen Zeile nötig.

Einträge bearbeiten

Das Stift-Icon am Ende der Zeile ruft die Bearbeiten-Ansicht auf. Mit diesem kleinen Editor können die Werte der Felder nachträglich bearbeitet werden. Die Bearbeitung der Felder ist auch mit einem Klick auf einen Wert möglich. Am unteren Ende befindet sich der Speichern-Button. Oben rechts kann das Fenster mit dem “[x] Schließen” ohne Speicherung geschlossen werden.

Alle Felder können bearbeitet und mit beliebigen Inhalten gefüllt werden. In der Datenbankansicht greifen die im Formular festgelegten Beschränkungen auf bspw. nur Zahlen nicht.

FreeDB: Editier-Ansicht für einen einzelnen Datensatz

Bearbeitungsansicht einer Zeile

Das Informations-Icon ruft eine verbesserte Ansicht auf. Ganz unten kann der Eintrag bearbeitet werden oder die Tabellenansicht wieder aufgerufen werden.

Mit dem Papierkorb-Icon wird der einzelne Eintrag gelöscht.

Das vierte Icon dient zum Markieren von Datensätzen. So können Sie sehr einfach eine individuelle Auswahl nicht mehr benötigter Datensätze treffen, um unter den zur Verfügung stehenden “Aktionen” diese dann in einem Arbeitsgang zu löschen.

Wundern Sie sich in diesem Zusammenhang bitte nicht, wenn Sie auf fehlende Identifikationsnummern in der Datenbank aufmerksam werden. In solchen Fällen können bereits Spam-Einträge, Testdaten oder generell nicht mehr benötigte Daten gelöscht worden sein. Des Weiteren erfolgt die Nummerierung aus technischen Gründen immer mit Lücken. Die Nummerierung der Datensätze wird nach Löschaktionen nicht verändert.

Sie können auch durch geeignete Suchbedingungen die Auswahl der angezeigten Datensätze so gestalten, dass Ihnen alle nicht mehr benötigten Daten (z.B. eines früheren Jahrgangs) angezeigt werden. Anschließend können Sie unter “Aktionen” die Option “Alle (sichtbaren) Einträge markieren” auswählen und danach “Markierte Einträge löschen”. Das gelegentliche Entrümpeln Ihrer Datenbestände gelingt auf diese Weise sehr effizient.

Bereich Aktionen

Unterhalb von “Aktionen” können Sie auch einen Eintrag zu dem Datensatz hinzuzufügen. Es ist allerdings leichter, das Online-Formular einfach selbst auszufüllen und abzuschicken, wenn Nutzer*innen nicht den Online-Weg gewählt haben.

Mit der Funktion “Lesezeichen für diese Suche” steht Ihnen eine Möglichkeit zur Verfügung, eine für Sie relevante Teilauswahl (z.B. nach Bearbeiter, Thema etc.) als Lesezeichen zu speichern und auf diese Weise sofort nur die Datensätze angezeigt zu bekommen, die für Sie zwecks weiterer Bearbeitung relevant sind. Wenn Sie die Filterung nach Ihren Wünschen angepasst und durchgeführt haben, klicken Sie auf den Link “Lesezeichen für diese Suche”. Damit werden die Parameter der Filterung in die URL übernommen, die Sie sich dann über die normale Browserfunktion als Lesezeichen abspeichern können.

Sie können Ihre Daten auch in verschiedenen Formaten herunterladen. Für eine bessere Weiterverarbeitung empfehlen wir die Formate Excel oder CSV zu wählen.

Beim Format “CSV für SimpleSearch” werden die IDs als Spaltenbezeichner verwendet und nicht die Titel der Formularfelder, wie bei den anderen Dateien. Damit kann diese CSV als Grundlage für eine SimpleSearch genutzt werden.

Aus technischen Gründen können Sie keine Datenbanken mit 10.000 Zeilen oder mehr exportieren. Wir empfehlen, Daten, die nicht mehr online benötigt werden, zeitnah zu exportieren und für den Rest der Speicherdauer lokal zu archivieren. Sie können zu große Datenbanken auch seitenweise exportieren, falls Ihre Datenbank bereits zu groß für eine Gesamtsicherung ist.

unkenntlich gemachte URLs zur Leseschnittstelle für XML, JSON, CSV und CSV für SimpleSearch

Leseschnittstelle

Leseschnittstelle

Jedes Formular mit Datenbank verfügt automatisch über eine zugangsbeschränkte Leseschnittstelle. Die URL für diese Schnittstelle finden Sie am Ende der Weboberfläche der Datenbank. Diese URLs können Sie von dort kopieren und an Nutzer*innen dieser Schnittstelle weiterreichen.

Beachten Sie, dass sich die Zugangsdaten der Leseschnittstelle automatisch ändern, wenn Sie die Zugangsdaten für den administrativen Zugang ändern.

Die Schnittstelle kann nach außen CSV-, XML- oder JSON-Daten liefern.

Die CSV für SimpleSearch benutzt als Spaltenbezeichnung die IDs der Felder anstatt die Titel der Formularfelder.

Die zur Verfügung gestellte URL kann durch angehängte GET-Parameter zusätzliche Fragen beantworten:

  • order=KEY: Wobei KEY dem Namen des Feldes entspricht, über das sortiert werden soll. Durch ein angehängtes “ DESC” (mit dem Leerzeichen) wird die Sortierreihenfolge umgekehrt. Standardmäßig wird via “id” sortiert.
  • page=INTEGER: Damit kann durch die einzelnen “Seiten” des Suchergebnisses geblättert werden. Standardmäßig wird Seite 1 angezeigt.
  • ipp=INTEGER: steht für “items per page” und bestimmt, wie viele Einträge pro “Seite” angezeigt werden. Standardmäßig werden 50 Einträge pro “Seite” angezeigt.
  • KEY=VALUE: zeigt nur die Ergebnisse an, bei denen das Feld KEY mit dem Wert VALUE gefüllt ist. Dabei gilt “%” (ähnlich wie bei MySQL-LIKE) als Platzhalter für offene Fragen

Darüber hinaus existiert eine API für Schreib-Operationen.

Häufige Fragen

  • Warum werden neue Flex-Module nicht als Spalte in der Datenbank angezeigt?

    Wenn Sie innerhalb von Imperia Formularfelder verändern und diese Änderungen freischalten, werden diese Änderungen nicht sofort in der Datenbank durchgeführt. Die Struktur der Datenbank wird erst beim ersten Absenden des Formulars geändert. Daher sollten Sie nach einer Änderung am Formular einmal selbst das Formular ausfüllen, um die Datenbank zu aktualisieren.

  • Nach dem Löschen eines Flex-Moduls fehlt die Spalte in der Datenbank. Was ist passiert?

    Auch das Löschen von Flex-Modulen hat Einfluss auf die Struktur der Datenbank. Wenn ein Flex-Modul gelöscht wird, wird auch die Spalte inklusive der bereits enthaltenen Daten in der Datenbank unwiederbringlich gelöscht.

  • Ich habe die ID eines Flex-Moduls geändert, warum fehlen jetzt die Daten bei vorhandenen Einträgen?

    Das Umbenennen von Formularfeldern führt zum Löschen der alten Felder und dem Anlegen unter einem neuen Namen. Dabei wird der Inhalt der alten Spalte unwiederbringlich gelöscht. Daraus leitet sich die Empfehlung ab, dass Sie die Struktur Ihrer Tabelle nicht mehr ändern sollten, sobald die ersten Daten in der Tabelle sind.

  • Können gespeicherte Anhänge exportiert werden?

    Die hochgeladenen und gespeicherten Dateien können ausschließlich im Datenbankbetrachter eingesehen und abgespeichert werden. Ein Export über Excel oder CSV ist nicht möglich.