This article was created in response to a support issue logged with K2. The content may include typographical errors and may be revised at any time without notice This article is not considered official documentation for K2 software and is provided “as is” with no warranties.

Objective

This KB will outline how to force a check-in or check-out of a view or form.

A common scenario is a user leaving a company without checking in a SmartForm view or form.

Before You Begin

Please note: the steps below include direct manipulation of the K2 database. You do this at your own risk. Please contact K2 Support if you need any assistance. Also read: http://help.k2.com/onlinehelp/k2blackpearl/devref/current/default.htm#Database_Reference.html

Always create a full backup of the K2 database prior to running the below steps.

Rollback:

1. Stop K2 service

2. Apply DB backup

3. Start K2 service

How-to Steps

I'm using an example User and Form ID below. Please change as necessary.

Step 1: get the info.

--For checked out views

SELECT ID, DisplayName, CheckedOutBy

FROM Form.View_Design

WHERE CheckedOutBy = 'K2:Denallix\Administrator';

--For checked out forms

SELECT ID, DisplayName, CheckedOutBy

FROM Form.Form_Design

WHERE CheckedOutBy = 'K2:Denallix\Administrator';

Step 2: run the check-in.

The 'Type' in the table variable will be 'F' if you are checking in a form and a 'V' if you are checking in a view.

--FORCE CHECK IN

DECLARE @MyTable Form.ContextTableType;

INSERT INTO @MyTable([ID], [Type])

VALUES (N'97CD2824-D36D-46A7-97AF-BA0F2DFF06CD', 'F'); -- this is the ID returned from the query above

EXEC [Form].[aCheckInContexts] @UserID= N'K2:DENALLIX\Administrator', @ContextData=@MyTable;

--Note: the ID above must be in the format: N'<view\form ID>'

That will check in the forms\views you need.

Additional notes:

- It is recommended to run the check-ins one at a time.

- If you would prefer to undo the checkout, you can perform a similar process and use the [K2].[Form].[aUndoViewsCheckout] sproc.

- Testing this first by creating a test view\form, leave it checked out and then run through the process.