Update home authored by Michael Westergaard's avatar Michael Westergaard
[[_TOC_]]
## Usage ## ## 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](https://westergaard.eu/2020/11/gitlab-for-project-managers/). 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](https://westergaard.eu/2020/11/gitlab-for-project-managers/).
### Planning ### ### Planning ###
Panning perspectives allows planning upcoming or ongoing projects. Planning can work at the global level. Planning perspectives allows planning upcoming or ongoing projects. Planning can work at the global level.
#### Global #### #### Global ####
...@@ -14,13 +16,19 @@ Global planning allows viewing, creating and managing milestones in projects. M ...@@ -14,13 +16,19 @@ Global planning allows viewing, creating and managing milestones in projects. M
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. 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 task 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. 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](uploads/bfcaa852460a23a461c9aa8c356a06a6/Screenshot_2021-01-13_at_21.30.14.png) ![Screenshot_2021-01-13_at_21.30.14](uploads/bfcaa852460a23a461c9aa8c356a06a6/Screenshot_2021-01-13_at_21.30.14.png)
![Screenshot_2021-01-13_at_21.41.21](uploads/9633f8a62a77ca33759879903f9888da/Screenshot_2021-01-13_at_21.41.21.png) ![Screenshot_2021-01-13_at_21.41.21](uploads/9633f8a62a77ca33759879903f9888da/Screenshot_2021-01-13_at_21.41.21.png)
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 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. This mode is of less use when grouping by assignee. 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](uploads/401241b68bf545a64e9a83ed878d48b1/Screenshot_2021-01-13_at_21.30.28.png) ![Screenshot_2021-01-13_at_21.30.28](uploads/401241b68bf545a64e9a83ed878d48b1/Screenshot_2021-01-13_at_21.30.28.png)
...@@ -46,9 +54,9 @@ Regardless of which method you use, a dialog will pop up allowing editing proper ...@@ -46,9 +54,9 @@ Regardless of which method you use, a dialog will pop up allowing editing proper
![Screenshot_2021-01-13_at_21.53.30](uploads/008cbb7c15b0fa86aa924436510dd89d/Screenshot_2021-01-13_at_21.53.30.png) ![Screenshot_2021-01-13_at_21.53.30](uploads/008cbb7c15b0fa86aa924436510dd89d/Screenshot_2021-01-13_at_21.53.30.png)
Time is measured in working hours with 8 hours per working days with 5 working days a week (Mon-Fri). 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 just changed accordingly. When double clicked, the same dialog shown when creating a milestone is shown allowing either altering the milestone or deleting it entirely. 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 ### ### Overall navigation ###
...@@ -60,7 +68,7 @@ It is possible to switch between Project Manager and Developer views using the i ...@@ -60,7 +68,7 @@ It is possible to switch between Project Manager and Developer views using the i
#### Manual cache reload #### #### Manual cache reload ####
The application needs to perform a large amount of web-service calls to display the information. To make this even remotely performant, it uses [very aggressive caching](https://westergaard.eu/2020/12/cacheregistry-improved-near-real-time-caching-of-complex-object-graphs/). The caching can be a bit wonky, so currently, users can manually refresh the cache. This is a temporary workaround and needed if tickets are changed in Gitlab directly or caching for some reason buggers up. 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](https://westergaard.eu/2020/12/cacheregistry-improved-near-real-time-caching-of-complex-object-graphs/). 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](uploads/07d8f4f1b9d288d48d34f866218eb964/Screenshot_2021-01-13_at_22.02.51.png) ![Screenshot_2021-01-13_at_22.02.51](uploads/07d8f4f1b9d288d48d34f866218eb964/Screenshot_2021-01-13_at_22.02.51.png)
...@@ -73,9 +81,9 @@ Installation is as simple as 1... 2... 3. ...@@ -73,9 +81,9 @@ Installation is as simple as 1... 2... 3.
Create an application in your Gitlab instance; you want it to have these settings: Create an application in your Gitlab instance; you want it to have these settings:
![Screenshot_2021-01-13_at_21.05.14](uploads/d052befd2820269548aaf3faa1d56ee7/Screenshot_2021-01-13_at_21.05.14.png) ![Screenshot_2021-01-13_at_21.05.14](uploads/d052befd2820269548aaf3faa1d56ee7/Screenshot_2021-01-13_at_21.05.14.png)
You can be as createive as your rcreativety allows for 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). 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/` for all the URLs; you need to whitelist all the URLs (though only the first two are in use right now). Here the URLs are in a copy-paste friendly format: 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/
...@@ -97,7 +105,7 @@ http://localhost:8080/reporting/time-sheet ...@@ -97,7 +105,7 @@ http://localhost:8080/reporting/time-sheet
#### Start application #### #### 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 wait until a later version of the application that does not require a terminal. 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 \ docker run -itp 8080:8080 \
...@@ -106,9 +114,9 @@ docker run -itp 8080:8080 \ ...@@ -106,9 +114,9 @@ docker run -itp 8080:8080 \
registry.westergaard.eu/brinformatics/service-desk/servicedesk:VERSION registry.westergaard.eu/brinformatics/service-desk/servicedesk:VERSION
``` ```
`ENDPOINT` is the location of your Gitlab installation. You'll probably not fare well with the cl;oud version right now. The Gitlab where this is hosted is `https://gitlab.westergaard.eu` `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 everywhere. The one from the screenshot above is `5fbd9da7b7c6d4b2fe3f89f2e253eb71dfba07ee1de342d5531cdb4a486cd8b4` (though in keeping with the last part that's no longer the case). `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](https://gitlab.westergaard.eu/brinformatics/service-desk/container_registry/2) for a list of available versions. `VERSION` is the version of the application to run. See [here](https://gitlab.westergaard.eu/brinformatics/service-desk/container_registry/2) for a list of available versions.
...@@ -122,6 +130,12 @@ You can also run the application in a central installation allowing access for m ...@@ -122,6 +130,12 @@ You can also run the application in a central installation allowing access for m
### Run on Kubernetes ### ### Run on Kubernetes ###
TODO
### Demo instance ###
TODO
## Version history ## ## Version history ##
See [Releases](https://gitlab.westergaard.eu/brinformatics/service-desk/-/releases) for previous releases. See [Releases](https://gitlab.westergaard.eu/brinformatics/service-desk/-/releases) for previous releases.
... ...
......