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.

Issue

The issue stems from the ServiceInstanceXML not being updated when a .kspx file is deployed via MMC that contains document library SmOs, which in turn causes output in regards to available libraries to not reflect all document libraries which should be available via document wizards. This can be tested via 'Get SmartObjects for Service Folders' under the 'Smart Object Service Functions' by passing in the service instance GUID (Service Instance GUID) and 'Document' (Service Object Name) as the parameters for properties in parenthesis and scnull for the remaining three properties. The GUID can be found via the query below...

SELECT ServiceInstanceGUID
FROM SmartBroker.ServiceObject
WHERE (CHARINDEX('DOC LIB NAME', CAST(ServiceObjectXML AS NVARCHAR(MAX)))>0);

Symptoms

Output of 'Get SmartObjects for Service Folders' does not reflect all doc libs that have SmOs mapped.

Resolution

Regenerating the SmOs for the doc lib via the app alleviates the issue. Also, the behavior does not occur if using the web UI P&D from the get-go. However, if MMC was already used to deploy, the end user should not create a new .kspx file via the web UI and redeploy using the web UI with a new .kspx as the result will be duplicated SmOs due to different naming conventions when using web UI vs MMC.