Last week I attended a 4 day course to get myself up and running for K2
Blackpearl. With 2 years of experience in K2 Blackpoint (the SharePoint based
little brother), I went to the K2 office in London for this 4 day instructor-led
course. My trainer for this week was Simon Allport. The course comprised several
modules which I will describe in more detail below.
Monday
Introduction and Overview - Everyone introduced themselves. I
had noticed very quickly that I was the only person with relevant K2 (and
SharePoint) experience. The other guys were mostly sent by their company to
learn or assess K2 as a potential software implementation.
Process Design and Implementation - This module actually
showed nothing new to me although it was very useful for the other attendees as
they did not have any experience with K2.
In the evening I watched the game France against England in a pub next to my
hotel.
Tuesday
Data Management - This is interesting
stuff! We have learned how to extract/lookup data in external data sources
and use them in your K2 processes and InfoPath forms. K2 offers so-called
SmartObjects functionality (which I have often used before). SmartObjects allows us
to use external data as a K2 specific object. K2 creates some SmartObjects out
of the box but we have learned how to create SmartObjects based on
a specific data source (a SQL Server table and the Active Directory
in this case). Of course it is also possible to use other data sources as input
for your SmartObject and join this external data with K2 data. By using K2 SmartObjects we can link data from
multiple systems (for example an HR system and Active Directory) and use that data in a form or workflow. It also possible to write to
these data sources so K2 can also automate your Active Directory tasks. During
the course I created a single form that creates a new Active Directory user
based on the input fields in the form.
For a fictive company we developed a customer services workflow so employees can request client portals for new clients by filling out a single webform. K2 handles the creation
of a record in the CRM system + the creation of a SharePoint portal site for the
new customer based on a template.
In the evening I bought an Oyster Card and took the underground for
a visit to the London city centre.
Wednesday
Reporting, Business Intelligence, and Activity Monitoring -
Reporting is a very important, but often an ignored part of a workflow solution.
Keeping track on your running processess and process history allows business
users to support business decision making.
- Reporting deals with providing decision support information to business decision makers.
- Business Intelligence (BI) deals with providing access to interrelated information to support business decision making.
- Business Activity Monitoring (BAM) deals with monitoring real-time business activities.
K2 offers a few out of the box reports but also
allows users to create their own reports. Users can create reports in three
ways:
- K2 Databases
- K2 SmartObjects
- Data source access (ADO.NET + APIs + SmartObject Services)
K2 reports can be created in the K2 Report Designer, Excel, SQL Server
Reporting Services, or we can develop our own report in our preferred
programming language. We built a custom report with Microsoft Business
Intelligence Studio. Because the custom reports relies on K2 SmartObject we are
able to use them in a workflow. This means that reports can be emailed from a K2
workflow!
Logging and Diagnostics - Logging and custom logging from
workflow. K2 developers can log specific messages using C# code in a Server
Event in a workflow. Using this code we can log messages to the Windows Event
Log or File Log for example with just a single line of code.
With Visual Studio we can connect to a running process that is in error state
and fix that particular process to remove the error and continue the workflow so it is no longer needed to redeploy and restart the whole process (as I usually
had to do in Blackpoint). This can all be done with the Process Management
tab in Visual Studio, a specific toolset for Visual Studio automatically
installed as part of the K2 solution.
Thursday
Customization and Extension - Complete flexibility and
extendibility! It is possible to tweak the underlying
workflow code so it totally can meet the customer's requirements. It is also possible
to create custom worklists so SharePoint and K2 tasklists can be combined into one
worklist with only a specific set of display fields. The code behind most K2
event templates is based on Windows Workflow Foundation (WF) schedules. During
the course we created a custom tasklist and a custom worklist. Also we have
developed custom notifications, error handling, SmartObjects and Service
Providers.
Conclusion
The trainer showed me some best practices regarding development and workflow
design and I have seen the added value of Blackpearl.
Most important is that I
am now able to utilize the Blackpearl functionality to totally
automate organisation's business processes!