Schulungsunterlagen mit Übungsaufgaben

Transcrição

Schulungsunterlagen mit Übungsaufgaben
Schulungsunterlagen:
ARCWAY Cockpit Report Engine
Erstellen und Anpassen von
Berichtsvorlagen für
ARCWAY Cockpit
Agenda
1. Allgemeines zur Berichtsgenerierung
2. DocBook XML
3. Velocity Template Language (VTL)
4. Zugriff auf Cockpit Daten
© ARCWAY AG - Schulung Berichtsvorlagen
2
Online Hilfe zu Berichtsvorlagen
Verwenden Sie begleitend zu den Übungen die Detailinformationen aus der
Cockpit-Online-Hilfe
Wie setze ich Berichtsvorlagen ein
und wie passe ich sie an?
Wie passe ich Formatvorlagen an?
Dokumentation der verwendeten DocBook Elemente
Dokumentation der Skriptsprache VTL
Dokumentation der
Schnittstelle zu
ARCWAY Cockpit
© ARCWAY AG - Schulung Berichtsvorlagen
3
Arbeitsweise der Cockpit Report Engine
© ARCWAY AG - Schulung Berichtsvorlagen
4
Online Hilfe zu Berichtsvorlagen
Verwenden Sie begleitend zu den Übungen die Detailinformationen aus der
Cockpit-Online-Hilfe
Wie setze ich Berichtsvorlagen ein
und wie passe ich sie an?
Wie passe ich Formatvorlagen an?
Dokumentation der verwendeten DocBook Elemente
Dokumentation der Skriptsprache
Dokumentation der
Schnittstelle zu
ARCWAY Cockpit
© ARCWAY AG - Schulung Berichtsvorlagen
5
Berichtsvorlagen - Header
Berichtsvorlage muss mit meinem Header beginnen, in dem
• das Format des erstellten Berichtes (docBook oder z.B. XML, CVS)
• die Codierung der Berichtsvorlage
• die Codierung der Ausgabe-Datei
eingetragen sind.
Für die Erstellung von Word- oder HTML-Dateien ist der folgende Header zu
verwenden:
################### TEMPLATE HEADER #####################
##targetType="docbook"
##templateEncoding="Cp1252"
##targetEncoding="UTF-8"
###########################################################
<?xml version="1.0" encoding="UTF-8"?>
© ARCWAY AG - Schulung Berichtsvorlagen
6
DocBook XML
<book>
Oberstes Element
mit Titel und
Untertitel
<chapter>
<section>
<para>
Hauptkapitel
mit Titel
Unterkapitel
mit Titel
<para>
Paragraph
mit Text
Aufgabe 1
Erstellen Sie eine Berichtsvorlage, die einen Bericht der folgenden Struktur
generiert:
Aufgabe 1
1. Kapitel A
1.1 Unterkapitel a
Dies ist ein Text in Unterkapitel a
2. Kapitel B
Dies ist ein Text in Kapitel B
2.1 Unterkapitel b
© ARCWAY AG - Schulung Berichtsvorlagen
7
DocBook XML
#################### TEMPLATE HEADER ######################
##targetType="docbook"
##templateEncoding="Cp1252"
##targetEncoding="UTF-8"
###########################################################
<?xml version="1.0" encoding="UTF-8"?>
<book>
<title>Aufgabe 1</title>
<chapter>
<title>Kapitel A</title>
<section>
<title>Unterkapitel a</title>
<para>Dies ist ein Text in Unterkapitel a</para>
</section>
</chapter>
<chapter>
<title>Kapitel B</title>
<para>Dies ist ein Text in Kapitel B</para>
<section>
<title>Unterkapitel b</title>
</section>
</chapter>
</book>
© ARCWAY AG - Schulung Berichtsvorlagen
8
Textstile für Paragraphen
<para role= „Textstil“>
Standard
StandardBold
StandardSmall
StandardSmallBold
• Name einer
Formatvorlage in
Word
• Name einer Klasse in
css-Datei
…
Aufgabe 2
Erstellen Sie eine Berichtsvorlage, die einen Bericht der folgenden Struktur
generiert:
Aufgabe 2
1. Kapitel A
Dies ist ein Text im Format Standard
Dies ist ein Text im Format StandardBold
Dies ist ein Text im Format StandardSmall
Dies ist ein Text im Format StandardSmallBold
© ARCWAY AG - Schulung Berichtsvorlagen
9
Textstile für Paragraphen
################### TEMPLATE HEADER #####################
##targetType="docbook"
##templateEncoding="Cp1252"
##targetEncoding="UTF-8"
###########################################################
<?xml version="1.0" encoding="UTF-8"?>
<book>
<title>Aufgabe 2</title>
<chapter>
<title>Kapitel A</title>
<para role=„Standard“>Dies ist ein Text im Format Standard</para>
<para role=„StandardBold“>Dies ist ein Text im Format StandardBold</para>
<para role=„StandardSmall“>Dies ist ein Text im Format StandardSmall</para>
<para role=„StandardSmallBold“>Dies ist ein Text im Format StandardSmallBold</para>
</chapter>
</book>
© ARCWAY AG - Schulung Berichtsvorlagen
10
Tabellen - Strukturdefinition
<para> oder <section> oder <chapter>
<table>
<tgroup>
<colspec>
Anzahl Spalten (z.B. cols=„2“)
…
<colspec>
Spaltenbreite (z.B. colwidth=„40mm“)
<thead>
<row>
<entry>
Kopfzeile mit
…
<entry>
…
<entry>
Einträgen pro Spalte
<tbody>
<row>
<entry>
Tabellenzeilen mit Einträgen pro Spalte
…
<row>
<entry>
© ARCWAY AG - Schulung Berichtsvorlagen
…
<entry>
11
Tabellen - Strukturdefinition
Aufgabe 3
Erstellen Sie eine Berichtsvorlage, die einen Bericht der folgenden Struktur
generiert:
Aufgabe 3
1. Kapitel A
Spalte 1
Spalte 2
Spalte 3
Zelle 1.1
Zelle 2.1
Zelle 3.1
Zelle 1.2
Zelle 2.2
Zelle 3.2
Zelle 1.3
Zelle 2.3
Zelle 3.3
© ARCWAY AG - Schulung Berichtsvorlagen
12
Tabellen - Strukturdefinition
################### TEMPLATE HEADER #####################
##targetType="docbook"
##templateEncoding="Cp1252"
##targetEncoding="UTF-8"
###########################################################
<?xml version="1.0" encoding="UTF-8"?>
<book>
<title>Aufgabe 3</title>
<chapter>
<title>Kapitel A</title>
<table>
<tgroup cols="3">
<colspec colwidth="40mm"/>
<colspec colwidth="40mm"/>
<colspec colwidth="40mm"/>
<thead>
<row><entry>Spalte 1</entry><entry>Spalte
</thead>
<tbody>
<row><entry>Zelle 1.1</entry><entry>Zelle
<row><entry>Zelle 1.2</entry><entry>Zelle
<row><entry>Zelle 1.3</entry><entry>Zelle
</tbody>
</tgroup>
</table>
</chapter>
</book>
© ARCWAY AG - Schulung Berichtsvorlagen
2</entry><entry>Spalte 3</entry></row>
2.1</entry><entry>Zelle 3.1</entry></row>
2.2</entry><entry>Zelle 3.2</entry></row>
2.3</entry><entry>Zelle 3.3</entry></row>
13
Textstile für Tabellen
<table tabstyle= „Tabellenstil“>
PropertiesTable
Table
PropertiesTableWithoutFrame
<entry role= „Textstil“>
• Name einer
Tabellenvorlage
in Word
• Name einer
Klasse in cssDatei
Standard
StandardBold
StandardSmall
StandardSmallBold
• Name einer
Formatvorlage in
Word
• Name einer Klasse in
css-Datei
…
© ARCWAY AG - Schulung Berichtsvorlagen
14
Textstile für Tabellen
Aufgabe 4
Erstellen Sie eine Berichtsvorlage, die einen Bericht der folgenden Struktur
generiert:
Aufgabe 4
1. Kapitel A
Spalte 1
Spalte 2
Standard
StandardBold
StandardSmallBold
StandardSmall
© ARCWAY AG - Schulung Berichtsvorlagen
Tabellenstil:
PropertiesTableWithoutFrame
15
Textstile für Tabellen
################### TEMPLATE HEADER #####################
##targetType="docbook"
##templateEncoding="Cp1252"
##targetEncoding="UTF-8"
###########################################################
<?xml version="1.0" encoding="UTF-8"?>
<book>
<title>Aufgabe 4</title>
<chapter>
<title>Kapitel A</title>
<table tabstyle="PropertiesTableWithoutFrame">
<tgroup cols="2">
<colspec colwidth="40mm"/>
<colspec colwidth="40mm"/>
<thead>
<row><entry>Spalte 1</entry><entry>Spalte 2</entry></row>
</thead>
<tbody>
<row>
<entry role="Standard">Standard</entry>
<entry role="StandardBold">StandardBold</entry>
</row>
<row>
<entry role="StandardSmallBold">StandardSmallBold</entry>
<entry role="StandardSmall">StandardSmall</entry>
</row>
</tbody>
</tgroup>
</table>
</chapter>
</book>
© ARCWAY AG - Schulung Berichtsvorlagen
16
Links
Navigation im generierten Dokument und zu Webseiten bzw. Dateien
Interne Links
<anchor id=„eindeutigeID“/>
…
<link linkend=„eindeutigeID“>Text</link>
Externe Links zu Webseite
<ulink url=„http://www.arcway.com“>ARCWAY Webseite</ulink>
Aufgabe 5
Erstellen Sie eine Berichtsvorlage, die im ersten Kapitel 3 Verweise auf die 3
Unterkapitel in Kapitel 2 enthält.
Aufgabe 5
1. Verweise
Verweis 1
Verweis 2
Verweis 3
2. Verweiseziele
2.1 Verweisziel 1
2.2 Verweisziel 2
2.3 Verweisziel 3
© ARCWAY AG - Schulung Berichtsvorlagen
17
Links
#################### TEMPLATE HEADER ######################
##targetType="docbook"
##templateEncoding="Cp1252"
##targetEncoding="UTF-8"
###########################################################
<?xml version="1.0" encoding="UTF-8"?>
<book>
<title>Aufgabe 5</title>
<chapter>
<title>Verweise</title>
<para><link linkend="1">Verweis 1</link></para>
<para><link linkend="2">Verweis 2</link></para>
<para><link linkend="3">Verweis 3</link></para>
</chapter>
<chapter>
<title>Verweiseziele</title>
<section><title><anchor id="1"/>Verweisziel 1</title></section>
<section><title><anchor id="2"/>Verweisziel 2</title></section>
<section><title><anchor id="3"/>Verweisziel 3</title></section>
</chapter>
</book>
© ARCWAY AG - Schulung Berichtsvorlagen
18
Skriptsprache Velocity
Verwenden Sie begleitend zu den Übungen die Detailinformationen aus der
Cockpit-Online-Hilfe
Wie setze ich Berichtsvorlagen ein
und wie passe ich sie an?
Wie passe ich Formatvorlagen an?
Dokumentation der verwendeten DocBook Elemente
Dokumentation der Skriptsprache
Dokumentation der
Schnittstelle zu
ARCWAY Cockpit
© ARCWAY AG - Schulung Berichtsvorlagen
19
Velocity Template Language VTL
http://velocity.apache.org/engine/releases/velocity-1.5/user-guide.html
Editoren für VTL: http://wiki.apache.org/velocity/VelocityEditors
Konstrukt
Beispiel
Variablen
$meineVariable
Methodenaufrufe
$meineVariable.methode()
Wertzuweisung
#set( $name = „Hans“ )
#set( $i = 1 )
#set( $namen = [„Inge“, „Willi“, „Anna“] )
Verzweigung
#if ( $i > 0 )
weitere Anweisungen
#elseif
weitere Anweisungen
#else
weitere Anweisungen
#end
Schleife
#foreach ( $name in $namen)
weitere Anweisungen
#end
© ARCWAY AG - Schulung Berichtsvorlagen
20
Zuweisung, Verzweigung und Schleife
Aufgabe 6
Erstellen Sie eine Berichtsvorlage, in der die Texte „Zeile 1“, „Zeile 2“,
„Zeile 3“ und „Zeile 4“ in einer Schleife ausgegeben werden. „Zeile 3“ soll
dabei in Fettschrift ausgegeben werden. :
Aufgabe 6
1. Zeilen
Zeile 1
Zeile 2
Zeile 3
Zeile 4
© ARCWAY AG - Schulung Berichtsvorlagen
21
Zuweisung, Verzweigung und Schleife
#################### TEMPLATE HEADER ######################
##targetType="docbook"
##templateEncoding="Cp1252"
##targetEncoding="UTF-8"
###########################################################
<?xml version="1.0" encoding="UTF-8"?>
#set( $lines = ["Zeile 1", "Zeile 2", "Zeile 3", "Zeile 4"] )
<book>
<title>Aufgabe 6</title>
<chapter>
<title>Zeilen</title>
#foreach($line in $lines)
#if($line == "Zeile 3")
<para role="StandardBold">$line</para>
#else
<para role="Standard">$line</para>
#end
#end
</chapter>
</book>
© ARCWAY AG - Schulung Berichtsvorlagen
22
Makros
Zusammenfassung wiederkehrender Funktionen in Makros
Defintion:
#macro (makroname $arg1 $arg2)
Anweisungen
#end
Definition muss vor Aufruf erfolgen!
Verwendung:
#makroname( wert1, $var)
Call by Reference! D.h. im Makro kann $var geändert werden!
Aufgabe 7
Erstellen Sie eine Berichtsvorlage mit einem Makro „zeilenausgabe“, welches in einer
Schleife mit den Werten 1-5 aufgerufen wird und daraufhin die Texte „Zeile 1“,
„Zeile 2“, „Zeile 3“ und „Zeile 4“ ausgibt:
Aufgabe 7
1. Zeilen
Zeile 1
Zeile 2
Zeile 3
Zeile 4
© ARCWAY AG - Schulung Berichtsvorlagen
23
Makros
#################### TEMPLATE HEADER ######################
##targetType="docbook"
##templateEncoding="Cp1252"
##targetEncoding="UTF-8"
###########################################################
<?xml version="1.0" encoding="UTF-8"?>
#macro( zeilenausgabe $value )
<para>Zeile $value</para>
#end
#set( $values = [1,2,3,4,5] )
<book>
<title>Aufgabe 7</title>
<chapter>
<title>Zeilen</title>
#foreach($value in $values )
#zeilenausgabe( $value )
#end
</chapter>
</book>
© ARCWAY AG - Schulung Berichtsvorlagen
24
Schnittstelle zu Cockpit Daten
Verwenden Sie begleitend zu den Übungen die Detailinformationen aus der
Cockpit-Online-Hilfe
Wie setze ich Berichtsvorlagen ein
und wie passe ich sie an?
Wie passe ich Formatvorlagen an?
Dokumentation der verwendeten DocBook Elemente
Dokumentation der Skriptsprache
Dokumentation der
Schnittstelle zu
ARCWAY Cockpit
© ARCWAY AG - Schulung Berichtsvorlagen
25
Benannte Objekte in Cockpit
• Einstiegspunkte in das Cockpit-Objektmodell
• Detaillierte Schnittstellenbeschreibung in der Cockpit-Hilfe (nur Englisch)
Objektname
Beschreibung
$projectDataProvider
Zugriff auf Projekt, Verzeichnisse, Pläne und globale
Elemente
$requirementDataProvider
Zugriff auf Anforderungen und Anforderungssätze
$issueDataProvider
Zugriff auf Offene Punkte
$arrayHelper
Hilfsmethoden für den Umgang mit Arrays
(da Velocity hier wenig Unterstützung bietet)
$csvHelper
Hilfsmethoden für die Ausgabe von CSV (Comma Separated
Values) Dateien
$dateTimeProvider
Hilfsmethoden für die Abfrage der aktuelle Uhrzeit und des
aktuellen Datums
© ARCWAY AG - Schulung Berichtsvorlagen
26
Zugriffe auf Cockpit Projekte
Aufgabe 8
Erstellen Sie eine Berichtsvorlage mit einem Kapitel. Der Titel des Kapitels
soll der Projektname sein. Im Kapitel wird der Beschreibungstext zum Projekt
ausgegeben. Hierfür ist für jede Zeile in der Beschreibung ein Paragraph im
Bericht auszugeben.:
Aufgabe 8
1. Projektname
Beschreibungstext …
…
…
© ARCWAY AG - Schulung Berichtsvorlagen
27
Zugriffe auf Cockpit Projekte
#################### TEMPLATE HEADER ######################
##targetType="docbook"
##templateEncoding="Cp1252"
##targetEncoding="UTF-8"
###########################################################
<?xml version="1.0" encoding="UTF-8"?>
#set( $project = $projectDataProvider.getProject() )
<book>
<title>Aufgabe 8</title>
<chapter>
<title>$projectDataProvider.getName()</title>
#foreach($line in $projectDataProvider.getDescription())
<para role="Standard">$line</para>
#end
</chapter>
</book>
© ARCWAY AG - Schulung Berichtsvorlagen
28
Rekursive Abwicklung von Bäumen
Aufgabe 9
Erstellen Sie eine Berichtsvorlage, die für jedes Verzeichnis im
Projektnavigator ein Kapitel bzw. Unterkapitel in Word erzeugt und dort den
Beschreibungstext ausgibt. Legen Sie dazu eine Verzeichnisstruktur in
Cockpit an:
Aufgabe 9
1. Kapitel 1
1.1 Unterkapitel 1.1
1.2 Unterkapitel 1.2
2. Kapitel 2
2.1 Unterkapitel 2.1
2.1.1 Unterkapitel 2.1.1
2.1.2 Unterkapitel 2.1.2
2.2 Unterkapitel 2.2
© ARCWAY AG - Schulung Berichtsvorlagen
29
Rekursive Abwicklung von Bäumen
#################### TEMPLATE HEADER ######################
##targetType="docbook"
##templateEncoding="Cp1252"
##targetEncoding="UTF-8"
###########################################################
<?xml version="1.0" encoding="UTF-8"?>
#set( $project = $projectDataProvider.getProject() )
#macro( writeFolder $folder )
<title>$folder.getName()</title>
#foreach($line in $folder.getDescription())
<para role="Standard">$line</para>
#end
#foreach( $subFolder in $folder.getSubFolders() )
<section>
#writeFolder( $subFolder )
</section>
#end
#end
<book>
<title>Aufgabe 9</title>
#foreach($folder in $project.getRootFolders())
<chapter>
#writeFolder( $folder )
</chapter>
#end
</book>
© ARCWAY AG - Schulung Berichtsvorlagen
30
Zugriff auf „weitere Eigenschaften“
• Identifikation der Eigenschaft über eindeutige ID (z.B. custom.effort)
• Alle Objekte, für die weitere Eigenschaften angelegt werden können, unterstützen
die Methoden der Interface-Spezifikation ICustomPropertiesAccess
(Details siehe Cockpit-Hilfe)
Methode
Beschreibung
hasCustomProperties()
Prüft, ob für das Objekt weitere Eigenschaften eingerichtet sind.
getAllCustomPropertyIDs()
Liefert die IDs aller weiteren Eigenschaften des Objektes.
getDatatypeDisplaynameOfProperty(propertyTypeID)
getDisplaynameOfProperty( propertyTypeID)
Liefert Datentyp und Anzeigename der weiteren Eigenschaft.
hasPropertyValue(propertyID)
Prüft, ob für die weitere Eigenschaft ein Wert gesetzt ist
getPropertyAsString(propertyID)
getPropertyAsStringArray(propertyID)
getPropertyAsStringList(propertyID)
getFileProperty(propertyID)
Liefert der Wert der Eigenschaft als Zeichenkette, Liste oder Array
von Zeichenketten (bei mehrzeiligen Texten) oder als Datei.
...
© ARCWAY AG - Schulung Berichtsvorlagen
31
Zugriff auf „weitere Eigenschaften“
Aufgabe 10
Erweitern Sie die Berichtsvorlage derart, das nach der Ausgabe der
Beschreibung geprüft wird, ob das Verzeichnis über weitere Eigenschaften
verfügt. Sind weitere Eigenschaften angegeben, so sollen diese in der
folgenden Form ausgegeben werden:
-Ein Paragraph im Format StandardBold für das Label
-Ein Paragraph im Format Standard für jede Zeile des Wertes der Eigenschaft
bzw. für die Grafik, bei eine Eigenschaft vom Typ „Datei“.
Legen Sie verschiedenen weitere Eigenschaften für Verzeichnisse an. Belegen
Sie die weiteren Eigenschaften bei einzelnen Verzeichnissen mit Werten und
testen Sie Ihren Report.
© ARCWAY AG - Schulung Berichtsvorlagen
32
Zugriff auf „weitere Eigenschaften“
. . .
#set( $project = $projectDataProvider.getProject() )
#macro( writeFolder $folder )
<title>$folder.getName()</title>
#foreach($line in $folder.getDescription())
<para role="Standard">$line</para>
#end
#foreach( $id in $folder.getAllCustomPropertyIDs())
#if ( $folder.hasPropertyValue( $id ) )
<para role="StandardBold">$folder.getDisplaynameOfProperty( $id )</para>
#if($folder.getDatatypeDisplaynameOfProperty( $id ).equals( "Datei" ))
<para role="Standard">$folder.getFileProperty( $id )</para>
#else
#foreach( $line in $folder.getPropertyAsStringList( $id ))
<para role="Standard">$line</para>
#end
#end
#end
#end
#foreach( $subFolder in $folder.getSubFolders() )
<section>
#writeFolder( $subFolder )
</section>
#end
#end
<book>
<title>Aufgabe 10</title>
#foreach($folder in $project.getRootFolders())
. . .
© ARCWAY AG - Schulung Berichtsvorlagen
33
Kontakt:
ARCWAY AG
Alt Moabit 90b
10559 Berlin
+49.30.800 9783-0
[email protected]
www.arcway.com
© ARCWAY AG - Schulung Berichtsvorlagen
34

Documentos relacionados