bpmnVisualizationR
is an R package for visualizing process execution data on BPMN diagrams, using overlays, style customization and interactions.
It is made possible by htmlwidgets, which provides an easy-to-use framework for bringing together R and the bpmn-visualization TypeScript library.
Devtools is an R package used to ease the installation and the development of other R packages.
It can be installed from the R console:
install.packages('devtools')Install bpmnVisualizationR
The latest stable version of the bpmnVisualizationR
package can be obtained from CRAN with the command:
install.packages("bpmnVisualizationR")
To install a dedicated version (available versions can be found in the GitHub releases page), run:
devtools::install_github("process-analytics/bpmn-visualization-R@v0.5.0")
Or install the development version:
devtools::install_github("process-analytics/bpmn-visualization-R")
Then, make the library available to the current R project:
library(bpmnVisualizationR)
bpmnVisualizationR
accepts a BPMN file (or an XML document):
# File from the package bpmn_file <- system.file("examples/Email_Voting.bpmn", package = "bpmnVisualizationR")
Or
bpmn_file <- file.choose()
Or
bpmn_file <- "path_to_bpmn_file"
Or
bpmn_file <- "<?xml version="1.0" encoding="UTF-8"?> ...xml_content"
💡 The package provides some BPMN examples.
They are taken from the BPMN 2.0 examples non-normative machine-readable files.
bpmnVisualizationR::display(bpmn_file)Display the BPMN diagram with overlays
overlays <- list(bpmnVisualizationR::create_overlay("bpmn_element_id_1", "42"), bpmnVisualizationR::create_overlay("bpmn_element_id_2", "9")) bpmnVisualizationR::display(bpmn_file, overlays)
style <- bpmnVisualizationR::create_overlay_style( font_color = 'WhiteSmoke', font_size = 19, fill_color = 'Teal', stroke_color = 'SpringGreen' ) overlay <- bpmnVisualizationR::create_overlay("bpmn_element_id_1", "42", style, "middle-right")
ℹ️ To see more information about the value of position
in bpmn-visualization-js library, please visit https://process-analytics.github.io/bpmn-visualization-js/api/types/OverlayPosition.html.
bpmnVisualizationR::display(bpmn_file, overlays, enableDefaultOverlayStyle=FALSE)
bpmnElementStyles <- list( bpmnVisualizationR::create_shape_style( elementIds = list("call_activity_1_1"), stroke_color = 'RoyalBlue', font_color = 'DarkOrange', font_family = 'Arial', font_size = 12, font_bold = TRUE, font_italic = TRUE, font_strike_through = TRUE, font_underline = TRUE, opacity = 75, fill_color = 'Yellow', fill_opacity = 50 ), bpmnVisualizationR::create_edge_style( elementIds = list("start_event_1_1"), stroke_color = 'DeepPink', stroke_width = 3, stroke_opacity = 70, font_color = 'ForestGreen', font_family = 'Courier New', font_size = 14, font_bold = TRUE, font_italic = TRUE, font_strike_through = FALSE, font_underline = FALSE, font_opacity = 80, opacity = 80 ) ) bpmnVisualizationR::display( bpmn_file, bpmnElementStyles = bpmnElementStyles, width='auto', height='auto' )
ℹ️ It is possible to apply styles to both BPMN edges and shapes simultaneously by adding them to the shared bpmnElementStyles
list.
bpmnElementStyles <- list( bpmnVisualizationR::create_shape_style( elementIds = list("message_flow_1_1"), stroke_color = 'RoyalBlue', font_color = 'DarkOrange', font_family = 'Arial', font_size = 12, font_bold = TRUE, font_italic = TRUE, font_strike_through = TRUE, font_underline = TRUE, opacity = 75, fill_color = 'Yellow', fill_opacity = 50 ), bpmnVisualizationR::create_edge_style( elementIds = list("sequence_flow_1_4"), stroke_color = 'DeepPink', stroke_width = 3, stroke_opacity = 70, font_color = 'ForestGreen', font_family = 'Courier New', font_size = 14, font_bold = TRUE, font_italic = TRUE, font_strike_through = FALSE, font_underline = FALSE, font_opacity = 80, opacity = 80 ) ) bpmnVisualizationR::display( bpmn_file, bpmnElementStyles = bpmnElementStyles, width='auto', height='auto' )
ℹ️ It is possible to apply styles to both BPMN edges and shapes simultaneously by adding them to the shared bpmnElementStyles
list.
The following displays a BPMN diagram provided as an example by the package with an overlay on top of a BPMN element.
# Install and load the shiny package install.packages("shiny") library(shiny) displayBpmn <- function() { bpmn_file <- system.file("examples/Travel_Booking.bpmn", package = "bpmnVisualizationR") style <- bpmnVisualizationR::create_overlay_style( font_color = 'Black', font_size = 25, fill_color = 'MediumSpringGreen', stroke_color = 'MediumSpringGreen' ) overlays <- list(bpmnVisualizationR::create_overlay("_6-203", "9", style, "bottom-right")) bpmnVisualizationR::display(bpmn_file, overlays) } ui <- shinyUI(fluidPage( titlePanel("Display bpmn diagrams with execution data"), bpmnVisualizationR::bpmnVisualizationROutput('bpmnContainer') ) ) server = function(input, output) { # renderBpmnVisualization is the R bridge function to the html widgets output$bpmnContainer <- bpmnVisualizationR::renderBpmnVisualizationR({ displayBpmn() }) } shinyApp(ui, server)
To contribute to bpmnVisualizationR
, fork and clone this repository locally and commit your code on a separate branch.
Please write tests for your code before opening a pull-request.
You can find more detail in our Contributing guide. Participation in this open source project is subject to a Code of Conduct.
✨ A BIG thanks to all our contributors 🙂
bpmnVisualizationR
is released under the Apache 2.0 license.
Copyright © from 2021, Bonitasoft S.A.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4