For example I need to declare an item as a record.
Apparently there is no REST API for record management. So no declarative workflow activity and REST service calls. That leaves me with a custom code activity - right?
- Unfortunately deploying code activities appears to be quite painful. See here.
- Also given the fact that my workflow service might run on a completely different host than my SharePoint server I may not use the SharePoint OM - only CSOM. Or REST calls. In both cases a security context has to be taken care of.
As option #1 appears to be quite invasive in terms of deployment actions I'd prefer a more "SharePoint" way to solve this problem. I recently suggested to someone else not to create tons of code activities but rather make the required functionality accessible through web service calls. Sounds good, right?
- If the required functionality were supported by CSOM I could rely on that - the web service could be hosted anywhere. Again - a security context needs to be taken care of.
- If the required functionality is NOT supported by CSOM I'd need to deploy a custom web service on the SharePoint server itself to be able to use the full object model.
Lastly I could simply decide to use SP2010 workflows. They run on the same machine by design (can use OM).
Anything I am wrong about? Any other recommendations?