Symptoms
Issue: PandD Errors - 'viewName' View is referencing the 'propertyName' property on the 'smartObject' that could not be found.
'formName' Form is referencing the 'propertyName' property on the 'smartObject' that could not be found.
'workFlowName' Process is referencing the 'Missing Handler ID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX' Unknown that could not be found.
Diagnoses
I get reference errors and a Missing Handler ID -error on the workflow when I try to package.
Resolution
This particular issue required a bit of legwork in understanding how PandD packages are formed. We did most of the research on finding the errors by forcing PandD to create the package that was undeployable. We then changed the file extension from .kspx to .zip, and unzipped the resulting PandD package. From here, we opened in a text editor (Notepad , with XMLTools plugin). We used CTRL SHIFT F to search all files in a directory, and then searched for the offending GUID referenced in the error message.
From there, we took a look at the XML structure above the GUID, and attempted to locate the node, or any indication of the activity where the error was coming from.
We resolved the HandlerID error via the following (detailed in word document attached to ticket "Start Rule Reconfiguration".
Essentially, for Sharepoint Integrated workflows, the process is as follows:
1. Open the start rule for the process, step through each screen of the wizard, screenshotting mappings and other values for later use.
2. Re-open the start rule once the screenshots have been taken, The second screen of the wizard lists "Event Sources", select "Remove All"
3. Reconfigure the event sources, essentially replicating the previous setup.
4. Continue through the wizard, remapping sharepoint list values to appropriate data fields in the workflow.
5. Finish the wizard.
Here, we use the data we found from the previous unzipping of the package, we found that a particular activity "Director Approval Step", contained a match for the GUID in question. In this particular case, the event was a smartforms client event.
7. Open the client event wizard in the above located workflow step.
8. On the second screen of the wizard, where the form is selected, click the "Refresh" button. This triggers a rebuild of the XML structure calling the form.
9. Complete the wizard, ensuring all mapped values and other steps are unaffected by the refresh. Typically, no loss of data occurs, however, screenshots are again helpful.
10. Redeploy the workflow. Attempt PandD. The HandlerID error should be resolved.
For Smartforms integrated processes, the resolution is somewhat simpler.
1. Open the start rule of the process, and navigate to the Smartforms integration wizard.
2. On the second screen of the wizard, where it specifies the form that starts the workflow, click the refresh button.
3. Click through the remaining screens on the wizard, verifying the mappings and settings are correct. Finish the wizard
4. Repeat as needed for other smartforms client events throwing similar errors as detailed above.
5. Redeploy the process
The remaining errors on the form/view level:
viewName' View is referencing the 'propertyName' property on the 'smartObject' that could not be found.
'formName' Form is referencing the 'propertyName' property on the 'smartObject' that could not be found.
This step again, involved digging through the XML of the package itself. We used Notepad again to search for the property name. We found hits in several locations for each property. The definition.model file entries can be ignored, and we chose to focus on the artifacts that matched the name. In this case, once we found the offending property, we scrolled up inspecting the XML nodes above for clues as to what portion of the form/view was the cause. In this particular case, we found that the rule configuration was the issue. We scrolled up until we found the property of the rule, which gave us "When View Executed Initialize". We stepped through each rule and did not find any reference to the property, but, we chose to screenshot each section of the configuration, and then deleted the existing rules and recreated them. This resolved the remaining issues.
Some other hints in this process, take note of the number of occurrences in each file. This can correlate to the number of actions in the rule. In our case, we found 6 references to the property mentioned in the error message, each of which corresponded to a specific action that was underneath the event "when the view executed initialize".