Extending the K2 platform

Developers can extend the standard functionality of the K2 platform in many different ways. This section covers the various extension points that are available on the K2 platform.

Extension Area Extension point Description
Extending Processes/Workflows Custom Inline Functions Create custom Inline Functions that will be exposed in the Context Browser in the workflow design tools.
Custom K2 SmartWizards

Create custom workflow designer wizards that will help users configure workflow steps.

In previous versions of K2, it was possible to create custom wizards using a SDK or a Visual Studio template. This functionality is deprecated and it is recommended to use the SmartWizards approach instead
Using Custom Windows Workflow (WF) Activities in a K2 Server Event Use Custom Windows Workflow (WF) activities in server events in a workflow
Writing Custom Code in workflows when using K2 for Visual Studio Write code in server events that execute on a K2 server, or customize the generated code that is contained workflow items
Extending SmartObjects Custom SmartObject Service Brokers Build Custom Service Brokers to expose various systems as K2 SmartObjects. If K2 does not provide a standard Broker (also known as an "adapter" or "connector") for a specific technology, you can write your own custom Service Brokers to interact with those systems by using SmartObjects.
Extending K2 Server with custom components

Adding custom schedules to the K2 Scheduler

Create custom scheduled tasks for specific dates, specific days of the week, specific times during the month or for specific intervals.

Custom logging extensions Create custom logging output targets so that K2 log output can be written to a non-standard target.
How to add a 3rd-party event recorder to the K2 Server Allows for external or custom events to be raised on a K2 server, which in turn can be used by Notification Providers to perform actions in response to those events.
Custom Notification Providers Create custom notification providers that will execute some code in response to an event on the K2 platform
Creating a custom User Manager Custom user managers can be used in the K2 platform to provide authentication and role resolution for a custom identity store or one that is not supported by K2 out of the box
K2 Smartforms Developers can extend K2 Smartforms by creating custom Themes, custom Fonts and custom Controls.
When extending the K2 platform, consider using community components like the Visual Studio Projects templates for K2 Extensions to help speed and simplify development tasks, or browse the Archive category to see if a community member has already provided an extension that suits your requirements.