MCMS DevDoc

Entwicklerhandbuch :: Eclipse :: WPML :: Modelle

WPML: Modelle

« Plugin Service »

Überblick

Modele sind Datenobjekte, mit denen Prozesse im System durchgeführt werden. Typische Beispiele hierfür sind das Laden oder Speicher von Daten in der Datenbank oder das Darstellen oder Bearbeiten von Daten auf einer Seite.

Modeldefinition

Innerhalb einer Bibliothek oder eines Modules wird ein Datenmodel wie folgt definiert:

	MODEL Entry {
		id ObjectID;
		name String;
		date Date;

		PKEY id;
		INDEX names name;
	}

Nach dem Schlüsselwort MODEL folgt ein eindeutiger Bezeichner für das Model. Datenbanktabellen besitzten später den Namen des Models mit einem angehängten s (dies ist von der Rechtsschreibung gesehen im Englischen nicht immer richtig, jedoch technisch nicht mit sinnvollem Aufwand besser umzusetzten).
Hierrauf folgt die Definition der einzelnen Attribute des Objekts.
Abschliesend können noch Primärschlüssel und Indices angegeben werden, die erstellt werden sollen.

Attributdefinition

[~] {Name} [NULLABLE] [LOCALIZED] [{Basistyp}|{Erweiterter Typ}];
~
Macht das Attribut transistent, d.h. es wird nicht in der Datenbank gespeichert bzw keine Tabellenspalten hierfür angelegt.
{Name}
Der Name des Models
NULLABLE
Definiert, dass das Attribut auch NULL enthalten darf
LOCALIZED
Für Texttypen: Macht das Attribut mehrsprachenfähig. Hierdurch entsteht eine zweite Tabelle, die nur die Texte dieses Models enthält, den Primärschlüssel zur Verknüpfung sowie eine Spalte für den Sprachcode.
{Basistyp}
Einer der folgenden Datentypen (Liste wird bei Bedarf erweitert):
  • Boolean
    Wahrheitswert (true/false)
  • Long
    64-bit Ganzzahlen
  • Integer
    32-bit Ganzzahlen
  • Short
    16-bit Ganzzahlen
  • Float
    Kommazahlen
  • String(Länge)
    Zeichenketten bis 255 Zeichen
  • Text
    Langtexte
  • BinString(Länge)
    Binärdaten bis 255 Byte
  • Blob
    Große Binärdaten
  • Date
    Datum
  • Time
    Uhrzeit
  • DateTime
    Datum mit Uhrzeit
  • ObjectID
    Eine automatisch genertierte, tabellenweit eindeutige Ganzzahl (Attribut muss auch im Primärschlüssel aufgenommen werden)
  • UserID
    Benutzer-ID
  • GroupID
    Gruppen-ID
  • EMail
    E-Mail-Adresse
  • URL
    Internet-Adresse
  • HTML
    HTML-Dokument oder Fragment
  • Money
    Geldbetrag
  • Percent
    Prozentbetrag
  • Password
    Passwort
  • Object
    Generisches Objekt