Project

Profile

Help

Workflows standardisieren » History » Revision 4

Revision 3 (Thomas Carney, 06/03/2016 02:33 PM) → Revision 4/51 (Thomas Carney, 06/03/2016 02:53 PM)

# Workflows standardisieren 

 Eine der Stärken Planios: Immerwiederkehrende Aufgaben zu Workflows machen. 

 Wir erklären wie’s geht. Am Beispiel eines einfachen Workflows für Urlaubsanträge. Das Schöne ist auch hier gilt: Einmal gelernt, immer verstanden. Für Ihren persönlichen Workflow. 

 {{>toc}} 

 ## Die Planio Workflow-Basics 

 Die Idee dahinter: Jede Aufgabe gehört zu einem Tracker, der den Workflow definiert. Am besten wir schauen uns das mal genauer an: 

 ### Tracker 

 Für uns sind Tracker so etwas wie eine Art Überaufgabe. Deswegen gehört jede Einzel-Aufgabe immer zu **einem** Tracker. Sie ist somit Teil der Überaufgabe. Kleines Beispiel? **Supportanfragen**, **Software-Bugs** oder – richtig geraten – **Urlaubsanträge**. 

 ### Status 

 Der Status beschreibt die einzelnen Zustände einer Aufgabe in Planio – z. B. **Offen**, **In Bearbeitung** oder **Erledigt**. Jede Aufgabe kann immer nur einen Status haben, der sich dabei im Zuge der Aufgabenbearbeitung verändert. 

 ### Rollen 

 Nutzer haben ihren eigenen Planio Zugang. Für die Teilnahme an Projekten. Dabei nimmt jeder eine oder mehrere Rollen gleichzeitg ein – z. B. von **Manager** und **Mitarbeiter** bis hin zu anderen Rollen wie **Kunden**. Die Rolle gibt die Berechtigungen vor. Die Berechtigungen wiederum, was jeder einzelne Nutzer sehen und nicht sehen kann. Innerhalb eines Projektes definieren sie damit auch den Workflow der Nutzer. 

 ### Workflows 

 Innerhalb eines Workflows kommt alles zusammen: Die auswählbaren Tracker, alle erlaubten Rollen sowie jeder mögliche Aufgaben-Status. Der Workflow gibt als vor, welchen der verfügbaren Status ich wählen kann. Oder welche Teile einer Aufgabe für mich sichtbar oder unsichtbar sind. 

 Kompliziert? Keine Sorge. Wir führen Sie in Ruhe durch. Damit auch Sie in den Genuss einer der größten Stärken von Planio kommen. Los geht’s! 

 ## Die Schritte zum Urlaubsantrag 

 Sie träumen vom perfekten Strand in der Karibik? Wunderbar! Dann beantragen wir doch gemeinsam Ihren Urlaub: 

 In den meisten Unternehmen wird der Urlaub üblicherweise vom Vorgesetzten genehmigt. In der Regel bedeutet das: Wir füllen den vorgedruckten Urlaubsantrag aus. Geben ein Start- und Enddatum an. Anschließend wird der Urlaub entweder genehmigt oder abgelehnt. Wenn der Antrag durch ist, können die Daten nicht mehr beliebig geändert werden. Falls der Urlaubsantrag abgelehnt wurde, ändern wir das Datum, hoffen das alles glatt geht und schwupp sind wir in der Karibik. Herrlich! 

 Und jetzt zeigen wir Ihnen wie dieser Prozess in Form eines Workflows mit Planio umsetzen lässt. Natürlich mit Anzeige im Planio Kalender. Damit jeder weiß, wann jeder Urlaub hat. 

 ## Die Werkzeuge: Tracker, Status, Rollen und Workflow 

 Wir brauchen folgende Zutaten: Ein **Tracker** namens **Urlaubsantrag**. Den jeweils passenden Status – **Offen**, **Genehmigt** und **Abgelehnt**. Zwei Rollen: **Manager** und **Angestellte**. Und los! 

 ### Tracker anlegen 

 First things first. Let's get down to business: 

   - Bitte unter **Administration → Tracker** – Klick auf **Neuen Tracker** mit Namen Urlaubsantrag. 
   - **In der Roadmap** anzeigen bitte Häkchen weg, da wir keine Urlaube nicht in der Projekt-Roadmap benötigen. 
   - Häkchen weg in allen Standardfeldern, bis auf **Beginn** und **Abgabedatum**, die wir für Anfang und Ende unseres Urlaub nutzen werden.  
   - **Workflow kopieren von** – bitte nichts auswählen. Dann auf **Anlegen**. 

 ![](creating_a\_new_tracker.png)   
 *So sieht Ihr Tracker jetzt aus* 

 ### Aufgabenstatus anlegen 

 Jetzt legen wir den passenden Status an für **Offen**, **Genehmigt** und **Abgelehnt:** 

   - Bitte unter **Administration → Aufgaben-Status** 
   - **Offen – gefunden?** Dann bitte Klick auf den Status. Und darauf achten, dass ein Häkchen gesetzt ist unter **Standardeinstellung**. Damit jede neue Aufgabe immer mit dem Status *Offen* beginnt.  
   - **Offen – nicht gefunden?** Dann bitte Klick auf **Neuer Status**, *Offen* in das Feld **Name** eintragen, Häkchen unter **Standardeinstellung** setzen. Kein Häkchen bei **Zu allen Workflows hinzufügen**, wir wollen ja hier speziell den *Urlaubsantrags-Workflow* anlegen. 
   - Klick auf **Anlegen** oder bzw. auf Neuer Status. 
   - Status für **Genehmigt** und **Abgelehnt** genauso wie bei Offen anlegen und darauf achten, dass bei **Genehmigt** ein Häkchen gesetzt ist unter **Aufgabe erledigt**. Und darauf achten: Genehmigt oder Abgelehnt nicht als Standardeinstellung speichern. 

 ![](create_an_issue_status.png)   
 *So sieht der Status Genehmigt aus* 

 ### Rollen anlegen 

 Das hier wird schön einfach: 

   - Bitte unter **Administration → Rollen und Rechte** 
   - **Manager und Mitarbeiter – gefunden?** Dann haben Sie diesen Schritt schon geschafft. In der Regel sind beide Rolle bereits voreingestellt. 
   - **Manager und Mitarbeiter – nicht gefunden?** Dann bitte Klick auf Neue Rolle, Mitarbeiter in das Feld Name eintragen, den Rest ignorieren. Aber sicherstellen, das Häkchen gesetzt sind bei **Kalender ansehen, Aufgaben anzeigen** und **Aufgaben hinzufügen** gesetzt sind. Bitte Häkchen für beide Rollen setzen. 

 ![](how_to_add_a\_role.png)   
 *Eine neue Rolle anlegen* 

 ### Workflow anlegen Define the workflow 

 Jetzt wirds richtig spannend, denn hier kommt alles zusammen: This is the fun part. Here is where it all comes together. 

   - Bitte unter **Administration → Workflow**. Navigate to **Administration** -\> **Workflow**. 
   - Unter **Rolle** – bitte **Mitarbeiter** auswählen. Select the *Staff* role and your *Vacation request* tracker. 
   - Unter **Tracker** – bitte **Urlaubsantrag** auswählen. Uncheck the **Only display statuses that are used by this tracker** checkbox and click on **Edit**. 
   - Häkchen weg – bei Zeige nur Status an, die von diesem Tracker verwendet werden. The checkbox matrix that appears lets you configure all allowed status transitions for a given role and tracker. For instance, the *Staff* workflow should have the checkbox at the lower left checked. This means that members having the role *Staff* can set an issue having a **current status** of *Rejected* back to *Open*. 
   - Klick auf **Bearbeiten** – die Checkbox-Auswahlmatrix erscheint – mit ihr kann jeder Status für jede Rolle und jeden Tracker konfiguriert werden. Beispielsweise sollte der Mitarbeiter Workflow unten links ein Häkchen bekommen bei **Abgelehnt**. Damit Mitglieder dieser Gruppe, falls der Erste Antrag abgelehnt wurde, einen neuen Versuch starten können. Dazu gleich mehr etwas tiefer. 
   - Bitte darauf achten, dass der **Mitarbeiter-Workflow** wie auf dem Screenshot aussieht: 

 Now, let's configure the *Staff* workflow according to the following screenshot:   
     ![](vacation_request_workflow_for_staff.png)   
 *Der Workflow für Mitarbeiter* 

   - Klick auf **Speichern**.   
     *Workflow for Staff role* 
   - Als nächstes wählen Sie die Rolle – **Manager**. Click on **Save**. 
   - Bitte Häkchen weg – bei Zeige nur Status an, die von diesem Tracker verwendet werden. Bitte Klick auf **Bearbeiten**. Next, select *Manager* as a role, make sure the **Only display statuses that are used by this tracker** checkbox is unchecked click on **Edit** again. 
   - Dann Häkchen analog Screenshot setzen (gleich mehr dazu): 

 Configure the *Manager* workflow according to the following screenshot:   
     ![](vacation_request_workflow_for_manager.png)   
 *Der Workflow für Manager* 

     
     *Workflow for Manager role* 
   - Klick auf **Speichern**. Click on **Save**. 

 Was war das denn jetzt alles? Werfen wir doch einen kurzen Blick auf die Screenshots. Wir haben folgendes definiert: Wait, what did we just do? Have a look at the screenshots again. What we defined is: 

   - Manager können einen offenen Urlaubsantrag auf **Genehmigt** oder **Abgelehnt** setzen. Und einen **Abgelehnt(en)** wieder auf **Offen** setzen – falls sie ihre Meinung geändert haben. *Managers* can set an open vacation request to *Approved* or *Rejected* and a *Rejected* vacation request to *Approved* (in case they changed their mind).  
   - Während Mitarbeiter wieder von **Abgelehnt** auf **Offen** gehen können. Falls Sie ihre Reisedaten ändern wollen und den Antrag neu einreichen wollen. *Staff* can only set a *Rejected* vacation request back to *Open*. (This is for when they change their dates and want to re-request approval.) 

 ### Feldberechtigungen vergeben Adapt fields permissions 

 Und so werden Felder je nach Status für die Aufgaben vergeben: Now, let's customize the issue form fields a bit according to the issue status. 

   - Bitte unter Still on the **Workflow** auf den **Reiter Feldberechtigungen** gehen. screen, select the **Fields permissions** tab. 
   - Bei **Manager** alles auf Nur Lese-Zugriff setzen, bis auf die Zeile **Thema**. For *Manager*, set everything to *read-only* except the **Subject**:   
     ![](fields_permissions_manager.png)   
     *So sehen die Feldberechtigungen für *Fields permissions for Manager aus* role* 
   - Für **Mitarbeiter** analog vorgehen. Bis auf Beginn und Abgabedatum. Hier bitte analog Screenshot vorgehen. Und Klick auf **Speichern**. For *Staff*, do the same except for the **Start date** and **Due date** fields:   
     ![](fields_permissions_staff.png)   
     *Die Feldberechtigungen für Mitarbeiter* *Fields permissions for Staff role*   
     Durch diese Einstellung können nur Mitarbeiter das Datum für ihren Urlaubsantrag ändern. Ist der Antrag genehmigt, kann das Datum nicht mehr nachträglich geändert werden. This makes sure only *Staff* can actually set the dates for a vacation request and that those dates cannot be changed anymore, once approved. 

 ## Der Urlaubsantrag Put it all to work in einem Projekt an actual project 

 Genug der Vorbereitung, Vorhang auf für unseren Antrag: That's enough of prep work. Let's try it out. 

   - Bitte unter **Projekt → Neues Projekt**. Start by creating a new project via **Projects** -\> **New project**. 
   - Vergeben Sie einen Projektnamen z. B. **Urlaubsantrag**. Give your project a name, e.g. **Vacation planning**. 
   - Häkchen weg bis auf **Aufgaben-Verwaltung** und **Kalender**. Disable all modules but **Issue tracking** and **Calendar**. 
   - Tracker – hier bitte nur **Urlaubsantrag** auswählen. Sonst nichts. Select only your **Vacation request** tracker and nothing else. 
   - Klick auf **Speichern**. Click **Create**. 

 Geschafft: Ab sofort können alle Nutzer dieses Projekt für ihre Urlaubsanträge nutzen. Eine neue Aufgabe anlegen reicht. Beginn und Abgabedatum werden abgefragt. Alle anderen nicht benötigten Felder werden ausgeblendet. That's it, you're done. Your users can now use this project for your new vacation request planning workflow. In order to submit a vacation request, all they'd have to do is create a new issue. Selecting a **start date** and a **due date** will be required when creating *vacation request* issues and all other useless fields will be hidden. 

 ![](new_issue_form.png)   
 *Die Felder für Ihren Urlaub* *Stripped down issue form for vacation requests* 

 Spielen Sie das Ganze durch. Einmal aus Manager- und Mitarbeiterperspektive. Legen Sie für das Projekt einfach die beiden Rollen an. Ohne Adminstratoren-Rechte. In order to try it out for yourself and play around with it, we recommend you create two users that have no administrator privileges and add the as *Staff* and *Manager* to your project respectively. 

 (Sollten Sie es als Administrator durchspielen, werden Sie natürlich mehr Felder beim Anlegen einer Aufgabe sehen. Das ist Ihren Berechtigungen geschuldet. Andere Nutzer sehen dann die Felder, die wir für ihren Workflow definiert haben.) (If you try it out as an administrator, don't be alarmed by the fact that you can always choose from all statuses when updating an issue. That's normal if you're an admin. Regular users will only see the statuses as defined by their workflow.) 

 ### Unser Extra: Die Kalenderansicht Bonus: The calendar view 

 Da war ja noch was. Richtig der Kalender. Nachdem Sie einige Urlaubsanträge abgegeben haben, können erscheinen die Urlaube im What's up with the **Calendar** module we've enabled in the roles and your project, you ask yourself? Well, after adding a couple of vacation requests, check out the **Calendar** tab in your project. The Planio Kalender. Für jeden sichtbar in der Monatsübersicht. calendar will give you a nice monthly overview of all vacation requests which have been tracked. 

 ![](vacation_calendar.png)   
 *Die Urlaube *Vacation calendar view in der Planio Kalenderansicht* Planio* 

 By using a [custom query](http://plan.io/blog/post/25072622222/trackers-viewing-and-grouping), you can even create a calendar view that displays only approved vacation requests. Or create a query for your managers that shows only *Open* requests that have to be approved still. 

 Über eine [**Custom Query**](http://plan.io/blog/post/25072622222/trackers-viewing-and-grouping), können Sie sogar einen Kalender erstellen, der nur die freigebenen Urlaube anzeigt. Oder nur die noch genehmigt werden müssen.