elsa-workflows / elsa-workflows/elsa-core

[FEAT] Import/Export Functionality Using Recipes

Open
#5,938 0 comments 0 reactions 0 assignees View on GitHub
dao proposal enhancement triaged
Dominant language
C#
Stars
7.9k
Forks
1.5k
Avg merge
15h 22m
Merged PRs (30d)
114

Description

As more Elsa modules are developed—particularly those managing a wider range of objects such as intelligent agents, users, customers, orders, and documents—the need for a unified import/export functionality becomes increasingly important. Drawing inspiration from [Orchard Core](https://orchardcore.net/), which uses a concept called "Recipes," I propose implementing a similar approach in Elsa.

**Key Points:**
- **Recipes in Orchard Core:** These are "smart" JSON documents that support dynamic expressions and allow for modular participation in the import/export process.
- **Modular Design:** Any module can participate in the import/export process by implementing a recipe handler, eliminating the need for each module to individually implement this functionality along with the corresponding UI.
- **Benefit:** Simplifies the process for developers by providing a consistent approach to import/export across all Elsa modules, reducing redundancy and ensuring a more cohesive user experience.

**Proposed Implementation:**
- Introduce a recipe handler mechanism in Elsa, similar to Orchard Core's approach.
- Ensure that each Elsa module can easily integrate with this mechanism by implementing a recipe handler to manage its specific import/export needs.
- Provide documentation and examples to guide developers in adopting this approach for new and existing modules.

This will streamline the import/export functionality across the Elsa ecosystem, enabling a more modular and scalable architecture.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.