Case study

Problem

Whenever a new AgileForm based process is created or checked in to AgilePoint Server from either Envision or Enterprise Manager, the form definition must be inserted in a custom database.

Solution

Create an AgileExtender, and write event handlers for create and check in process definition events.

In the event handlers, get the form definition, and insert in the custom database. These events (create process and check in process) will be triggered by AgilePoint Server whenever a new AgileForm based process is created or checked in to AgilePoint Server.

public AgileFormAgileExtenderDescriptor(bool designTime)
    : base(designTime)
{
    if (!base.DesignTime)
    {
        this.CheckinProcessDefinition+=new 
            EventHandler<WFCheckinProcessDefinitionArgs>
            (OnCheckInProcessDefination);
        this.CreateProcessDefnition+=new 
            EventHandler<WFCreateProcessDefinitionArgs>
            (AgileFormAgileExtenderDescriptor_CreateProcessDefnition);
    }
}