elsa-core
elsa-core copied to clipboard
[FEAT] Import/Export Functionality Using Recipes
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, 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.