One of the things I am working on now is the next release of the workflow designer. One thing I have heard a number of requests for over the years is the ability to refactor workflows. I'd love to get some feedback if this would be valuable (I'm pretty convinced it is), and if it is valuable, what kind of things would you like to be able to do? One I have heard before is the selection of some subset of activities in a workflow and select "refactor to new activity" which would pull that out to a new custom activity.
What other things make sense? Please reply in comments, a blog post that pingbacks, or send me email at mwinkle_AtSign_Microsoft_dot_com.
<Usual disclaimers apply, this is not something we have made any decisions about, I am just trying to gather some data>
The one you mentioned I think would be very valuable (extract Activity).
I'd like to see the equivalent of Encapsulate Field for "Encapsulate Field as Dependency Property" so it will automatically take a field and turn it into a dependency property (which, I realize, isn't an encapsulation operation, you'd need a better name for that... maybe simply "Covert to Dependency Property").
I'd like to see convert Rule set to Code (C# / VB.Net) and (convert code activity to policy activity) vice versa -- no doubt that would be quite difficult. I completely understand that this would be practically impossible to do... heh.
This isn't necessarily a refactoring option, but I use a lot of input and output parameters for workflows and dependency properties and it would be nice to have some sort of visual indicator that says whether a give property is exposed as one of those things by the declaration (ala the Code Rush icons that are put next to properties).
I know this is beyond the scope of your question, but I would love to see a hostable web based designer. Whether that be ASP.Net AJAX or Silverlight 2.0 (my preference).
...all I can think of right now, but no doubt I will come up with more over the weekend.
Igor emailed me for my thoughts about his SMTP server built with Windows Workflow. A link for the source...
Igor emailed me for my thoughts about his SMTP server built with Windows Workflow . A link for the source
yes, coupling activities into a new custom SequentialActivity would be nice to shorten some long workflows. This could be done by a VS addin.
Just a pet peeve of mine, it takes too many clicks to get to the declarative code in a declarative rule or condition. First I have to expand condition entry in the property grid, then I have to select the type, then I have to dbl click the expression value to bring up the editor.
How about a right-click option on the conditional activity "Edit conidtion Expression". If I havent yet specified the conidtion type (declarative or code), then you can disable the option. but for editing existing expressions, this would be great.
How about making it a bit easier to host the designer in your own app.
It works today but seems like a bit of a hack.
I would very much like to see If-Then refactoring to a policy. If-then is a great way to set up policy, but auto-refactoring would be great option.
A definite YES on the "refactor to new activity". I'm very much looking forward to hearing more about what to expect (and when) in the next version of the designer!
WOW based on the previous post I just made a few minutes ago about the designer redesign I would say YES YES YES. I find myself often refactoring entire sections because I like them so much I want to reuse them. ie. Good OO development!