Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Process Framework: Enable Workflow Rendering in Markdown and Images #9514

Open
joslat opened this issue Nov 3, 2024 · 1 comment
Open

Process Framework: Enable Workflow Rendering in Markdown and Images #9514

joslat opened this issue Nov 3, 2024 · 1 comment

Comments

@joslat
Copy link
Contributor

joslat commented Nov 3, 2024


name: Process Framework: Enable Workflow Rendering in Markdown and Images

about: I propose adding functionality to render workflows/processes as visual diagrams, using Markdown (Mermaid syntax) and generating images. This feature would greatly aid in documenting and communicating process flows within the framework.
Image

Proposal:
Develop a utility or extension that generates Mermaid diagrams from process definitions.
Provide options to export these diagrams as images for inclusion in documentation or presentations.
Ensure that the visualization includes nodes (ProcessSteps), edges, conditional logic, and start/end points.

Benefits:

  • Enhanced Documentation: Facilitates the creation of clear and accessible workflow diagrams.
  • Improved Communication: Helps team members and stakeholders understand complex processes at a glance.
  • Visual Debugging: Assists in identifying potential issues or inefficiencies in process flows.

Example implementation:
In the ProcessDemoGraphNodesEdges project, implementing this feature allows for the automatic generation of diagrams representing the processes defined in Process.Abstractions, Process.Core, and Process.LocalRuntime.
Note that the current implementation is in Process.Core next to the ProcessBuilder, in ProcessVisualizer.cs as a set of extension methods, this produces valid mermaid markdown. But, the image generation is on the MermaidRenderer.cs class located in the ProcessDemoGraphNodesEdges project, as I had to use an external package for this, PuppeteerSharp. and did not want to add this to the Process.Core... so I am unsure where this would go.
Code is fully functional and can be seen its usage on ConditionalProcess.cs on the same project.

References:
Branch: joslat-process-framework-graph-edges


@joslat
Copy link
Contributor Author

joslat commented Dec 1, 2024

PR Ready: #9705

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

4 participants