Getting my head around how K2 handles InfoPath

  • 23 March 2012
  • 7 replies
  • 0 views

Badge +1

I have done a lot of research and testing today using our BlackPoint environment.  I am getting my head around the configuration of the server environment and all of that.  I have several years of experience with InfoPath and SharePoint, so I'm only a newbie to K2.  Here's what I don't understand at the moment:  where are the submitted XSNs?  In my experience you publish to a forms library and when the user submits, the xsn file is in the library and the columns you promoted in the IP design are available in the library view designer.  From what I can tell, K2 submits the entire form as XML to a web service on the K2 server which then handles everything else in the K2 environment (task management, workflow, messaging, etc.).  But where are the forms?  How can I build a view of the submitted data in SharePoint?  I loaded up several of the K2 web parts but I don't see anything that shows the forms submitted by a user.


Thanks!


 


 


7 replies

Badge +10

You need to save out the form as part of the K2 process otherwise the InfoPath form data will only live inside the K2 databases.  The latest version of blackpearl (not sure about blackpoint) has a specific event wizard to do just this.


However, in previous versions its not that hard   You need to use the SharePoint Document event wizard and choose the upload option.  This blog contains some instructions on how to do it.  I use this technique in virtually every K2 process I design


http://blog.mgallen.com/?p=274

Badge +1

Thanks for the reply!  I'm going to give it a shot right now.  The question that comes to mind now is if the document content is copied to the forms library *and* exists in the K2 database, how do I prevent confusion about which version to act upon?  I would assume, possibly incorrectly, that if a user sees the form in the forms library and opens it and makes changes and saves/submits, it's not going to somehow retain the K2 integration hooks like the one I modify directly in K2 Studio.  Is that correct?

Badge +6

you only save the completed IP forms in an external library for reporting info. During workflow execution, when user opens the task, a temporary form will be created in the library until the task is completed. With every workflow deployment, the XML schema is stored in the K2 databases

Badge +1

Ok, that was easy enough!  Just upload the XML doc from the K2 database to the desired forms library.  Worked as promised.  One last thing.  How do I get the properties from the XML and promote them to columns in the forms library that I can truly use the copied version in views and provide the users with the standard SharePoint view experience?


Thanks!

Badge +10

Great.


You asked:


How do I get the properties from the XML and promote them to columns in the forms library that I can truly use the copied version in views and provide the users with the standard SharePoint view experience?


That's a straight InfoPath feature.  I typcially use the Property Promotion feature in InfoPath then in InfoPath I publish directly to the form library from within InfoPath.  If you already have the form library created you might (can't remember for sure) have to delete it and let InfoPath create the new form library with the property promotion.  Then when you save out the forms from the K2 process it'll have the properties from the InfoPath form shown in the form library view.

Badge +1

Yep, I'm very familiar with property promotion in the normal InfoPath way directly to a forms library, but since I had a forms library created before I did my K2 workflow design, I didn't see a way using the Document Upload process mentioned earlier to have the properties parsed out into columns as part of that upload.  I'll dig deeper Monday morning using your advice.


Thanks!

Badge +3

I am pretty new to K2, but it's my understanding that the entire InfoPath form (the XML) is put into the K2 database and it goes with the workflow process.  Normally you pick fields off the form and push those fields to other data sources or use in the workflow.  We used the form data in the Workflow line rules.


I supposed you could take the entire form and push that back the SharePoint Forms Library.  I don't have any experiance with doing this.  I believe that InfoPath is accessbile by using the SharePoint K2 Worklist Web Part, then the K2 Client event would be tied to the InfoPath form. 

Reply