---
tags:
  - process/project
  - cimt/cip
reference:
  - "[[Managed Services Team]]"
---

> [!abstract]+ Project
> Progress:: `$= dv.view('project-progress', {file: 'CIP067 Aufbau eines einheitlichen, wiederverwendbaren Monitoring-Stacks'})`
> Target:: `$= dv.view('project-target', {file: 'CIP067 Aufbau eines einheitlichen, wiederverwendbaren Monitoring-Stacks'})`
> Bar:: `$= dv.view('project-progress-bar', {file: 'CIP067 Aufbau eines einheitlichen, wiederverwendbaren Monitoring-Stacks'})`
> Tasks:: `$= const aufgaben = dv.page('CIP067 Aufbau eines einheitlichen, wiederverwendbaren Monitoring-Stacks').file.inlinks.where(t => { const mt = dv.page(t.path); return mt.tags?.includes('process/task') && mt.status === 'In Arbeit'}); if (aufgaben.length > 0) { dv.header(4, aufgaben.length > 1 ? "Aufgaben" : "Aufgabe"); dv.list(aufgaben) }`

## Project Info

### Stakeholder
- [[Frank Füllbier]]

### Mitglieder
- [[Marcel Kuszak]]
- [[Bastian Liesigk]]
- [[Christian Kiltz]]

## Thoughts


## Resources
- https://cimtag.atlassian.net/wiki/spaces/CW/pages/5308350465/CIP+067+Aufbau+eines+einheitlichen+wiederverwendbaren+Monitoring-Stacks

## Review questions

## Termine
```dataview
LIST
FROM [[]] AND !outgoing([[]]) AND "Journal"
SORT date
```

## Aufgaben

## Offene Aufgaben
```dataviewjs
const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task')).where(p => dv.page(p.path).file.tasks.length != dv.page(p.path).file.tasks.where(t => t.fullyCompleted === true).length);

dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => {
	const page = dv.page(p.path);
	const tasks = page.file.tasks;
   	return [
   		page.file.link,
   		page.status,
   		tasks.where(t => t.fullyCompleted === true).length,
   		tasks.length
   	]
}));
```

## Aufgaben
```dataviewjs
const pages = dv.current().file.inlinks.where(p => dv.page(p.path).tags?.includes('process/task'));

dv.table(["Project", "Status", "Completed", "Tasks"], pages.map(p => {
	const page = dv.page(p.path);
	const tasks = page.file.tasks;
	return [
		page.file.link,
		page.status,
		tasks.where(t => t.fullyCompleted === true).length,
		tasks.length
	]
}));
```
