16 home
Michael Westergaard edited this page 2021-01-19 22:12:50 +01:00

[[TOC]]

Usage

I Я Project Manager has many perspectives and they will all make your wildest dreams come true. For a (slightly older) write-up about the underlying ideas + plans, check out this blog post.

Planning

Planning perspectives allows planning upcoming or ongoing projects. Planning can work at the global level.

Global

Global planning allows viewing, creating and managing milestones in projects. Milestones can be colored and grouped using the selection boxes at the top and managed using the Gantt chart itself.

Coloring and Grouping

The global view supports 3 kinds of colorings: by project, by status, or by load. Each of these supports grouping tasks by tickets or assignee.

Coloring by project looks like this. This is in particular useful to get a very high-level overview of many ongoing projects to to see who is working on what.

Screenshot_2021-01-13_at_21.30.14

Screenshot_2021-01-13_at_21.41.21

Coloring by status is the default and looks like this. This is in particular useful for assessing the status of individual projects.

Closed, Active and Future states should be self-evident. Past due means a milestone's end-date has passed without the milestone being closed, and Behind schedule that actual progress does not match up with estimated progress.

Progress of milestones is shown using two progress bars darkening the milestone background. The top one shows actual progress and the bottom one progress compared to estimates.

This mode is of less use when grouping by assignee.

Screenshot_2021-01-13_at_21.30.28

Coloring by load counts how many concurrent projects are running per group or per assignee. This allows finding hot spots in projects or when resources might be over-committed.

Screenshot_2021-01-13_at_21.30.46

Screenshot_2021-01-13_at_21.41.31

Filtering

By default, all projects are shown. It is possible to filter the projects displayed, e.g., to focus on one or a set of projects, or all projects in one or more groups.

Screenshot_2021-01-19_at_22.07.45

The filter box supports filtering so you can filter your filters while you filter (or search for a particular project/group if you prefer more telling but less memetastic descriptions):

Screenshot_2021-01-19_at_22.07.57

Adding/removing/editing Milestones

Milestones can be manipulated directly in the chart. Not all milestones can be manipulated (only active milestones) and not in all modes (currently, milestones cannot be manipulated in load coloring or in assignee grouping).

Milestones can be added using the blue plus icon or by dragging in an appropriate swimlane. The plus appears in the project overview on the left for projects only (i.e., not on groups and not on milestone rows).

Screenshot_2021-01-13_at_21.50.39

It is also possible to add tasks by clicking and dragging in a project row:

Screenshot_2021-01-13_at_21.52.56

Regardless of which method you use, a dialog will pop up allowing editing properties of the task.

Screenshot_2021-01-13_at_21.53.30

Time is measured in working hours with 8 hours per working day, and with 5 working days per week (Mon-Fri).

Milestones can be manipulated by double clicking on them or by dragging them in the swimlane. When dragged, the duration/period is changed accordingly with no further action. When double clicked, the same dialog shown when creating a milestone is shown, allowing altering the milestone or deleting it entirely.

Overall navigation

Different modes

It is possible to switch between Project Manager and Developer views using the icons on the top left. This has little utility presently, but developers only see projects with actual milestones.

Screenshot_2021-01-13_at_21.59.34 Screenshot_2021-01-13_at_21.59.27

Manual cache reload

The application needs to perform a large amount of web-service calls to gather the information shown. To make this even remotely performant, it uses very aggressive caching. The caching can be a bit wonky, so currently, users can manually refresh it. This is a temporary workaround and needed if tickets are changed in Gitlab directly or caching for some reason buggers up.

Screenshot_2021-01-13_at_22.02.51

Installation

Installation is as simple as 1... 2... 3.

Setting up application in Gitlab

Create an application in your Gitlab instance; you want it to have these settings: Screenshot_2021-01-13_at_21.05.14

You can be as creative as your creativity allows with the application name, and you can switch off Trusted if you prefer (it will mean users have to approve the application gains access to their Gitlab resources).

Make sure to use the proper base URL (instead of http://localhost:8080/ in all URLs); you need to whitelist all URLs (though only the first two are in use right now). Here are the URLs in a copy-paste friendly format:

http://localhost:8080/
http://localhost:8080/planning/global
http://localhost:8080/planning/project
http://localhost:8080/doing/todo
http://localhost:8080/doing/random
http://localhost:8080/evaluating/milestones
http://localhost:8080/reporting/burndown
http://localhost:8080/reporting/time-report
http://localhost:8080/reporting/time-sheet

Run in Docker

Prerequisites

Start application

Execute the below command in a terminal. If you don't have a terminal or don't know how to use a terminal, you'll probably want to wait until a later version of the application that does not require a terminal.

docker run -itp 8080:8080 \
   -e eu_brinformatics_servicedesk_auth_endpoint=ENDPOINT \
   -e eu_brinformatics_servicedesk_auth_clientid=SECRET \
   registry.westergaard.eu/brinformatics/service-desk/servicedesk:VERSION

ENDPOINT is the location of your Gitlab installation. You'll probably not fare well with the hosted version right now (starting with version 0.1.2 it might work, but has not been tested). The Gitlab where this is hosted is https://gitlab.westergaard.eu

SECRET is the application id you get when setting up the application in Gitlab. It's not super secret but you should probably also not just hand it out to anybody asking for it. The one from the screenshot above is 5fbd9da7b7c6d4b2fe3f89f2e253eb71dfba07ee1de342d5531cdb4a486cd8b4 (though in keeping with the last part that's no longer the case).

VERSION is the version of the application to run. See here for a list of available versions.

Access application

Server installation

You can also run the application in a central installation allowing access for multiple people. For that, you'll realistically want to put it behind an encrypting HTTPS proxy. The application may get repackaged to handle that automatically, but for now you're on your own or suggested to use the Kubernetes installation with an ingress below.

Run on Kubernetes

TODO

Demo instance

TODO

Version history

See Releases for previous releases.

See Milestones for upcoming releases.

You can also view the planning on this demo instance. TODO