├── sc-list.txt
├── Locale
├── WORKFLOW_en.xml
└── WORKFLOW_ru.xml
├── LICENSE
├── README.md
├── dfi
└── Workflow
│ ├── AvgByRole.pivot.dfi
│ ├── InWorkCounter.pivot.dfi
│ ├── AvgByUser.pivot.dfi
│ └── Workflow.dashboard.dfi
└── cls
└── Workflow
└── Cube.cls
/sc-list.txt:
--------------------------------------------------------------------------------
1 | Workflow-AvgByRole.pivot.dfi
2 | Workflow-AvgByUser.pivot.dfi
3 | Workflow-CompletedPerMonthByRole.pivot.dfi
4 | Workflow-InWorkCounter.pivot.dfi
5 | Workflow-Workflow.dashboard.dfi
6 | Workflow.pkg
7 |
--------------------------------------------------------------------------------
/Locale/WORKFLOW_en.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Username
5 | %Search
6 | Listing
7 | YearCompleted
8 | YearCreated
9 | MonthCompleted
10 | CompletionTime
11 | TimeCreated
12 | DayCreated
13 | Status
14 | TimeCompleted
15 | DayCompleted
16 | IsComplete
17 | MonthCreated
18 | Priority
19 | WORKFLOW
20 | Role
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Locale/WORKFLOW_ru.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Имя пользователя
5 | Поиск
6 | Листинг
7 | Год выполнения
8 | Год создания
9 | Месяц выполнения
10 | Время выполнения
11 | Время создания
12 | День создания
13 | Статус
14 | Время выполнения
15 | День выполнения
16 | Выполнено?
17 | Месяц создания
18 | Приоритет
19 | WORKFLOW
20 | Роль
21 |
22 |
23 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 InterSystems
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # EnsembleWorkflowBI
2 | DeepSee Cube and sample dashboards for Ensemble Workflow. Tested on 2015.1 and later.
3 |
4 | ## Installation
5 |
6 | 1. Import latest release or all XMLs (except from `Locale` folder) into any Ensemble enabled namespace.
7 | 2. Compile: `Do $system.OBJ.Compile("Workflow.Cube")`
8 | 3. Build cube: `Do ##class(%DeepSee.Utils).%BuildCube("WORKFLOW")`
9 | 4. (Optional) For localization call: `Do ##class(%MessageDictionary).ImportDir(dir)` where dir is a path to `Locale` folder.
10 |
11 | ## Development
12 |
13 | Development is done via [Cache-Tort-Git](https://github.com/intersystems-ru/cache-tort-git).
14 |
15 | ## Localization development
16 |
17 | Execute in a terminal to regenerate basic localization:
18 |
19 | ```
20 | Kill ^CacheMsg("WORKFLOW")
21 | ZWrite ^CacheMsg("WORKFLOW")
22 | Set $mvv(58)="en"
23 | Set dir = "C:\temp\EnsembleWorkflowBI\Locale"
24 | Do $system.OBJ.Compile("Workflow.Cube")
25 | Do ##class(%MessageDictionary).ExportDomainList(dir _ "WORKFLOW_en.xml","WORKFLOW", "en")
26 | Do ##class(%MessageDictionary).ExportDomainList(dir _ "WORKFLOW_ru.xml","WORKFLOW", "ru")
27 | Do ##class(%MessageDictionary).ImportDir(dir)
28 | ```
29 | ## Discussion
30 | For more information on the app and further discussion please check the article [Visualizing Ensemble Workflow task execution
31 | ](https://community.intersystems.com/post/visualizing-ensemble-workflow-task-execution)
32 |
--------------------------------------------------------------------------------
/dfi/Workflow/AvgByRole.pivot.dfi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/dfi/Workflow/InWorkCounter.pivot.dfi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/dfi/Workflow/AvgByUser.pivot.dfi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/dfi/Workflow/Workflow.dashboard.dfi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | false
6 |
7 |
8 |
9 |
10 | false
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/cls/Workflow/Cube.cls:
--------------------------------------------------------------------------------
1 | Include EnsUtil
2 |
3 | ///
4 | Class Workflow.Cube Extends %DeepSee.CubeDefinition [ DependsOn = EnsLib.Workflow.TaskResponse ]
5 | {
6 |
7 | /// Cube definition from Architect.
8 | XData Cube [ XMLNamespace = "http://www.intersystems.com/deepsee" ]
9 | {
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 | }
65 |
66 | Parameter DOMAIN = "WORKFLOW";
67 |
68 | }
69 |
70 |
--------------------------------------------------------------------------------