Comments (1)
To address the proposed enhancement, it's important to consider the current behavior of Elsa Workflows as described in the provided context. The TypeName
attribute of an activity is crucial for the correct serialization and deserialization of workflow definitions, as well as for the materialization of workflow blueprints. As such, any changes to the TypeName
must be handled with care to avoid disrupting existing workflows.
The IActivityDescriptorModifier
interface allows for modifications to activity descriptors, which are used by the designer to present activities to the user. However, changing the TypeName
through this interface could lead to inconsistencies between the descriptors and the actual .NET types used in programmatic workflows.
To implement the proposed enhancement, the following steps could be considered:
-
Introduce a new mechanism that maps the original
TypeName
to the overriddenTypeName
. This mapping should be accessible during the workflow definition materialization process. -
Update the
IWorkflowBlueprintMaterializer
to use the new mapping mechanism to resolve the correct .NET type for an activity based on itsTypeName
. -
Ensure that the workflow builder API can handle dynamically provided activities, including those with overridden
TypeName
attributes. This may involve extending the API to allow specifying aTypeName
when adding activities to the workflow programmatically. -
Provide clear documentation and guidelines on how to use the
TypeName
override feature to ensure that developers understand the implications and how to update their workflows accordingly. -
Implement thorough testing to ensure that workflows with overridden
TypeName
attributes function correctly and that existing workflows are not adversely affected by these changes.
By following these steps, it should be possible to allow dynamic overriding of TypeName
in IActivityDescriptorModifier
without breaking the integrity and functionality of workflows constructed using the workflow builder API. This enhancement would indeed contribute to greater flexibility in modifying and extending activities.
This comment was generated by Glime.
from elsa-core.
Related Issues (20)
- ELSA 3.1.3 Getting Error when i call get /workflow-definitions endpoint HOT 2
- [BUG] MassTransit DisableConsumers Fails to Properly Disable Consumers and Disables Necessary Consumers HOT 1
- [CHORE] Elsa 3.0 设计器中 Fork的属性Branches如何设置? HOT 1
- [ENH] Enable External Interaction with Publish Event and Event Activities HOT 1
- [BUG] FailedToConnect activity in SendHttpRequest is not executed HOT 3
- [BUG] Race condition in Bookmark Management HOT 3
- [BUG] Mixed Content block after deployed to kubernetes HOT 2
- [BUG] Duplicate executions when using the default scheduling provider in single-node environment HOT 1
- [ENH] Add File Download Capability to SendHttpRequest Activity HOT 1
- [BUG]An unhandled error has occurred. Reload HOT 2
- [BUG] ELSA 3.2 rc1 with latest studio. Null reference exception when editing JavaScript expressions HOT 3
- [CHORE] Is there an example of Elsa 3.0 implementing various activities in designer mode? Thank you.
- [BUG]Is there an example of Elsa 3.0 implementing various activities in designer mode? Thank you. HOT 2
- [BUG]在Elsa 3.1.3设计器中If活动为啥有一个属性Condition,却没有Then和Else属性? HOT 2
- [BUG]Why is the If activity in designer 3.1.3 only having the Condition attribute and not the Then and Else attributes? HOT 1
- [BUG] Elsa 3.1 Fork activity wrong status HOT 1
- [BUG] I Set activity Finish after for loop break but it still call httprequest again HOT 2
- [ENH] Add UseMySql parameter HOT 6
- [BUG] Temporary Azure Service Bus subscriptions are not being deleted HOT 2
- [CHORE] Resolve Warnings HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elsa-core.