:

    Erweiterung der Struktur

    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.

    Docusnap-Extras-Metatabellen-verwalten

    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 steht 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.

    Docusnap-Extras-Metatabellen-verwalten-Felder

    Grundsätzlich wird innerhalb von Docusnap zwischen drei verschiedenen Typen von Tabellen unterschieden:

    TypBeschreibung
    TabelleTabellen 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”.
    SichtSichten 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”.
    VirtuellVirtuelle 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”.

    Eigenschaften für alle Tabellen

    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:

    EigenschaftBeschreibung
    TabellennameEindeutiger 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).
    NamespaceBeim Anlegen neuer Tabelle kann im Kombinationsfeld ein Namespace eingetragen oder ein bestehender Namespace ausgewählt werden. Durch den Namespace kann beim Export der benutzerdefinierten Tabellen definiert werden, welche Tabellen exportiert werden sollen.
    PrimärschlüsselEin Feld in der Tabelle, das jeden Datensatz eindeutig identifiziert. Innerhalb Docusnap sind dies im Normalfall Felder vom Typ LONG und Auto-Inkrementfelder.
    FremdschlüsselDas Feld, das die Beziehung zu einer anderen Tabelle in der Hierarchie höher darstellt.
    AnzeigefeldDas Feld in der Tabelle, das zur Ausgabe der Textwerte in den Hierarchien (z.B. Inventar, IT-Sicherheit usw.) verwendet wird.
    VergleichsfeldFü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 deutschBezeichnung der Tabelle in der jeweiligen Sprache.

    Eigenschaften für Sichten

    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.

    VariableBeschreibung
    {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.
    Achtung: Dies funktioniert nur bei Datenobjekten und nicht bei Überschriften.

    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.

    SNMP-Statements

    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.

    IT-Asset Statements

    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

    Datenfelder stellen in einer Tabelle die verschiedenen Spalten dar. Den Feldern werden in Docusnap bestimmte Typen zugewiesen und auch die sprachliche Darstellung (Deutsch oder Englisch) erfolgt auf Basis dieser Metabeschreibung.

    EigenschaftBeschreibung
    FeldnameHier wird ein eindeutiger Feldname vergeben. Verweisfelder sollten immer auf der Endung ID enden, um sie besser identifizieren zu können.
    Felder, die nicht vom Hersteller definiert werden, erhalten als Präfix ein x, um Namenskollisionen zu vermeiden.
    DatentypTyp des Feldes

    Blob: Binärfeld zur Speicherung von Binärdaten wie z.B. Anlagen

    Boolean: Ja/Nein-Feld

    Byte: Nummerisches Ganzzahlfeld mit Werten von 0 bis 255

    Date: Datumsfeld

    Decimal: Dezimalfeld für Gleitkommazahlen

    GUID: GUID-Wert

    Kombination: Feld zur Kombination von mehreren Feldern. Feldnamen werden mit @-Zeichen identifiziert, normale Texte mit Hochkommas ‘Text’ geklammert. Durch den Operator + können die Werte verbunden werden.
    Texte in <> Klammern werden nur angezeigt, wenn nach ihnen noch Texte folgen.

    Beispiel: @Lastname + '<, >' + @Firstname

    Ausgabe:
    Maier, Franz
    oder, falls kein Vorname ausgefüllt ist,
    Maier

    Kombinationsfelder sollten ausschließlich als Anzeigefelder benutzt werden.

    Int: Ganzzahl

    BigInt: Der Datentyp BigInt ist für Fälle bestimmt, in denen ganzzahlige Werte den durch den Datentyp int unterstützten Bereich überschreiten.

    Memo: Text ohne Längenbeschränkung

    String: Text

    SID: Konvertiert eine SID in den zugehörigen ADS Namen. Die Konvertierung ist nur möglich, wenn die Tabelle oder Sicht an einer Stelle eingebunden wird, bei der sich irgendwo in der übergeordneten Struktur der Knoten für die Firma befindet.
    Version: Versionen stehen meist in einem String-Feld und würden daher alphabetisch sortiert werden. Um Version 12 nach Version 4 auszugeben, wird der Datentyp Version verwendet.
    Zeit: Der Datentyp Zeit wird verwendet um einen Zeitpunkt auszugeben, wenn der Wert in Ticks inventarisiert wird.
    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 (Deutsch, Englisch)Bezeichnung des Feldes in den jeweiligen Sprachen. Dieser Wert ist auch später in den Listen als Spaltenüberschrift sichtbar.
    SortierungDie Reihenfolge der Felder in Listen ist nicht alphabetisch, sondern über diesen Wert bestimmt.
    AnzeigegrößeHier kann eine Spaltenbreite in den Ausgabelisten definiert werden (in Pixel). Falls kein Wert angegeben wird, verwendet Docusnap einen Standardwert von 80 Pixel.
    FeldlängeDieses Feld kann nur bei dem Datentyp String definiert werden. Hier kann die maximale zulässige Anzahl von Zeichen bestimmt werden.
    Import-VerweisDieses 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.
    FaktorHier 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.
    ZahlenformatHier 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
    IconMit 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.
    NamespaceWenn die Tabellen des Herstellers um Spalten erweitert werden, dann kann für die erstellte Spalte der Namespace gewählt oder ein neuer eingetragen werden. Beim Export eines Customizings kann über die Namespaces definiert werden, welche Spalten berücksichtigt werden sollen. Der Namespace der Spalte kann nach dem Speichern nicht mehr geändert werden.
    Feld in Listen anzeigenWenn diese Option aktiviert ist, ist das Feld in den Listen von Docusnap sichtbar.
    Feld in Webclient anzeigenWenn 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 vergleichenDurch 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 anzeigenWenn 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.

    ADS Eigenschaften ausgeben

    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.

    Export und Import der Datenbank

    Wenn die Daten von benutzerdefinierten Tabellen beim Datenbankimport bzw. -export berücksichtigt werden sollen, müssen diese Tabellen im Importbaum eingefügt werden.