├── 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 | 17 | 23 | 29 | 35 | 45 | 55 | 61 | 62 | 63 | 64 | } 65 | 66 | Parameter DOMAIN = "WORKFLOW"; 67 | 68 | } 69 | 70 | --------------------------------------------------------------------------------