Setup & Erste Schritte
mit Exply

1. Systemanforderungen

  • Java Version 8 oder 11 (andere Versionen funktionieren zur Zeit nicht)
  • Mindestens 4GB RAM auf Ihrem Server
  • Root-Zugriff für die Installation

2. Setup

2.1 Setup für Exply On-Premise (selbst-gehostet)

2.1.1 Exply trifft auf Docker (alle Plattformen)

  1. Docker auf Ihrem System installieren
    1. Windows
    2. MacOS
    3. Debian
    4. Ubuntu
    5. CentOS
    6. Fedora
    7. FreeBSD

2. Laden Sie das Exply Image von Docker Hub herunter:

docker pull exply/on-premises

3. Nutzen Sie den folgenden Befehl

docker run -it --rm -p 5050:5050 exply/on-premises

2.1.2 Exply auf Debian installieren

Die Installation von Exply auf Debian ist tatsächlich die einfachste Variante und wird mit folgendem Befehl ausgeführt:

  1. dpkg -i exply-u16-u18-d9.deb
  2. systemctl enable exply-server.service
  3. systemctl start exply-server.service
  4.  
  5. # for logs
  6. journalctl -u exply-server.service

Achten Sie darauf, dass Sie die JAVA Version 8 installiert und aktiviert haben.

  1. # only if your Java version is not 8
  2. sudo apt install openjdk-8-jre-headless
  3. sudo update-alternatives --config java

Nach dem Starten des Exply Server Service, sollten Sie in der Lage sein, sich mit Hilfe eines Webbrowsers einzuloggen und auf localhost:5050 zugreifen zu können.

Fahren Sie fort mit der grundlegenden Exply Konfiguration

2.1.3 Exply auf Debian-basierten Linux-Distributionen (wie Ubuntu) installieren

Exply auf Debian-basierten Betriebssystemen zu installieren, ist genauso einfach, wie auf Debian selbst. 

Um eine komplette Liste der Debian-basierten Betriebssysteme zu sehen, lesen Sie im folgenden Wikipedia Artikel nach: Debian-basierte Linux-Distributionen

  1. # only if your Java version is not 8
  2. sudo apt install openjdk-8-jre-headless
  3. sudo update-alternatives --config java
  4.  
  5. sudo dpkg -i exply.tgz
  6.  
  7. sudo systemctl enable exply-server.service
  8. sudo systemctl start exply-server.service
  9.  
  10. # for logs
  11. sudo journalctl -u exply-server.service

Nach dem Starten des Exply Server Service, sollten Sie in der Lage sein, sich mit Hilfe eines Webbrowsers einzuloggen und auf localhost:5050 zugreifen zu können.

Fahren Sie fort mit der grundlegenden Exply Konfiguration

2.1.4 Exply auf FreeBSD installieren

Leider haben wir bisher kein Package für FreeBSD - bisher.

Folgen Sie bitte deshalb unserer Schritt-für-Schritt Anleitung: 

Install Java 8 (JRE)

Create a new User for Exply

Download latest Exply Tar-Archive

Extract Exply Files

Create an Exply Service

Continue with first Exply configuration

2.1.4.1 Java 8 installieren (JRE)

Ubuntu 18.04 LTS ist mit Java 10 ausgestattet. Zur Zeit unterstützt Exply nur Java 8. Deshalb müssen Sie Java 8 parallel zur vorinstallierten Version installieren und Java 8 als Standardversion festlegen.

Mehr Informationen erhalten Sie auf: https://www.digitalocean.com/community/tutorials/how-to-install-java-on-freebsd-10-1

  1. # only if your Java version is not 8
  2. sudo apt install openjdk-8-jre-headless
  3. sudo update-alternatives --config java

2.1.4.2 Erstellen eines neuen Systemnutzers in Exply

  1. sudo su
  2. pw groupadd exply
  3. pw useradd exply -d /nonexistent -s /usr/sbin/nologin -g exply -w no -c "system user for Exply daemon"
  4. pw usershow exply

2.1.4.3 Extrahieren der Exply Dateien

  1. sudo su
  2. cd /var
  3. tar -xzf exply.tgz
  4. chown -R exply:exply exply/

2.1.4.4 Ein Exply Service erstellen

suchen Sie nach Java8 Home, höchstwahrscheinlich unter /usr/local/openjdk8 (falls nicht, passen Sie die Vorlage für /etc/rc.d/exply (weiter unten) an)

hängen Sie exply_enable="YES" to /etc/rc.conf an

erstellen Sie /etc/rc.d/exply mit (weiter unten) folgendem Inhalt

  1. #!/bin/sh
  2.  
  3. # add the following line to /etc/rc.conf to enable exply:
  4. # exply_enable="YES"
  5. rcvar=exply_enable
  6.  
  7. . /etc/rc.subr
  8.  
  9. name=exply
  10. desc="Exply server daemon, see /var/exply/app"
  11.  
  12. command_start_exply="cd /var/exply/app && JAVA_HOME=/usr/local/openjdk8 EXPLY_DATA_DIR=/var/exply/Data bin/server"
  13. command_args="-P /var/run/${name}.pid -f -t exply-server-daemon -u exply bash -c '${command_start_exply}'"
  14. command="/usr/sbin/daemon"
  15.  
  16. pidfile="/var/run/${name}.pid"
  17.  
  18. load_rc_config $name
  19. run_rc_command "$1"

2.1.4.5 Führen Sie Exply Service aus

service exply start

2.2 Aufsetzen von Exply für JIRA

Nachdem Sie Exply auf Ihrer JIRA Instanz heruntergeladen und istalliert haben, führen Sie Exply aus dem JIRA-Menü aus.

Exply in JIRA zu installieren ist sehr simpel. Ihre JIRA Konfiguration wird automatisch erkannt.

How to configure Exply for JIRA

Sie fragen sich wie Sie Ihre ersten Widgets erstellen können? Schauen Sie im Abschnitt "Dashboards & Widgets" vorbei.

3. Bevor Sie beginnen - die grundlegende Exply Konfiguration

Beim ersten Ausführen wird automatisch ein Admin-Nutzer erstellt:

Nutzername: admin
Passwort: password

Wir empfehlen Ihnen dringlichst, das voreingestellte Passwort zu ändern. 

Nachdem Sie sich eingeloggt haben, können Sie im Nutzermanagement (über Menü) weitere Nutzer hinzufügen.

Authentifizierung durch externe Anbieter 

Neben lokalen Exply-Nutzern unterstützen wir auch eine Authentifizierung von:

  • Twitter
  • GitHub
  • Atlassian Crowd

Bitte kontaktieren Sie uns über support@exply.io, wenn Sie eine dieser Möglichkeiten nutzen wollen. 

Beachten Sie, dass Sie Nutzer in Exply anlegen müssen, um Ihnen Rechte zu vergeben und Ihre Konfiguration anpassen zu können.

3.1 Speichernutzung reduzieren

Standardmäßig beansprucht der Exply Prozess 1 GB vom Speicher. Meistens ist dies ein fairer Trade-off zwischen Performance und Ressourcenverbrauch.

Falls Sie diese Einstellung ändern wollen, sollten Sie mit eventuell auftretender schlechter Performance oder mit Fehlermeldungen bezüglich unzureichenden Speichers rechnen. Aber Sie können es versuchen, indem Sie exply-server.conf und exply-server.service bearbeiten. Dort befinden sich auskommentierte Platzhalter für die Anpassung des Speicherverbrauchs.

Unsere Empfehlung: minimale und maximale head-Größe sollten gleich und nicht höher als der Wert von 50% des vorhandenen Speichers sein. NewSize sollte 1/3 der heap-Größe betragen. Achten Sie darauf, die Einstellungen in beiden Dateien synchronisiert zu halten.

exply-server.conf

Diese Datei befindet sich in /etc/init mit dem folgenden Standardinhalt.

description "Exply on Premise main server"
start on filesystem or runlevel [2345]
stop on runlevel [!2345]
 
respawn
umask 022
#nice
#chroot /
chdir /var/exply/app/
#limit core <softlimit> <hardlimit>
#limit cpu <softlimit> <hardlimit>
#limit data <softlimit> <hardlimit>
#limit fsize <softlimit> <hardlimit>
#limit memlock <softlimit> <hardlimit>
#limit msgqueue <softlimit> <hardlimit>
#limit nice <softlimit> <hardlimit>
#limit nofile <softlimit> <hardlimit>
#limit nproc <softlimit> <hardlimit>
#limit rss <softlimit> <hardlimit>
#limit rtprio <softlimit> <hardlimit>
#limit sigpending <softlimit> <hardlimit>
#limit stack <softlimit> <hardlimit>
setuid exply
setgid exply
console log # log stdout/stderr to /var/log/upstart/
 
env EXPLY_DATA_DIR=/var/exply/Data
# env JAVA_OPTS="-Xms1024M -Xmx1024M -XX:NewSize=341M -XX:MaxNewSize=341M"
 
exec /var/exply/app/bin/server 

exply-server.service

Diese Datei befindet sich in /lib/systemd/system mit dem folgenden Standardinhalt.

[Unit]
Description=Exply on Premise main server
 
[Service]
Type=simple
User=exply
Group=exply
Restart=always
 
Environment="EXPLY_DATA_DIR=/var/exply/Data"
# Environment="EXPLY_DATA_DIR=/var/exply/Data" 'JAVA_OPTS=-Xms512m -Xmx512m -XX:NewSize=170m -XX:MaxNewSize=170m'
 
WorkingDirectory=/var/exply/app/
ExecStart=/var/exply/app/bin/server
 
[Install]
WantedBy=multi-user.target

Depending on your operating system you can adjust the memory allocation in a similar way:
just make sure Exply starts with the correct JAVA_OPTS.

4. Wie benutzt man Exply?

Exply ermöglicht Ihnen die Auswertung Ihrer Daten mit Hilfe von Dashboards, welche analytische Widgets enthalten. Folgen Sie den nächsten Anweisungen um Ihr erstes Dashboard zu erstellen und mit der Auswertung Ihrer Daten zu beginnen.

 

5. Dashboards

5.1 Wie erstelle ich ein neues Dashboard?

Nachdem Sie sich in Exply eingeloggt haben, werden Ihnen auf der Startseite mehrere Optionen angezeigt:

  • Upload or Drag your data source file (laden Sie Ihre Datenquelle hoch oder ziehen Sie diese in das drag-and-drop Feld)
  • Connect your data source (verbinden Sie Ihre Datenquelle)
  • Create a Dashboard - analyse your data (Erstellen Sie ein Dashboard - analysieren Sie Ihre Daten)

Um ein neues Dashboards zu erstellen müssen Sie einfach nur den entsprechenden Knopf auf der Willkommensseite betätigen. 

Title Screen after logging in to Exply

Widget Explorer

Beim Erstellen eines neuen Dashboards werden Sie den Widget Explorer sehen. Es ist die einfachste Methode um eine gute Visualisierung zu finden. Wählen Sie einfach die benötigten Werte auf der linken Seite um Widgetvorschläge zu bekommen. Sie müssen vorher nicht wissen, welche Visualisierungsform Sie wollen. Wählen Sie Ihren Favoriten aus den Vorschlägen aus. 

Abhängig davon, wie viele Werte Sie auf der linken Seite auswählen, wird die Anzahl der Widgets sich verändern. Nicht jedes Widget kann alle Werte visualisieren.

Creating a new Dashboard in Exply
Creating a new Dashboard in Exply

Erweiterte Konfiguration 

Creating a new Dashboard in Exply
Creating a new Dashboard in Exply
  1. Das Dashboard Overview zeigt Ihnen alle existierenden Dashboards an (als Liste oder als Kacheln). Im Overview (Überblick) können Sie schnell ein Dashboard mit Hilfe des Plussymbols in der rechten unteren Ecke erstellen.
  2. Wählen Sie am besten einen vielsagenden Namen für Ihr Dashboard. Dieser sollte den Inhalt des Dashboards wiederspiegeln, damit andere Nutzer das Gesuchte leicht finden können.
  3. Wählen Sie den Widget-Gruppennamen nach den gleichen Regeln und Prinzipien wie den Dashboardnamen.
  4. Das Hauptmenü gibt Ihnen direkten Zugang zu allen Ihren Dashboards, den Importereinstellungen, dem Nutzermanagement, Dokument- und Feldeinstellungen, etc.
  5. Sie können die Dashboardoptionen in der oberen rechten Ecke im 3-Punkte-Menü finden. Sie können Dashboards bearbeiten, exportieren und löschen.
  6. Eines von Explys Konzepten ist das Vorhandensein verschiedener Möglichkeiten der Datenfilterung.  Jedes Dashboard und Widget besitzt diese Funktion. Sie können verschiedene Datenfilter hinzufügen, um die dargestellten Daten zu begrenzen, z.B. nach Projekt, Teammitglied, etc.
  7. Das Zeitauswahl-Widget wird automatisch in jeder neuen Widgetgruppe erscheinen, um die angezeigten Daten auf einen bestimmten Zeitraum zu begrenzen. Bitte beachten Sie: Das Entfernen des Zeitauswahl-Widgets kann zu sehr langen Ladezeiten führen (Browser reagiert eine Weile lang nicht), insbesondere wenn gar keine Filter gesetzt sind.
  8. Widgetgruppen-Einstellungen sind in jeder Widgetgruppe verfügbar. Diese erlauben es Ihnen die Gruppe hoch und runter zu bewegen, zu einer globalen Gruppe zu ernennen, zu duplizieren oder zu löschen.
  9. Die Widgets sind die eigentliche Ananlyse, z.B. gebuchte Stunden pro Projekt, zeitlicher Ablauf der erstellten Issues, etc.  Bauen und bearbeiten Sie Ihre Dashboards indem Sie neue Widgets erstellen. Sie können die Widgets so verschieben und skalieren wie es Ihnen gefällt.
  10. Manchmal möchte man mehrere Projekte, Teams oder verschiedene Zeitspannen(z.B. diesen und nächsten Monat) miteinander vergleichen. Widgetgruppen helfen Ihnen dabei. Sie können in der ersten Widgetgruppe einen Datenfilter für die erste Komponente des Vergleichs, in der zweiten Widgetgruppe einen Datenfilter für die zweite Komponente des Vergleichs, etc. setzen. Widgetgruppen sind wie Dashboards in einem Dashboard.
  11. So wie unter 10.) erklärt.
  12. Damit Ihre Änderungen wirken, müssen Sie Ihr Dashboard speichern. Ansonsten können Sie abbrechen, um Ihre Änderungen zu verwerfen.

Als erstes ist es sinnvoll einen nützlichen individuellen Dashboardnamen, (z.B. Kundenname, Projektname, Teamname, etc.) zu setzen.

Auf diese Weise wissen Sie sofort was der Inhalt des Dashboards ist. Insbesondere ist das nützlich wenn Sie viele davon haben, und das wird ganz bestimmt der Fall sein ;) Natürlich werden Ihre Kunden und Projektteams es aber auch schätzen, wenn Sie passende Bezeichnungen verwenden, da diese unter anderem die Kommunikation über das Thema erleichtern.

In unserem Beispiel wollen wir einen Überblick über das Projekt "Generelle Produktwebseite" bekommen. Deshalb geben wir dem Dashboard diesen Namen.

Der erste Teil unseres Dashboards soll uns einen schnellen Überblick geben und ist deshalb auch so betitelt. Dies macht es unter anderem für alle Nutzer einfacher zu erkennen, was sie betrachten.

Die zugehörigen Felder befinden sich in der linken oberen Ecke.

5.2 Datenfilter

Dashboard Edit Mode Configuring Data Filters in Exply

Genau unter dem Dashboardnamen befinden sich die Datenfiltereinstellungen für Ihr Dashboard.

Datenfilter sind die Grundlage Ihrer gesamten Analyse. Sie schränken ein, welche Daten in Ihren Widgets angezeigt werden, z.B. Kunden, Projekte, Teams, etc.

Es gibt drei hierarchisch angeordnete Stufen von Datenfiltern:

Rechte im Nutzermanagement

Filter für Dashboards & Widgetgruppen

Explorative Filter in Widgets

Sie funktionieren von außen nach innen wie folgt:

Nutzerrechte > Dashboard-Datenfelder > Datenauswahl im Widget

Beginnen wir bei den Nutzern. Per Standardeinstellung darf ein neuer Nutzer keine Daten sehen. Zugriffsrechte müssen von einem Admin explizit vergeben werden. Nutzer haben dann ausschließlich Zugang zu den Dashboards, die sie sehen dürfen. Zusätzlich zur Sichtbarkeit der Dashboards müssen die spezifischen Datentypen (z.B. Zeitbuchungen, Arbeitsprotokolle, etc.) und die enthaltenen Datenfelder (z.B. Projektname, Kundenname, etc.) mit dem Nutzer geteilt werden.

Zum Beispiel: wenn ein Dashboard, welches für einen Überblick genutzt wird, fünf Projekte enthält (Projekte A, B, C, D, E) und der Nutzer (z.B. ein Kunde) nur zwei der Projekte (A und B) sehen darf, dann führt die korrekte Einstellung der Nutzerrechte dazu, dass sie/er auch nur die zugehörigen Daten auf dem Dashboard sehen wird. 

Ein weiteres Beispiel: Der oben genannte Nutzer bleibt bei seinen Rechten (Projekte A und B). Diesmal zeigt das Dashboard jedoch nur die Projekte A und E. Der Kunde wird also nur Projekt A in diesem Dashboard sehen, da Projekt B nicht enthalten ist.

Hinweis: Wenn Sie Ihre Daten nicht mit Hilfe von Filtern eingrenzen, werden Sie alle Daten sehen. 

Selecting Data Types in Exply

Schritt1: Wählen Sie den Datentypen, den Sie sehen möchten, z.B. Zeitbuchungen

Select type of data that needs to be filtered

Schritt 2: Wählen Sie das Feld des Dokuments nach welchem Sie filtern wollen, z.B. Projekte, Kunden, etc.

Wir wollen ein Dashboard erstellen, welches nur Daten, die zum Projekt "ZiffCorp Consulting" gehören, anzeigt. Dafür müssen wir diese Daten filtern.

Als erstes wählen wir "Name des Projekts" als Feld des Dokuments.

Danach können wir aus diversen Operatoren wie gleich (Standardeinstellung), enthält, endet auf, beginnt mit, passt zu, und allen entgegengesetzten Operatoren auswählen. Wir nutzen die Standardeinstellung (gleich) um das Projekt direkt im nächsten Feld  auszuwählen. Wenn Sie aber jedes andere außer dem internen Projekt auswählen wollen, können Sie "ungleich" auswählen, anstatt jedes einzelne andere Projekt manuell auszuwählen.

Um das richtige Projekt auszuwählen, beginnen Sie seinen Namen einzutippen und die integrierte Autovervollständigung wird Ihnen passende Vorschläge anzeigen. Sie müssen nicht den gesamten Namen eintragen - klicken Sie einfach auf den richtigen Vorschlag und er wird ausgewählt.

Schritt 3: Wählen Sie die entsprechenden Projekte, Kunden, Teams, etc. aus, die Sie filtern möchten

Wiederholen Sie diesen Schritt, wenn Sie weitere Projekte auswählen möchten. In unserem Fall geben wir "Ziff" in das Operandenfeld ein und erhalten alle Ergebnisse, die diesen Begriff enthalten.

6. Widgets

6.1 Was sind Widgets?

Widgets werden verwendet, um Ihre Daten auf verschiedene Arten anzuzeigen.

6.2 Wie erstelle ich Widgets?

Nachdem wir den Dashboard-Datenkontext eingestellt haben, sind wir bereit, die ersten Dashboard-Widgets zu erstellen.

Durch das Klicken auf die Schaltfläche "Neues Widget hinzufügen" gelangen wir in den Widget-Bearbeitungsmodus, in dem das Balkendiagramm-Widget standardmäßig ausgewählt ist.

6.2.1 Balkendiagramm

Auswertung der JIRA-Arbeitsstunden pro Tempo-Eintrag und Teammitglied

 

Auswertung der JIRA-Arbeitsstunden pro Team

Auswertung der JIRA-Arbeitsstunden pro Teammitglied

6.2.2 Zeitreihendiagramm

Auswertung der JIRA-Arbeitsstunden pro Tag und Projekt

Configuration of the Timeline Chart in Exply

Als nächstes wollen wir die fakturierbaren Arbeitsstunden pro Epic und Tag/Monat/etc. sehen, um Höhen und Tiefen dieses Projekts identifizieren.

Wir fügen daher ein neues Widget hinzu und wählen das Zeitreihendiagramm.

In der Konfiguration stellen wir die folgenden Optionen ein:

  1. Zeit-Feld wird auf "Erstellungsdatum" gesetzt
  2. Granularität ist standardmäßig auf "automatisch" eingestellt und zeigt den optimalen Zeitraum für die gegebenen Daten an
  3. Wählen Sie "Fakturierbare Stunden" als Wertefeld und
  4. "Epic" als Stapelfeld

Das Zeitreihendiagramm kann als vertikales Balkendiagramm angezeigt werden, das jeden Zeitpunkt als separaten Balken darstellt, oder als Flächendiagramm, bei dem alle Punkte über die Zeit miteinander verbunden sind.

Außerdem begrenzt die maximale Anzahl von Stapeln, wie der Name schon sagt, die Anzahl der gestapelten Elemente. Darüber hinaus schränkt die maximale Anzahl der Dezimalstellen die angezeigten Dezimalstellen ein.

6.2.3 Ergebnistabelle

 

6.2.4 Quotenkachel

Configuration of the Quota Tile in Exply

Mit der Quotenkachel können Sie ein festes Budget pro Zeitspanne definieren, um schnell zu sehen, wie viel von diesem Budget innerhalb des definierten Zeitraums verbraucht wurde und wie viel Arbeit pro Tag erledigt werden muss, um den definierten Wert zu erreichen, abhängig von den zugeordneten Personen.

Zum Beispiel: Fakturierbare Stunden

Laufende Projekte haben oft eine feste Anzahl von Stunden, die pro Monat ( Woche, Quartal, Jahr) garantiert erledigt werden müssen.

In unserem Beispiel ist diese spezifische Anzahl der Stunden 240 im Monat. 

  1. Setzen Sie das Value Field (Wertefeld) auf Billable Hours (fakturierbare Stunden)
  2. Wählen Sie die passenden Monate
  3. Tippen Sie die Anzahl der Stunden in das Feld für die Zeitspanne
  4. Wiederholen Sie bei Bedarf diese Schritte für weitere Zeiträume
  5. Geben Sie die passende Einheit ein (z.B. Stunden)

Die Quotenkachel setzt ihre Hintergrundfarbe automatisch in Abhängigkeit vom Verhältnis des definierten und des genutzten Werts. Sie können die Farbe aber nach Ihrem Geschmack verändern wenn Sie möchten.

Bitte beachten Sie, dass die Quotenkachel von der gewählten Zeitspanne der entsprechenden Widgetgruppe abhängt.

6.2.5 Pivottabelle

Als Nächstes erstellen wir eine Pivot-Tabelle, die alle Teammitglieder mit den Epics zeigt, an denen sie gearbeitet haben, einschließlich des jeweiligen Zeitaufwands.

In unserem Beispiel führen wir folgende Schritte aus, um die benötigte Pivot-Tabelle zu erhalten:

  1. Wählen Sie "working time entries" (Arbeitszeiteinträge) als Dokumenttyp zum Pivotieren
  2. Wählen Sie "Name of Project" (Name des Projekts) als erstes Gruppierungsfeld
  3. "Name of Creator" (Name des Erstellenden)um  das Gruppenmitglied zu sehen als zweites
  4. "Epic" um ihre/seine entsprechenden Arbeitszeiteinträge pro Epic zu erhalten als drittes 

Hinweis: Das Gruppierungsfeld "Name des Projekts" ist nicht erforderlich, wenn ein geeigneter Datenfilter für das Dashboard gesetzt ist.

Dashboard speichern

Nachdem wir die ersten drei Widgets erstellt haben, sind wir bereit, den aktuellen Zustand unseres Dashboards zu speichern, indem wir auf "Speichern" in der oberen rechten Ecke klicken.

Da haben Sie es - Ihr erstes kleines Projektübersichts-Dashboard! Herzlichen Glückwunsch! :-)

Besuchen Sie die Knowledge Base, um weitere Informationen über die Arbeit mit Exply zu erhalten.