A community member wrote to me asking my thoughts on K2 and Source Control. That is a topic I see come up often and thought I would share my response with the community at large.
K2 & Source Control
If you are using Visual Studio, you can use the built in capabilities for source control integration with TFS or GIT to store your workflows and smart object definitions. You can still use it with K2 Studio indirectly you will just have to check it in manually using whatever the tooling is for your source control.
If you haven't been building smart objects in the thick client, don't worry just create a new project (or use your current workflow project) and locate your smart objects in the K2 Object Browser. Right click on the object(s) and choose "Save to Local". This will put a copy of the SODX in your project so that it may be checked into source control.
Note: If you do this, you will have to edit those smart objects in the thick client. I actually prefer this method due to stability of the designer and the fact I can use source control.
In short, processes and smart objects using thick clients is pretty straight forward since you have physical files. One special consideration is that only one developer can check out a project and edit at a time. They must then check in their changes before another developer can open the project. DO NOT use merge or equivalent as it will corrupt your KPRX and SODX files.
As for forms, that is more challenging since forms are stored in the database. What I have recommended to my developers is to make a package using Package and Deploy of your forms and views and then check that package into source control. Not as straight forward as the other files in tooling with source control integration, but it as at least something and gives you some level of point in time control.
I would be interested to hear what others have done to handle change and release management in their organizations!
Hope this helps.
S.