I was wondering if there are any good tutorials or videos for beginners on Windows workflow 4 and how you can you a use a workflow within an asp.net page?
I want to create a basic example page that will ask the user a question and based on their answer (using a workflow decision tree) the relevant next question will be displayed.
Is this even possible?
Thanks.
Yes you can do such example, but the approach is slightly different.
Create a workflow service with multiple receive response activities. All receive activities are related to context correlation.
Use a question data base and get current question forn database and render it.
Start button on Asp.net page start workflow service.
Workflow Service waits for input on each receive activity and use input through submit button.
Workflow activity put next question for current user in db.
Related
In ASP.Net application, I display a list which can be in below three states -
Initial
Submitted
Approved
I need to write a workflow with these three state but not able to understand how do I implement triggers for these states in asp.net application as user would be changing the state as per his convenience on login. Please help.
You may want to look at stateless by Nicholas Bumhardt. See my SO answer for details. stateless is quite lightweight, are well suited for what you need.
I am planning to use Windows Workflow Foundation 4.5.
I need to track information in a custom database.
Lists will be shown in a user interface (my tasks, all tasks).
What is the best way to have a generic system by which I don't need to add custom activities to a workflow.
workflow created
workflow ended
workflow terminated
receive activity started (log custom record in a table)
receive activity completed
--> bookmark events?? I also need to correlate an activity instance id with the record in the database.
...
Do I use a tracking participant for this or can I tap into the events of the workflow service host??
You don't need to add custom activities to your workflow. You can implement SQL tracking participant. Here is a sample: http://msdn.microsoft.com/en-us/library/ee622983.aspx
Tracking participant is the solution to choose here... it is really flexible. You can get the status of the workflow instance with the WorkflowInstanceRecord and the activity status with the ActivityStateRecord. Both records have the instanceId to correlate them.
Also you can track custom tracking in your code activities with the CustomTrackingRecord.
We are using it for long time and the performance is quite good.
I hope it helps.
I want to notify the users about their assignment list/status of their work items via notification.
Instead of sending email notification, is it possible to show the notifications in Tridion itself? Say for example: having new item like "Notifications" under shortcuts-->mytasks?
Or is there any better way to notify the users apart from email communication, because the users dont want to receive so many mails in their mail box.
Yes. The list of items shown shortcuts is extendable, just like every other list I've ever looked at in the Tridion GUI.
Have a look at this blog post from Jaime to get started. The topic of how to extend is was also covered in this question, but Jaime's tutorial is probably a better starting point.
Once you get some experience with writing this extension, you'll probably run into questions similar to the one Nuno asked here (and that was answered expertly by Jaime and Boris).
In general I like to think of workflow notification in two broad groups - Active and Passive. Under active notifications, I really only include email notification, but you could expand the concept to push notifications to an iphone app or send a text message etc. When considering active notifications, it is very common for users to get fed up of having too many alerts from the system, so it is important to design it in a flexible way that allows your users to not feel bombarded with alerts. The most successful implementation I have implemented allowed users to say how often they receive notifications. Typically they set this to every 24 hours, and they receive a summary email of their pending assignments each morning. This allows users who are very active and use their task list regularly to never receive emails, as they normally get to the items before the following day.
Moving to passive forms of notification, if you keep in mind that you can expose a user's task list using the API's the SDL have provided, you could think about implementing the following forms of passive notification:
Create an RSS feed for the Users's assignment list
Create a Widget/Portlet for a company intranet to show a user their assignments
Create some kind of desktop or mobile app which can pull the data
Set the default start screen of the CMS to be the Task List rather than the Dashboard
The last of these options has been an "out of the box" offering from Tridion for a long time (but I think it was dropped by mistake at some point with Tridion 2009 or 2011. However, #Alvin has recently answered one of my other questions, which may help solve this issue (although it may not be supported). Essentially you can set the <defaultpage> node in the CME.config to /Views/Dashboard/Dashboard.aspx#locationId=cme:workitems. This will make the UI automatically open on the work list (BUT I REPEAT... THIS MAY NOT BE SUPPORTED).
We currently have workflow app built with infopath, sharepoint and bitztalk.
Basically, an empployee fills out a form, saves it and clicks "Forward to Manager"
His/her receives an email notification that a form is waiting in his/her queue to be completed.
Manager completes and forwards to next higher up.
The process continues until the final manager sign off and the process is now considered complete.
The cycle can begin again with new form.
The company hired a contractor to do this and is nowwhere to be found.
Unfortunately, we have no one inhouse with the knowledge to maintain this.
I have been asked to try and find out from you experts if it is possible to do this in asp.net.
If yes, can you please provide me with some links to get me started?
Many thanks in advance
We have a rather large document routing framework that's currently implemented in SharePoint (with a large set of cumbersome SP workflows), and it's running into the edge of what SP can do easily. It's slated for a rewrite into .NET
I've spent the past week or so reading and watching WF4 discussions and demonstrations to get an idea of WF4, because I think it's the right solution. I'm having difficulty envisioning how the system will be configured, though, so I need guidance on a few points from people with experience:
Let's say I have an approval that has to be made on a document. When the wf starts, it'll decide who should approve, and send that person an email notification. Inside the notification, the user would have an option to load an ASP.NET page to approve or reject. The workflow would then have to be resumed from the send email step. If I'm planning on running this as a WCF WF Service, how do I get back into the correct instance of the paused service? (considering I've configured AppFabric and persistence) I somewhat understand the idea of a correlation handle, but don't think it's meant for this case.
Logging and auditing will be key for this system. I see the AppFabric makes event logs of this data, but I haven't cracked the underlying database--is it simple to use for reporting, or should I create custom logging activities to put around my actions? From experience, which would you suggest?
Thanks for any guidance you can provide. I'm happy to give further examples if necessary.
To send messages to a specific workflow instance you need to set up message correlation between your different Receive activities. In order to do that you need some unique value as part of your message data.
The Appfabric logging works well but if you want to create custom a custom logging solution you don't need to add activities to your workflow. Instead you create a custom TrackingParticipant to do the work for you. How you store the data is then up to you.
Your scenario is very similar to the one I used for the Introduction to Workflow Services Hands On Lab in the Visual Studio 2010 Training Kit. I suggest you take a look at the hands on lab or the Windows Server AppFabric / Workflow Services Demo - Contoso HR sample code.