Mit Docusnap können bei Bedarf die bestehenden Tabellenstrukturen erweitert werden. Dieses Ziel kann mithilfe der Docusnap Administration durch Klick auf die Schaltfläche Tabellen verwalten, erreicht werden.
In dieser Registerkarte werden alle Beschreibungen zur Datenbankstruktur von Docusnap angezeigt. Auf der linken Seite werden alle bestehenden Tabellen und Sichten aufgelistet. In dieser Tabelle ein Filter zur Verfügung um die gesuchte Tabelle schneller zu finden. Auf der rechten oberen Seite werden die Details zu der ausgewählten Tabelle angezeigt. Auf der rechten unteren Seite werden die Felder der Tabelle angezeigt. Um die jeweiligen Einstellungen für die Datenfelder der Tabelle vorzunehmen oder weiter Felder anzulegen, muss über die Schaltfläche Felder bearbeiten der Dialog für die Anpassung der Felder geöffnet werden.
Grundsätzlich wird innerhalb von Docusnap zwischen drei verschiedenen Typen von Tabellen unterschieden:
Tabelle |
Tabellen sind real in der Datenbank vorhandene Tabellen, die für die Verwendung in Docusnap hier beschrieben werden. Alle Tabellen beginnen mit dem Präfix "t". |
Sicht |
Sichten sind Tabellen, die durch einen SQL-Select-Befehl generiert werden. Sichten können Daten aus mehreren Tabellen enthalten. Die SQL-Befehle können durch Platzhalter (z.B. FilterID) ergänzt werden, die Docusnap zur Laufzeit mit den richtigen Werten befüllt. Alle Sichten beginnen mit dem Präfix "v". |
Virtuell |
Virtuelle Tabellen werden zur Formatierung von Tabellen verwendet, die z.B. in den Docusnap-Assistenten benutzt werden. Außerdem werden sie im Baum verwendet, um Daten aus verschiedenen Datenbanktabellen in einer Tabelle ausgeben zu können. Alle Virtuellen Tabellen beginnen mit dem Präfix "i". |
Für die Definition einer Tabelle müssen verschiedene Eigenschaften definiert werden. Die Anzahl der möglichen Eigenschaften hängt vom Typ der Tabelle ab. Folgende Eigenschaften sind bei allen Tabellen verfügbar bzw. zu befüllen:
Eigenschaft |
Beschreibung |
Tabellenname |
Eindeutiger Name der Tabelle Je nach ausgewähltem Typ der Tabelle werden die Präfixe i,v oder t verwendet. Tabellen, die nicht durch den Hersteller definiert wurden, erhalten zusätzlich das Präfix x (z.B. xtSLA). |
Primärschlüssel |
Ein Feld in der Tabelle, das jeden Datensatz eindeutig identifiziert. Innerhalb Docusnap sind dies im Normalfall Felder vom Typ LONG und Auto-Inkrementfelder. |
Fremdschlüssel |
Das Feld, das die Beziehung zu einer anderen Tabelle in der Hierarchie höher darstellt. |
Anzeigefeld |
Das Feld in der Tabelle, das zur Ausgabe der Textwerte in den Hierarchien (z.B. Inventar, IT-Sicherheit usw.) verwendet wird. |
Vergleichsfeld |
Für den Datenvergleich wird ein Feld benötigt, das zwischen zwei Snapshots zur Identifizierung von zwei Datensätzen herangezogen werden kann. Ein sinnvolles Feld kann hier z.B. eine Seriennummer oder ein Rechnername sein. |
Name englisch, Name deutsch |
Bezeichnung der Tabelle in der jeweiligen Sprache. |
Achtung: Die Felder Primärschlüssel, Fremdschlüssel, Anzeigefeld und Vergleichsfeld können erst ausgewählt werden, nachdem Felder für die Tabelle angelegt wurden. Dazu muss zuerst die Tabelle ohne die genannten Eigenschaften gespeichert werden. Anschließend werden die Felder angelegt und im letzten Schritt müssen die vier genannten Felder befüllt werden. |
Sichten sind Tabellen, die auf Basis eines SQL-Select-Befehles gebildet werden. Docusnap unterstützt dies mit einer Vielzahl von Variablen, die vor der Ausführung des Select-Befehles ersetzt werden.
Der Select-Befehl hat im Wesentlichen folgende Syntax:
SELECT [DISTINCT] Auswahlliste FROM Quelle [WHERE Where-Klausel]
[GROUP BY (Group-by-Attribut)+
[HAVING Having-Klausel]]
[ORDER BY (Sortierungsattribut [ASC|DESC])+];
Im Prinzip sind alle gültigen Varianten nach dem SQL-Standard möglich.
Docusnap bietet folgende Variablen zur Verwendung in den Befehlen an. Wichtig dabei ist, dass die Variablen immer durch eine Klammerung {Variable} eingefasst werden.
Variable |
Beschreibung |
{FilterID} |
Die Variable FilterID wird immer durch den Primärschlüssel des übergeordneten Objektes ersetzt. Beispiel: Der Befehl in Docusnap select * from thosts where domainid = {FilterID} order by hostname
ergibt bei der Ausführung z.B. select * from thosts where domainid = 1 order by hostname
|
{LANGUAGEID} |
Die Variable wird durch den Integer-Code für die jeweilige Sprache ersetzt. Deutsch = 0 Englisch = 1 |
{Feldname} |
Über diese Konstruktion kann auf jedes Datenfeld in einem übergeordneten Datenobjekt zugegriffen werden. |
Der jeweilige SQL-Befehl kann direkt in das Feld SQL-Statement eingegeben werden, in dem der Befehl eingegeben oder editiert werden kann.
Da bei SQL-Select-Befehlen mehrere Tabellen miteinander verbunden werden können, weiß Docusnap im Falle eines Löschkommandos nicht, auf welche Tabelle sich der Primärschlüssel bezieht. Durch das Feld Primäre Tabelle kann die Tabelle angegeben werden, in der der Datensatz gelöscht werden soll. Wenn in dieses Feld keine Daten eingegeben werden, ist ein Löschen von Metaobjekten, die sich auf diese Tabelle beziehen, nicht möglich.
Zusätzlich zu der Verwendung von SQL-Statements für die Ausgabe von Tabellen bietet Docusnap eine Sonderform für die Ausgabe von SNMP Tabellen. Bei der SNMP-Inventarisierung werden MIBs verwendet. Um die Ergebnisse auszugeben, werden in das Feld SQL-Statement zuerst der Text SNMP: geschrieben und anschließend in Klammern die MIB und mit Beistrich getrennt die Bezeichnung. Die MIBs werden durch Strichpunkte getrennt.
Dadurch ergibt sich folgende Syntax:
SNMP:(1.3.6.1.2.1.4.20.1.1,IPAddress;1.3.6.1.2.1.4.20.1.3,SubnetMask;1.3.6.1.2.1.4.20.1.2,InterfaceID)
Um Werte auszugeben, die für jedes SNMP-Gerät nur einmal vorkommen, wird das Statement mit SNMP-Single begonnen.
Dafür wird diese Syntax verwendet:
SNMP-Single: (1.3.6.1.2.1.43.8.2.1.14.1.1,Manufacturer;1.3.6.1.2.1.43.5.1.1.17.1,SerialNumber)
Wird für einen Wert eine Division zweier Spalten benötigt, wie z.B. beim Stand des Toners, werden die beiden MIBs der Spalten mit einem Schrägstrich getrennt und bei der Ausführung des Statements wird der Quotient in dieser Spalte ausgegeben.
Das Statement hat folgende Syntax:
SNMP-Single: (1.3.6.1.2.1.43.11.1.1.9.1.1/1.3.6.1.2.1.43.11.1.1.8.1.1,TonerBlack)
Anschließend werden die Spalten der Tabelle angelegt. Als Feldname wird die Bezeichnung verwendet, die im Statement für diese MIB verwendet wurde.
Es ist möglich IT Assets an einer beliebigen Stelle im Baum auszugeben, zum Beispiel unterhalb eines Kontakts, dem sie zugewiesen wurden. Dafür muss eine Sicht mit SQL Statement erstellt werden das alle benötigten ObjectIDs auflistet. Der PropertyName wird mit dem Namen der Eigenschaft abgeglichen und der ObjectValue mit dem Primärschlüssel des übergeordneten Objekts. Da die Spalte ObjectValue vom Typ Text ist, muss die {FilterID} mit ' ' als Text angegeben werden. Durch eine Abfrage auf die {AccountID} kann gefiltert werden, dass nur Daten der jeweiligen Firma angezeigt werden. Im SQL Statement muss nur die ObjectID enthalten sein und die ObjectID muss als Spalte angelegt werden. Anschließend kann diese Sicht für ein Metaobjekt gewählt werden um die IT Assets anzuzeigen. Das folgende SQL Statement kann als Basis für das IT Asset Statement verwendet werden.
select tGOValue.ObjectID
from tGODirectory, tGO, tGOValue, tGOProperty
where tGODirectory.DirectoryID = tGO.DirectoryID and
tGO.ObjectID = tGOValue.ObjectID and
tGOValue.PropertyID = tGOProperty.PropertyID
and tGOProperty.PropertyName = 'Name of the Property' and
tGOValue.ObjectValue = '{FilterID}' and
tGODirectory.AccountID = {AccountID}
Datenfelder stellen in einer Tabelle die verschieden Spalten dar. Den Feldern werden in Docusnap bestimmte Typen zugewiesen und auch die sprachliche Darstellung (Deutsch oder Englisch) erfolgt auf Basis dieser Metabeschreibung.
Eigenschaft |
Beschreibung |
||||||||||||||||||||||||||||
Feldname |
Hier wird ein eindeutiger Feldname vergeben. Verweisfelder sollten immer auf der Endung ID enden, um sie besser identifizieren zu können. |
||||||||||||||||||||||||||||
Datentyp |
Typ des Feldes
|
||||||||||||||||||||||||||||
Referenz |
Über das Feld Referenz ist es möglich, eine ID in einen lesbaren Namen zu transferieren. Dazu muss ein Verweis auf eine Tabelle [TabellenName] oder ein Verweis auf einen Initialwert {WertName} eingegeben werden. Wenn das Referenzfeld befüllt ist, nimmt Docusnap den nummerischen Inhalt des Feldes und führt eine Abfrage auf der angegebenen Tabelle oder in den Initialwerten mit Filter auf den jeweiligen Primärschlüssel durch. Ausgegeben wird dann der Wert, der in der Zieltabelle als Anzeigefeld definiert ist. Beispiel: Feld DomainID, Referenz [tdomains] Statt z.B. der DomainID 1 wird dann docusnap.intern ausgegeben. |
||||||||||||||||||||||||||||
Name, Text |
Bezeichnung des Feldes in den jeweiligen Sprachen. Dieser Wert ist auch später in den Listen als Spaltenüberschrift sichtbar. |
||||||||||||||||||||||||||||
Sortierung |
Die Reihenfolge der Felder in Listen ist nicht alphabetisch, sondern über diesen Wert bestimmt. |
||||||||||||||||||||||||||||
Anzeigegröße |
Hier kann eine Spaltenbreite in den Ausgabelisten definiert werden (in Pixel). Falls kein Wert angegeben wird, verwendet Docusnap einen Standardwert von 80 Pixel. |
||||||||||||||||||||||||||||
Feldlänge |
Dieses Feld kann nur bei dem Datentyp String definiert werden. Hier kann die maximale zulässige Anzahl von Zeichen bestimmt werden. |
||||||||||||||||||||||||||||
Import-Verweis |
Dieses Feld definiert Felder von Verweisen, die für den Datenimport abgeglichen werden müssen. Das sind im wesentlichen Verweise wie z. B. Kommentartypen, Passworttypen usw. |
||||||||||||||||||||||||||||
Faktor |
Hier kann ein Divisor zur Umrechnung von Zahlenwerten bestimmt werden. Das Feld ist nur bei nummerischen Datentypen aktiv. Zum Beispiel würde ein Faktor von 1024 einen Wert von Byte in Kilobyte umrechnen. |
||||||||||||||||||||||||||||
Zahlenformat |
Hier können nach Standardkonventionen Formatierungen für Zahlenwerte vorgenommen werden. Gültige Platzhalter sind das #-Zeichen für beliebige Zahlenwerte und die Ziffer 0 für Zahlenwerte, die, wenn sie zu klein sind, mit führenden 0 aufgefüllt werden. Tausendertrennzeichen ist das Komma ",", das Kommazeichen ist der ".".
Beispiele: #,##0.00 MB 00 h |
||||||||||||||||||||||||||||
Icon |
Mit der Eigenschaft Icon kann pro Feld ein spezifisches Icon hinterlegt werden. Dies ist nur notwendig, wenn das Metaobjekt, welches auf die Tabelle verweist, eine vertikale Ausrichtung hat. |
||||||||||||||||||||||||||||
Feld in Listen anzeigen |
Wenn diese Option aktiviert ist, ist das Feld in den Listen von Docusnap sichtbar. |
||||||||||||||||||||||||||||
Feld in Webclient anzeigen |
Wenn diese Option aktiviert ist, wird das Feld in den Listen im Webclient angezeigt. Wenn bei einer Tabelle keine Spalten für den Webclient ausgewählt wurden, setzt Docusnap diese Option für die nach der Sortierung ersten drei Spalten. Diese Auswahl kann im Nachhinein bearbeitet werden. |
||||||||||||||||||||||||||||
Nicht vergleichen |
Durch Aktivieren dieser Option kann verhindert werden, dass dieses Feld in den Datenvergleich einbezogen wird. Das ist z.B. beim verfügbaren Speicherplatz auf einer Festplatte sinnvoll, da dieser praktisch immer verändert sein wird. |
||||||||||||||||||||||||||||
NULL-Werte nicht anzeigen |
Wenn bei der Ausgabe der Tabelle Vertikal ausgewählt wird, wird durch diese Option festgelegt, ob diese Spalte ausgegeben wird, wenn der Wert in der Datenbank NULL ist. |
Die Werte der Active Directory Eigenschaften werden in den Tabellen tADSObjectValue (nur ein Wert pro AD Objekt) und in der Tabelle tADSObjectMultiValue (mehrere Werte pro AD Objekt möglich) gespeichert. Einige dieser Werte müssen für die Ausgabe unterschiedlich formatiert werden. In den Tabellen gibt es die Spalte ADSPropertyID, der Wert dieser Spalte wird von Docusnap verwendet um die AD Eigenschaften in der Spalte ADSObjectValue richtig darzustellen. Wenn eine Tabelle oder eine Sicht eine ADSObjectValue Spalte enthält wird immer eine ADSPropertyID Spalte erwartet.
Wenn eine Sicht erstellt wird, in der mehrere Spalten mit speziellen AD Eigenschaften enthalten sind, kann die Formatierung nicht über die ADSPropertyID Spalte definiert werden. Dafür wird bei der jeweiligen Spalte eine Referenz erstellt. Mit AD_PROP_ wird definiert, dass es sich um eine Referenz für AD Eigenschaften handelt. Beispielsweise wird im Feld Referenz {AD_PROP_whenCreated} für die Eigenschaft whenCreated (Erstelldatum des AD Objekts) eingetragen. Die Spalte, die den Wert enthält, darf nicht ADSObjectValue heißen, sondern wird im SQL Statement mit AS umbenannt.
Wenn die Daten von benutzerdefinierten Tabellen beim Datenbankimport bzw. -export berücksichtigt werden sollen, müssen diese Tabellen im Importbaum eingefügt werden.