COSMiC Felder

Die Felder bilden das Grundgerüst der Partnerdatenbank. Felder sind in jeder Installation flexibel definierbar.

Die Definition der Felder ist von den #Inhalten getrennt, sodass jederzeit Felder hinzugefügt oder geändert werden können ohne das Daten verloren gehen.

Über die normalen Datentypen hinaus gibt es zusätzliche #Feldtypen mit besonderen Funktionen oder Eigenschaften.

Name

Der Name des Feldes muss innerhalb der Datenbank eindeutig sein und ist frei definierbar. Es sind 100 Zeichen für den Feldnamen erlaubt, allerdings sollten zwecks Darstellung nur 20-30 Zeichen verwendet werden.

Neben dem eindeutigen Namen erhält jedes Feld vom System eine eindeutige ID. Diese wird automatisch vergeben und ist nicht änderbar. Der Name kann jederzeit geändert werden. Cosmic verweist generell immer auf die ID des Feldes, sodass eine Namensänderung keine Auswirkung auf z.B. Inhalte, Berichte, Rechte, Regeln, Konfigurationen hat.

Feldtypen

Es gibt verschiedene Datentypen für Felder, welche sowohl den Inhalt als auch die Darstellung und Eingabemöglichkeiten steuern. Die zur Verfügung stehenden Feldtypen können je nach Anforderungen erweitert werden.

Text

normales Text Eingabefeld für einen kurzen Text bis ca. 200 Zeichen. Es können zwar beliebig lange Texte gespeichert werden, allerdings ist die Darstellung in einem einzeiligen kurzen Textfeld ungeeignet. Mit einer Zahl bei Auswahlmöglichkeiten kann die Länge der eingebbaren Zeichen eingeschränkt werden, allerdings wirkt sich das nur auf die Darstellung und nicht auf die tatsächliche Speicherkapazität des Felds aus.

Memo

Memo ist wie Text, nur dass mehrere Zeilen und Zeilenumbrüche erlaubt sind.

Zahl

Zahl speichert eine numerische Zahl beliebiger Genauigkeit. Erlaubt sind Ziffern, ein Vorzeichen sowie das Komma als Dezimaltrennzeichen.

Euro

Euro ist weitgehendst Identisch mit Zahl, allerdings kann in der Spalte Auswahl eine Einheit für die Zahl stehen, welche in der Anwendung dargestellt wird.

Datum

Datum enthält ein Datum mit Zeitwert. Die Formatierung ist immer yyyy-mm-dd hh:nn:ss, also das vierstellige Jahr, zweistelliger Monat, zweistelliger Tag, zweistellige Stunde, zweistellige Minute und zweistellige Sekunde. Ist ein ungültiges Datum enthalten, wird dies zur Anzeige in der Anwendung versucht zu korrigieren und beim Speichern korrekt eingetragen.

Ja/Nein (Boolean)

Boolean speichert einen Ja-Nein-Wert. Content enthält eine 1 oder 0, wobei ein leerer Wert oder fehlender Datensatz als Nein angesehen wird und jeder andere Wert als Ja. Gespeichert wird aber immer eine 1, 0 oder der Datensatz wird gelöscht.

Auswahlfeld Mehrfachnennung

Check speichert eine Liste von Werten, die aus einer Liste von Werten ausgewählt wurden. Die möglichen Werte sind in Auswahl zeilenweise gespeichert. Content enthält die ausgewählten Werte zeilenweise.

Auswahlfeld Einfachnennung

Radio speichert einen Wert, der aus einer Liste von Werten ausgewählt wurde. Die möglichen Werte sind in Auswahl zeilenweise gespeichert. Content enthält den ausgewählten Wert aus der Liste.

Auswahlfeld … und Sonstiges

CheckSonst und RadioSonst sind identisch mit Check und Radio, können allerdings zusätzlich auch einen freien Eintrag enthalten. Dies kann allerdings auch bei Check und Radio der Fall sein, die Darstellung und Behandlung der zusätzlichen Zeilen in der Anwendung unterscheidet sich aber.

Verweis auf Partner

Partner speichert einen Verweis auf einen Partner. Gespeichert wird die ID aus Kunde.

Telefonnummer / E-Mail / URL

URL, eMail, Tel enthalten Texte, die in Anwendung formatiert dargestellt werden. Es können zwar beliebige Daten enthalten sein, die Anwendung stellt diese auch dar, aber speichert nur gültige URL, eMail und Telefonnummern.

Kategorie und Position

Mit der Kategorie und Position wird die Darstellung in den Partnerdetails festgelegt. Die Kategorie gibt an, welcher Karteireiter/Tab verwendet wird, X und Y die Pixelgenaue Position von der oberen linken Ecke ausgesehen.

Die Feldverwaltung stellt ein möglichst genaues Abbild der Partnerdetails dar. Hier kann jedes Feld per Drag&Drop in den Kategorien verschoben und innerhalb der Kategorie positioniert werden. Bei der Positionierung per Drag&Drop wird ein Raster von 10 Pixeln eingehalten, die manuelle Eingabe von X und Y ermöglicht jeden Wert.

Bei der Anlage einer Kategorie, wird angegeben, ob es sich um eine Kategorie oder Untertabelle handelt. Untertabellen werden in den Partnerdetails als Tabelle dargestellt. Die Spaltenreihenfolge wird aus der X, danach aus der Y-Position bestimmt, also von oben nach unten und links nach rechts. Außerdem kann in der Tabellenansicht sich jeder Benutzer die Spalten je nach Wunsch ein- und ausblenden.

Vorgabewerte

Jedes Feld kann einen Vorgabewert enthalten, welcher eingesetzt wird, wenn ein neuer Datensatz in der Untertabelle oder ein neuer Partner angelegt wird.

Bei einer Untertabelle wird der Vorgabewert in das Feld eingesetzt anstatt es leer zu lassen. Der Benutzer kann das Felder während der Bearbeitung noch ändern und leeren. Beim Speichern wird der dann im Feld eingetragene Wert unabhängig vom Vorgabewert gespeichert. Hat der Benutzer kein Schreibrecht auf das Feld, so wird auch der Vorgabewert nicht gespeichert.

Als Vorgabewert kann jede beliebige Zeichenfolge verwendet werden. Abhängig vom Feldtyp kann dieser allerdings noch umgewandelt oder nicht korrekt dargestellt werden. Wird z.B versucht, ein Text in ein Zahl oder Datumsfeld vorzugeben, wird dieser, soweit möglich in eine Zahl/Datum konvertiert. Es können auch intelligente Eingabewerte verwendet werden, solange diese zum entsprechenden Feldtyp passen.

Beschreibung

Der Beschreibungstext kann Anweisungen zum Ausfüllen des Felds enthalten. Der enthaltene Text wird, sofern vorhanden im Tooltip eines Felds in den Partnerdetails angezeigt.

Inhalte

Die Inhalte jedes Felds werden getrennt von der Definition des Felds gespeichert. Das bedeutet, dass wenn sich die Definition des Felds ändert die (noch) keine Auswirkungen auf die Inhalte hat.

Ist ein bestimmter Eingabewert, wie auch immer, in die Datenbank gelangt, bleibt dieser dort unverändert bis zur nächsten Änderung gespeichert unabhängig davon, was die Definition des Felds aussagt. Die Definition des Felds stellt lediglich sicher, dass der Feldinhalt (in den Partnerdetails) entsprechend dargestellt wird. Dazu kann es nötig sein, den Wert zu verändern, konvertieren, abzuschneiden, zu erweitern oder gar zu löschen. Dies geschieht in dem Moment nur für die Anzeige. In der Datenbank wird der Inhalt erst geändert, wenn ein Speichervorgang ausgelöst wird, der einen anderen Inhalt vorsieht.

Manche Feldtypen behandeln ungültige Daten die verloren gehen könnten:

  • bei Auswahlfeldern mit Sonstiges werden Daten, die nicht nicht einem Auswahlwert zuzuordnen sind, im Sonstiges-Abschnitt untergebracht.
  • bei Auswahlfeldern ohne Sonstiges werden Daten, die nicht einem Auswahlwert zugeordnet werden können, als ein eigener Auswahlwert hinzugefügt und dargestellt
  • Textfelder und Memofelder können beliebige Daten enthalten, daher ist ein Datenverlust auszuschließen.

Manche Feldtypen erzeugen mit hoher Wahrscheinlichkeit einen Datenverlust:

  • Ein Zahlfeld kann nur ein Zahl enthalten. Texte und Buchstaben werden verloren gehen. Allerdings wird ein Wert sehr Tolerant in eine Zahl umgewandelt.
  • Ein Euro Feld darf genauso wie ein Zahlfeld nur eine Zahl enthalten, sogar mit der Beschränkung auf zwei Nachkommastellen. Währungssymbole werden allerdings toleriert.
  • bei Ja/Nein Feldern wird jeder Wert abweichend von „0“, „nein“, „false“, „no“ und leer als „ja“ erkannt.
  • Eine Telefonnummer kann nur aus Ziffern und Leerzeichen bestehen. Alles andere wird ignoriert. Eine Telefonnummer wird aber um eine Landesvorwahl ergänzt, anhand einer Vorwahl-liste validiert und formatiert.