4a2eac7e_lk_vNext__post_2009__wish_list__Description
[Title] Wizards: remember previous values [Description] 
After a wizard is run (for example the WCF Service Publishing Wizard), it should save everything that was entered in the wizard to a file (a DSL defined with Oslo?) WCFService { PublishOrchestration "MyProject.Orders.ReceiveOrders" MetadataEndpoint true TransportType WCF-WSHttp TargetNamespace http://tempuri.org/orders/receive Location http://${server.host}/services/ReceiveOrder/ ... } This file should be included in the project and checked into source control. When the same wizard is rerun for a project, it should load the previously entered values (from the saved "wizard DSL" file). This would avoid re-entering the same thing 10 000 times when experimenting with a wizard (better learnability). It would also allow future updates to a project to be done without restarting from scratch every time a change is needed (for example, adding a new operation to an existing orchestration). Ideally, the only thing a wizard should generate is the "wizard DSL" file containing the values entered by the user. It should NOT generate type-holder orchestrations, schemas or binding files. Instead, these artefacts should be generated at compile time from the "wizard DSLs" file and should NOT be part of the project. This is probably not possible with the artefacts that are currently generated, because some of them need manual tweaking after they are generated. In an ideal solution, there would be no need to tweak the generated code (the necessary adjustments could be done in another way, for example by extending the "wizard DSLs"), so the generated artefacts would not need to be visible to developers anymore. Similarly, the wizard should not deploy anything to IIS. Instead, a command line tool should be able to "import" the wizard DSL definition into an IIS web site / virtual directory. Also, ideally, should get rid of the wizards and instead design corresponding DSLs that can be edited efficiently (and with good learnability) in a text editor with IntelliSense. (The goal of removing wizards is that the underlying DSL should be simple enough to manipulate directly, so that wizards would not be reallly necessary anymore)
Nootaikok's blog: My BizTalk vNext (post-2009) wish list
Description