Using k2 in a live internet-based environment
I am currently going through the motions of setting up a live K2 environment for use by a client, the difference here is that they have users who are very mobile, so the k2 and SharePoint servers need to be accessible via the internet. So below are a list of things you will need to do in order for your solution to work correctly.
Note: this is for a distributed system, working with K2 Blackpoint and SharePoint 2010.
First things first, here is the setup of the environment:
- Server A: DNS
- Server B: SharePoint 2010
- Server C: K2 Blackpoint
- Server D: Sql Server 2008 R2
All servers are running Windows Server 2008 R2 as well.
The assumption I am making here is that you have setup K2, SharePoint, MSDTC, Kerberos, so that you can run processes internally on the domain. All I am going to detail is what you need to do so that users who come in from the internet can use the processes.
SharePoint 2010 (Server B)
Make sure you have the following setup:
- domain with the record pointing to the public IP of the SP2010 server.
- port 80 open for Inbound traffic on the external firewall.
K2 Blackpoint (Server C)
Make sure you have the following setup:
- domain or sub domain with the record pointing to the public IP of the K2 server.
- A host header on the Runtime Services website for the above domain or sub domain.
- the following ports open for inbound traffic on the external firewall:
- 80
- 81
- 5252 (K2Server port)
- 5555 (K2HostServer port)
Note: If you have installed K2 and SharePoint on the same server, you will only need one domain to access both and this domain should be setup for access to the SharePoint site, and just make sure that the all the ports listed above under K2 are open for inbound traffic as well.
Once that is done, you will need to run the K2 configuration wizard on server C, if you have created your host header correctly, it should pick it up. Finish up with the wizard and it should all work, just verify that it all works from an external location. If not make sure that it all works internally (Remote into one of the machines if you have to), then check that you have satisfied the above conditions for both the K2 and SharePoint servers. If you don’t come right, contact me and I will try to give you a hand.
One thing I did notice was re running the configuration wizard changed an environment field value. So just make sure that your environment fields are correct after you have finished.
Disclaimer:
Please read the disclaimer if you plan on using anything from this article.
What to check when you try to import an SMO but k2 tells you the list doesn’t exist when it does.
I recently took a K2 process live for a client. While I was setting up the SmartObject (SMO) side of the process, I ran into a funny error:
It kept telling me that a specific Document Library which did exist and was the same as on the dev environment, didn’t exist. After lots of hair pulling I decided to see if I could create a SMO on this library. Turns out I can, but then I noticed something, the name of the SMO was not what I expected it to be. SMO are normally given the name of the list/library they are created for.
So I opened up the exported xml file, found the entry for this problem SMO, and changed the value of the ServiceObject attribute to match that of the name given to the test SMO I created.
I then ran the import on that file again, and low and behold, it worked. Being a sceptical person when it comes to weird things like this in IT, I decided I would only believe it was working when a process that uses that SMO, actually does.
So I tried to deploy the process, which it did, and I have just run it for the 3rd time and no issues!
So, when in doubt, check the name of the SMO.
Disclaimer:
Please read the disclaimer if you plan on using anything from this article.
