Workflow Session at Dynamics AX 2012 Technical Conference

8 02 2011

Ok, so the Microsoft Dynamics AX Technical Conference 2011 has come and gone and all of those who have had the privilege to attend have had their minds blown away by all the fantastic new features and frameworks in this amazing product.

For me the icing on the cake was most definitely the last two sessions that I was able to attend. These sessions were targeted as showing off all the impressive new capabilities of workflow in AX2012. So far we’ve only had hints at all the goodness that was to be included. But now we’ve been able to see it with our own eyes and get our grubby paws on the actual product. So here are the features that made the biggest impressions on me.

1. The graphical workflow configurator – Slick and beautiful the new graphical configurator will make any implementers day to see in a Visio style exactly what their workflows are configured to do and all the conditions that they have been created. No more guess work is required to figure out how your workflow will progress.
2. No more external workflow website! This is by far a huge improvement to the AX package. AX 2012 sees a number of external components of AX being internalized, including workflow and AIF web services. No more will we have the nightmares that were associated with setting up the workflow website, business connector configurations etc.
3. Workflow component generators. In AX 2009 we have seen a couple of people building code/AOT element generators to help speed up the workflow template building process. At Axnosis we have developed such a package as well for aiding in our development and are thus very happy to see such tools included in standard AX 2012. You can now generate event handlers, menu-items and approvals in one or two very easy wizard steps. Really great.
4. Individual document lines are now able to be work flowed based off conditions. Previously we have had to have separate forms and separate workflow process to accomplish this. As part of AX2012 Purchase Order Line workflow options have been included.
5. Touchless workflows, new automated tasks are supported within workflow to enabled actions to be performed on the document without user intervention, I believe these can be called either automatically or off certain conditions.
6. A centralized type of inbox from where you can action all your different workitems from various different document types without having to directly access the document form.

These were just a couple of my favorite highlights from the session and hands on lab presented by Karl Tolgu and Josh Honeyman at the Dynamics AX 2012 Technical conference in Redmond WA.

Were you there? What new features are you looking forward to in Microsoft Dynamics AX 2012?

Happy Daxing
Jonathan





Workflow Wishlist #2 – onDelegateEvent

5 10 2010

Wish:
The second item on my wishlist for Dynamics AX workflow is to have an “onDelegateEventHandler” option available for tasks and approvals. I must admit that this would most probably not be a very widely used function within AX workflow, but here is why I would like to have one.

Given the way that workflow manages the assignment of workitems, there is no way of determining when and to whom tasks are assigned to people, in order to perform some type of custom action like updating an external system or table. Even making use of custom ParticipantProviders, one does not have a guarantee that it will end up at the person that your provider class is returning, due to delegation settings.

Thus an onDelegate event handler would be very useful. Unfortunately workflow does not have any eventhandlers for individual workitems, rather just set on tasks, so this may be difficult to accomplish.

My workaround:
It is relatively easy to tap into the WorkflowTrackingTable’s (Table) saveTracking Method and kick off some custom action using the record ‘trackingTable’. The trackingTable record contains a useful field  called TrackingType (enum WorkflowTrackingType) which can provide you with more informations as to what has just occurred. E.g. WorkflowTrackingType::Delegate, WorkflowTrackingType::EscalationPath, WorkflowTrackingType::Creation. Using this you can then perform whatever action you would like to do e.g.

if (trackingTable.TrackingContext == WorkflowTrackingContext::WorkItem)
{
  if (trackingTable.TrackingType == WorkflowTrackingType::Creation)
  {
        doAction(trackingTable.User); //this is the user to whom the workitem has finally been assigned 
  }
  else if ((trackinTable.TrackingType == WorkflowTrackingType::Delegation) || (trackingTable.TrackingType == WorkflowTrackingType::EscalationPath))
  {
       doAction(trackingTable.ToUser); //to whom the workitem is now assigned (delegated/escalated)
  }
}
N.B. Be warned, you are modifying system classes so be careful when you are installing new hotfixes or upgrading.
Happy Daxing
Comments Suggestions?




Workflow Wishlist #3

4 10 2010

The item sitting at number 3 of my workflow wishlist is to have the canSubmitToWorkflow logic, that currently resides as a method on your workflow enabled forms, sit within workflow configurations or within a class linked to your workflow template. It seems strange to me that almost all the logic and complexity of the workflow sits in nicely packaged/distinct bundles  i.e. templates and configurations, except for this one method. I would ideally like to be able to install a new template at a client site and without modifying the form, already have my canSubmit logic active.

Workflow does provide activation conditions per configuration, but my success using these has been fairly limited.

My workaround:
I have the habit of creating a static canSubmit method on all my WorkflowActionManager classes  (i.e. per template) which I call from the canSubmitToWorkflow method on the form, this way it keeps the code fairly separate. The drawback is still that i cannot have different logic being performed if I have multiple configurations setup.

Please post any comments as to whether you have experienced similar issues or if you agree/disagree with me in this wish.

Happy daxing.

 

Workflow Wishlist: