Univention-Directory-Reports

Hallo,

es gibt diese tollen Directory Reports für User, Gruppen und Rechner mit einigen Standard-Vorlagen.

Wie kann man da neue Vorlagen erstellen bzw. die vorhandenen ändern?

z.B. bräuchte ich konkret eine Liste mit Rechnern, in der aufgeführt ist, ob diese eine Samba-Konto und/oder ein Kerberos-Prinzipal haben.
Bei einem anderen Kunden würde ich gerne eine Liste mit DHCP-Objekte erstellen lassen.

Gibt es dafür eine Anleitung?
Das Verzeichnis an sich habe ich schon gefunden:
/etc/univention/directory/reports/default/de_DE

Nur nicht wie ich wo was anpassen muss. :slight_smile:

LG,
Roland.

Verwendet niemand eigene Directory Reports?

Bei der UCR-Variable
directory/reports/templates/csv/computer1
steht dabei, dass man weiterführende Infos in der “Extended domain services documentation” findet. Dort steht aber nichts darüber.

Im “Haupt”-Handbuch steht auf Seite 82, dass man neue Reportvorlagen definieren kann - nur leider nicht wie oder wo man weitere Infos findet.

Moin,

das Anlegen eigener Vorlagen ist ziemlich einfach. Die Vorlagen befinden sich in der Verzeichnishierarchie unter »/etc/univention/directory/reports«. Sie müssen jeden Bericht in der Datei »config.ini« registrieren, pro Bericht eine Zeile. Beispiel:

pdf/user2=users/user "My Custom Report" /etc/univention/directory/reports/custom my_users.tex

Achten Sie darauf, dass der Schlüssel (bei mir »pdf/user2«) innerhalb der Datei eindeutig ist.

Was bedeuten die einzelnen Felder?

[ol][li]Zuerst kommt das Modul, für das der Bericht gilt. Das sind dieselben Namen, die auch beim Tool »udm« verwendet werden, z.B. »users/user« für einen Bericht über BenutzerInnen.[/li]
[li]Das zweite Feld ist der sprechende Name, der sowohl in der UMC als auch beim Tool »univention-directory-reports« angezeigt wird.[/li]
[li]Das dritte Feld ist die Verzeichnisstruktur, in der sich die Berichtsdatei befindet. Ich habe in meinem Beispiel ein eigenes Verzeichnis dafür erstellt, »custom«. Unterhalb dieses Verzeichnisses können noch Verzeichnisse für die verschiedenen Sprachen existieren (z.B. »de_DE« und »en_US«); die UMC nutzt dann die Vorlage aus dem Verzeichnis, das der aktiven Oberflächensprache entspricht. Sie müssen aber dieses Sprach-Feature nicht nutzen und können die Vorlage auch direkt im Verzeichnis (hier: »custom«) anlegen.[/li]
[li]Das vierte Feld ist der Name der Vorlage selber. Diese wird wie unter 3. beschrieben gesucht.[/li][/ol]

Beachten Sie bei der Verwendung einer eigenen Verzeichnishierarchie, dass LaTeX-Vorlagen erwarten, dass die Dateien »header.tex« und »footer.tex« im selben Verzeichnis existieren. Sie können natürlich einfach die Dateien aus dem Standardvorlagenverzeichnis herüberkopieren.

Gruß,
mosu

Danke für die Anleitung, aber irgendwie bringe ich’s noch nicht hin.

Muss man nach einer Änderung außer univention-management-console-(web)-server noch etwas neu starten?
Der Report erscheint einfach nicht in der UMC.

Ich habe einen für DHCP-Hosts angelegt.
Auf der Command Line funktioniert es - aber den Umweg wollte ich mir eigentlich sparen. (der Kunde sowieso)

LG,
Roland.

Huhu,

zeigen Sie mir doch bitte mal den Inhalt von »/etc/univention/directory/reports« sowie die Ausgabe von »find /etc/univention/directory/reports -type f«; dann versuche ich mal, das nachzustellen. Bei meinen Tests tauchte der Bericht eigentlich sofort in der UMC auf, zumindest kann ich micht daran erinnern, etwas spezielles mit der UMC gemacht haben zu müssen.

Gruß,
mosu

Hi,

root@univention1:/etc/univention/directory/reports/default/de_DE# find /etc/univention/directory/reports -type f /etc/univention/directory/reports/default/de_DE/computers.csv /etc/univention/directory/reports/default/de_DE/header.tex /etc/univention/directory/reports/default/de_DE/dhcp.tex /etc/univention/directory/reports/default/de_DE/groups.tex /etc/univention/directory/reports/default/de_DE/users.tex /etc/univention/directory/reports/default/de_DE/groups.csv /etc/univention/directory/reports/default/de_DE/dhcp.csv /etc/univention/directory/reports/default/de_DE/footer.tex /etc/univention/directory/reports/default/de_DE/computers.tex /etc/univention/directory/reports/default/de_DE/users.csv /etc/univention/directory/reports/default/en_US/computers.csv /etc/univention/directory/reports/default/en_US/header.tex /etc/univention/directory/reports/default/en_US/groups.tex /etc/univention/directory/reports/default/en_US/users.tex /etc/univention/directory/reports/default/en_US/groups.csv /etc/univention/directory/reports/default/en_US/footer.tex /etc/univention/directory/reports/default/en_US/computers.tex /etc/univention/directory/reports/default/en_US/users.csv /etc/univention/directory/reports/config.ini

Neu sind eben die dhcp.* - Files

So sieht die CSV-Datei aus.
Das Ergebnis passt auch - (in der CLI geht’s ja)

root@univention1:/etc/univention/directory/reports/default/de_DE# cat dhcp.csv <@header@> Rechnername MAC-Adresse IP-Adresse <@/header@> <@attribute name="host"@> <@attribute name="hwaddress"@> <@attribute name="fixedaddress"@> <@footer@> <@/footer@>

Die neuen Reports werden angezeigt:

[code]root@univention1:/etc/univention/directory/reports/default/de_DE# univention-directory-reports
Usage: univention-directory-reports -m [options] dn1 dn2 …

error: module not specified (use -m)
Reports for module: groups/group

  • Standard Report
  • Standard CSV Report
    Reports for module: users/user
  • Standard CSV Report
  • Standard Report
    Reports for module: computers/computer
  • Standard CSV Report
  • Standard Report
    Reports for module: dhcp/host
  • Standard CSV Report
  • Standard Report[/code]

Die entsprechenden UCR-Variablen für den neuen Report habe ich auch gesetzt - k.A. ob das überhaupt notwendig gewesen wäre. Es ist jedenfalls schöner. :slight_smile:

ucr set directory/reports/templates/pdf/dhcp1='dhcp/host "Standard Report" /etc/univention/directory/reports/default dhcp.tex' ucr set directory/reports/templates/csv/dhcp1='dhcp/host "Standard CSV Report" /etc/univention/directory/reports/default dhcp.csv'

Hey,

Upsi, ich hätte schreiben sollen, dass Sie mir den Inhalt der »config.ini« aus dem Verzeichnis auch zeigen.

Gruß,
mosu

Mastodon