Friday, October 03, 2008

K2 BlackPearl 807

The 807 version of BlackPearl was released on the 24th of September and so far I am pretty impressed. The Workspace imageManagement console features a new section called User Managers where you can configure your additional AD Domains. 

 

The long awaited Out-Of-Office features are also in 807, and it's great!! Some highlights:

  • A user can configure multiple users as recipients of his worklist items when he's out of office
  • He can create Exception Rules, to send Worklist items for specific activities to different users while out-of-office
  • An administrator can create and edit out-of-office rules for users
  • Existing worklist items are immediately delegated to the designated users when out-of-office is tuned on.

image

Note: If you are using the Workflow Client API to action worklist items, you have to take additional steps to handle out-of-office functionality, specifically you have to check for the presence of the SharedUser Query string an addition to the Serial Number (SN) Query String, following is some sample code:

private void openMyTask()
{
        string sn = Request.QueryString["SN"];
        if (sn != null && sn != "")
        {
            Connection k2Conn = new Connection();
            WorklistItem wli;
            try
            {
                k2Conn.Open(ConfigurationManager.AppSettings["k2Connection"]);
                wli = getWLI(k2Conn, sn, Request.QueryString["SharedUser"], Request.QueryString["ManagedUser"]);
                //get Data Fields
                //get Actions
                //etc.
            }
            catch (Exception ex)
            {
                //Handle Exception
            }
            finally
            {
                k2Conn.Close();
            }
        }
        else
        {
            //No Serial Number - show Error
        }
}

private WorklistItem getWLI(Connection conn, string serialNumber, string sharedUser,string managedUser)
{
       WorklistItem worklistItem = null;
       // normal user
       if ((sharedUser == null) && (managedUser == null))
       {
            worklistItem = conn.OpenWorklistItem(serialNumber, "ASP");
       }
       // Out of Office user
       if ((sharedUser != null) && (managedUser == null))
       {
             worklistItem = conn.OpenSharedWorklistItem(sharedUser, managedUser, serialNumber);
       }
       // normal Manager
       if ((sharedUser == null) && (managedUser != null))
       {
             worklistItem = conn.OpenManagedWorklistItem(managedUser, serialNumber);
       }
       // Out of Office Manager
       if ((sharedUser != null) && (managedUser != null))
       {
          worklistItem = conn.OpenSharedWorklistItem(sharedUser, managedUser, serialNumber);
       }
       return worklistItem;           
    }
}

Technorati Tags:

0 comments: