The basics

The “K2 blackpearl Extensions” training course introduces developers to the various K2 programming APIs, how to extend the K2 platform with custom extensions, and also how to implement more advanced K2 workflows and SmartObjects.

Who should take this course

The “K2 blackpearl Extensions” training course is intended for developer and programmer roles that will create solutions on the K2 platform by writing .NET code. Typical roles that fit this description include analyst developers, .NET developers, web developers and solution architects with coding experience. Participants should have completed the K2 blackpearl Core training course before attempting this training course, or alternatively have equivalent experience working with K2 workflows, SmartObjects and SmartForms.

What you’ll learn

During this course, participants will learn how to:

  • Build more advanced workflows using Visual Studio
  • Write code that interacts with K2 workflows at runtime
  • Build more advanced SmartObjects
  • Write code that interacts with K2 SmartObjects at runtime
  • Extend K2 with custom Service Brokers
  • Extend K2 with custom smartforms controls

Course Content

The course content is provided as a website and is available from the following location: http://k2.com/training/bp2. This site contains the learning topics, videos and hands-on exercise guides.

If necessary, you can download PDF versions of the training course guide for reference or printing out. We provide separate PDF files for the student handbooks (think of these as the slide handouts) and the exercise guides (think of these as the step-by-step instructions for completing the hands-on exercises). Links to download these files are also provided in the Course Overview.

This course will take approximately 20 hours to complete (excluding breaks and depending on the additional exercises selected), and consists of six Learning Modules:

300.AXT: Advanced Workflows with K2 for Visual Studio
This training module covers more advanced implementations of workflows with K2 for Visual Studio. This module is primarily intended for developers who will be using K2 for Visual Studio to build and debug workflows, and write code.
By the end of this module, you should:

  • Understand how to implement more advanced workflow concepts like complex destinations and Parent-Child workflows (IPCs)
  • Be able to write code in a workflow, customize code in a workflow or consume assemblies and services in a workflow
  • Debug and repair workflows with K2 for Visual Studio, and know how to perform Live Instance Migration
  • Understand some considerations and best practices when working with source control providers

300.NRT: Workflow Runtime APIs and Services
In this module we will describe some APIs and services used to interact with workflows at runtime, for example starting new workflow instances, opening and completing tasks, and managing workflow instances.
By the end of this module, you should:

  • Be able to use the available workflow client .NET APIs to start workflows, retrieve worklist items, complete workflow tasks, administer running workflows, set workflow permissions, manage workflow versions, and perform other workflow operations.
  • Be able to use workflow WCF services to start workflows, retrieve worklist items, completing workflow tasks, and other workflow operations.
  • Be able to use workflow REST services to start workflows, retrieve worklist items, completing workflow tasks, and other workflow operations

300.OKA: Advanced SmartObjects
This learning module explains more advanced SmartObject concepts, such as:

  • Using the SmartObjects Services Tester Utility
  • Composite SmartObjects that combine data from different systems
  • The generic Endpoint Service Brokers
  • Understanding serialization and deserialization of complex types
  • Exposing Workflows as SmartObjects

300.YOK: SmartObject Runtime APIs and Services
This learning module describes the various Application Programming Interfaces (APIs) and services that can be used to interact programmatically with K2 SmartObjects at runtime. These APIs and services are typically used by developers when writing code to execute SmartObject methods, such as calling a GetList or Read method for a SmartObject.
At the end of this module, you should

  • Have a good understanding of the available APIs and Services used to interact programmatically with K2 SmartObjects at runtime.
  • Understand how to write code using the SmartObject Client .dll, ADO.NET provider, WCF and REST services.

400.BLR: Custom Service Brokers
This learning module describes how to extend the K2 platform with custom service brokers. Service brokers are used to expose back-end systems as K2 SmartObjects. It is possible to create and register custom service brokers when K2 does not provide an out-of-the-box broker for a particular technology. In this module, we will discuss the architecture of the K2 SmartObject component and describe how to implement, register and use custom service brokers to expose non-standard providers as K2 SmartObjects.

400.YYC: Extending SmartForms with Custom Controls
This learning module describes how to extend the K2 smartforms product by writing, deploying, registering, using and debugging custom Controls.

To access the course content, please navigate to http://k2.com/training/bp2