How do you load XOML only State Workflow in WFPad for WWFBeta 2.2 (with namespace for codebehind

Tom,

I have downloaded WWF Beta 2.2 WFPad. I am able to work with simple workflows, but am unable to load the XOML only State workflow you created. Can you please create an example of how to load XOML only workflow using namespace (instead of x:Class attribute in the root tag) and not having to change ns0:BaseOrderWorkflow to StateMachineWorkflowActivity in the root node and not having problems displaying activities that are referenced in the xoml with namespace references, such as:

<ns1:BagTagActx:Name="bagTagActivity"mResultsReport="{ActivityBind XOMLBagTagWorkflow,Path=ResultsReport}"mFileName="{ActivityBind XOMLBagTagWorkflow,Path=FileName}"mResultsC1Report="{ActivityBind XOMLBagTagWorkflow,Path=ResultsC1Report}"mReportName="{ActivityBind XOMLBagTagWorkflow,Path=ReportName}"mResultMessage="{ActivityBind XOMLBagTagWorkflow,Path=ResultsMessage}"mDataIn="{ActivityBind XOMLBagTagWorkflow,Path=DataIn}"mResultsData="{ActivityBind XOMLBagTagWorkflow,Path=ResultsData}" />

<ns2:ADPWSSendEmailtoA="{ActivityBind XOMLBagTagWorkflow,Path=EmailCreatedSendEmailActivity_ToEmail}"x:Name="BagTagFirstConfirmPrintEmailActivity"subj="{ActivityBind XOMLBagTagWorkflow,Path=EmailCreatedSendEmailActivity_EmailSubject}"name="{ActivityBind XOMLBagTagWorkflow,Path=EmailCreatedSendEmailActivity_FromName}"Description="Sends email that Creation of Bag Tag is starting."body="Successfully Printed BagTag as a PDF file."fromA="{ActivityBind XOMLBagTagWorkflow,Path=EmailCreatedSendEmailActivity_FromEmail}"xfilepath="{x:Null}" />

?

I can load the XOML only workflow in the WWFPad 2.2, but cannot display the namespace referenced activities (and have to make the xoml changes as specified above).

I look forward to your reply.

Thanks in advance,

John Portnov

[5205 byte] By [JohnPortnov] at [2007-12-21]
# 1
Where did you download WFPad for Beta 2.2 from? I see that Mark upgraded WFPad to Beta 2, but couldn't find a Beta 2.2 version. In order to display custom activities WFPad needs a reference to the assembly that it is contained in and I don't see any way to do that from any of the menus.
TomLake at 2007-9-10 > top of Msdn Tech,Software Development for Windows Vista,Windows Workflow Foundation...
# 2

Tom,

I am sorry. I was talking about the Workflow Re-hosting tool (which allows you to modify xoml).

http://wf.netfx3.com/files/folders/design_time/entry1923.aspx

Vihang's tool is supposed to allow you to update and compile workflows. I would like to do that with xoml workflow (without having to add x:Class attribute to the root node; and without having to remove the namespace reference to the assembly being used. I also do not want to rename the root node to StateMachineWorkflowActivity.) I would like to be able to load the following workflow xoml and be able to update it (using the existing referenced namespaces).

Below is the xoml contents:

<ns0:BaseOrderWorkflow x:Name="XOMLBagTagWorkflow" EmailCreatedSendEmailActivity_ToEmail="{x:Null}" EmailCreatedSendEmailActivity_EmailBody="{x:Null}" EmailCreatedSendEmailActivity_FromEmail="{x:Null}" EmailCreatedSendEmailActivity_EmailSubject="{x:Null}" EmailCreatedSendEmailActivity_FromName="{x:Null}" MRSchedule="{p1:Null}" CompanyCode="{p1:Null}" ToEmail="{p1:Null}" ToEmailManager="{x:Null}" EmailSubject="{x:Null}" RegionID="{x:Null}" ResultsMessage="" EmailBody="{x:Null}" ResultsC1Report="{x:Null}" ToEmailAdmin="{x:Null}" FromName="{x:Null}" DynamicUpdateCondition="{x:Null}" FromEmail="{x:Null}" ReportName="{x:Null}" LocationID="{x:Null}" DataIn="{x:Null}" ResultsReport="{x:Null}" InitialStateName="WaitingForBagTagState" FileName="{x:Null}" ResultsData="{x:Null}" CompletedStateName="BagTagCompletedState" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow" xmlns:ns1="clr-namespace:BagTagActivity;Assembly=BagTagActivity, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" xmlns:ns2="clr-namespace:ADPSendEmail;Assembly=ADPSendEmail, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:p1="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ns0="clr-namespace:iServeWorkflows;Assembly=iServeWorkflows, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null">
<StateActivity x:Name="WaitingForBagTagState">
<EventDrivenActivity x:Name="BagTagCreatedEvent">
<HandleExternalEventActivity Invoked="{ActivityBind XOMLBagTagWorkflow,Path=BagTagCreated_Invoked}" x:Name="BagTagCreatedHandleExternalActivity" EventName="BagTagCreated" InterfaceType="{x:Type p11:IOrderService,TypeName=OrderLocalServices.IOrderService}" xmlns:p11="clr-namespace:OrderLocalServices;Assembly=iServeWorkflows, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null" />
<IfElseActivity x:Name="CheckSourceEmail">
<IfElseBranchActivity x:Name="ifValidSender">
<IfElseBranchActivity.Condition>
<RuleConditionReference ConditionName="Condition1" />
</IfElseBranchActivity.Condition>
<CodeActivity x:Name="ValidSenderEmailAddress" ExecuteCode="{ActivityBind XOMLBagTagWorkflow,Path=ValidSender}" />
</IfElseBranchActivity>
<IfElseBranchActivity x:Name="ifInvalidSender">
<CodeActivity x:Name="InvalidSenderEmailAddress" ExecuteCode="{ActivityBind XOMLBagTagWorkflow,Path=InvalidSender}" />
</IfElseBranchActivity>
</IfElseActivity>
<ns2:ADPWSSendEmail toA="{ActivityBind XOMLBagTagWorkflow,Path=EmailCreatedSendEmailActivity_ToEmail}" x:Name="BagTagInitializeEmailActivity" subj="{ActivityBind XOMLBagTagWorkflow,Path=EmailCreatedSendEmailActivity_EmailSubject}" name="{ActivityBind XOMLBagTagWorkflow,Path=EmailCreatedSendEmailActivity_FromName}" Description="Sends email that Creation of Bag Tag is starting." body="Starting to print the BagTag. Hope this works." fromA="{ActivityBind XOMLBagTagWorkflow,Path=EmailCreatedSendEmailActivity_FromEmail}" xfilepath="{x:Null}" />
<SetStateActivity x:Name="BagTagSetPrintStateActivity" TargetStateName="PrintBagTagState" />
</EventDrivenActivity>
</StateActivity>
<StateActivity x:Name="PrintBagTagState">
<EventDrivenActivity x:Name="PrintBagTagEvent">
<HandleExternalEventActivity Invoked="{ActivityBind XOMLBagTagWorkflow,Path=PrintBagTag_Invoked}" x:Name="BagTagApprovedHandleExternalActivity" EventName="PrintBagTag" InterfaceType="{x:Type p11:IOrderService,TypeName=OrderLocalServices.IOrderService}" xmlns:p11="clr-namespace:OrderLocalServices;Assembly=iServeWorkflows, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null" />
<ns1:BagTagAct x:Name="bagTagActivity" mResultsReport="{ActivityBind XOMLBagTagWorkflow,Path=ResultsReport}" mFileName="{ActivityBind XOMLBagTagWorkflow,Path=FileName}" mResultsC1Report="{ActivityBind XOMLBagTagWorkflow,Path=ResultsC1Report}" mReportName="{ActivityBind XOMLBagTagWorkflow,Path=ReportName}" mResultMessage="{ActivityBind XOMLBagTagWorkflow,Path=ResultsMessage}" mDataIn="{ActivityBind XOMLBagTagWorkflow,Path=DataIn}" mResultsData="{ActivityBind XOMLBagTagWorkflow,Path=ResultsData}" />
<ns2:ADPWSSendEmail toA="{ActivityBind XOMLBagTagWorkflow,Path=EmailCreatedSendEmailActivity_ToEmail}" x:Name="BagTagFirstConfirmPrintEmailActivity" subj="{ActivityBind XOMLBagTagWorkflow,Path=EmailCreatedSendEmailActivity_EmailSubject}" name="{ActivityBind XOMLBagTagWorkflow,Path=EmailCreatedSendEmailActivity_FromName}" Description="Sends email that Creation of Bag Tag is starting." body="Successfully Printed BagTag as a PDF file." fromA="{ActivityBind XOMLBagTagWorkflow,Path=EmailCreatedSendEmailActivity_FromEmail}" xfilepath="{x:Null}" />
<SetStateActivity x:Name="BagTagApprovedSetStateActivity" TargetStateName="BagTagCompletedState" />
</EventDrivenActivity>
</StateActivity>
<StateActivity x:Name="BagTagCompletedState" />
</ns0:BaseOrderWorkflow>

-

Sorry for the confusion.

Thanks in advance.

Sincerely,

John Portnov

JohnPortnov at 2007-9-10 > top of Msdn Tech,Software Development for Windows Vista,Windows Workflow Foundation...

Software Development for Windows Vista

Site Classified