I am working on upgrading our product to EPiServer Commerce 10.
Part of the upgrade is to start using the new promotions module. (Which I do like big time. Good Job EPi!)
This required enabling the WorkflowsVNext feature by calling the following:
var featureSwitch = ServiceLocator.Current.GetInstance();
Is WorkflowsVNext feature only for the new promotions system? If EPiServer 11 got released and there were new workflows added, will they get activated automatically as VNext feature is enabled?
Also, I was looking into the workflows code (included in commerce10codesamplepackage) and noticed that attribute AvailableInBetaMode is set to true in all VNext workflows. If the new promotions module is released and no longer in Beta, why do we still have this attribute? If I created a new custom workflow, should I have this attribute too?
I just want to make sure I have clear understanding of the way Workflows are being called and upgraded.
Yes Vnext feature is only for the new promotion system. (And we're glad to hear that you like it! ) When that flag is turned on, you might need to update your code here and there (for example the way you get the promotions is different), but the other code should work the same.
As long as AvailableInBetaMode is set to true in a workflow, it'll be available in VNext mode. We do not plan to add any new workflows, but if there is any new workflow added in the future, we will make sure that its availability corresponding with the VNext flag.
Regarding the AvailableInBetaMode itself - the promotion is out of BETA in 9.19, which is a minor release (no breaking changes allowed) - that's why we have to keep the name of a public property. Commerce 10 was a CMS-10 compatible release, so we did not include any other breaking changes. But we'll likely rename the property in the next major release (Commerce 11).
Thanks Quan for the clarification.
I got all what I needed to know!