I am trying to look up a Workflow Process Definition by webdav url. I have looked up one by tcm-id, and it tells me its webdav url is: /webdav/Publish%20Bundle%20Workflow but when I try to load it, it can't be found. I consulted the docs to see what extension I should be using: http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2013/concept_11BA56D2F9064F19BEFDCFEEC5C49220 but there is no extension listed for Process Definition. What extension should I be using?
2 Answers
I can confirm that the WebDAV URL given for a Process Definition is just /webdav/<Escaped Process Definition Title>
and that trying to read a Process Definition by that URL reports "No items found".
An alternative to using a WebDAV URL to find your Process Definition without relying on the Tcm Id is to use something like the following Core Service code:
var publicationId = "tcm:0-79-1";
var processDefinitionTitle = "Task Process";
var processDefinitionsFilter = new ProcessDefinitionsFilterData() {
ContextRepository = new LinkToRepositoryData() {
IdRef = publicationId
}
};
var processes = client.GetSystemWideList(processDefinitionsFilter);
var process = processes.Where(p => p.Title == processDefinitionTitle).First();
That should get you an IdentifiableObjectData for your Process Definition.
-
thanks. yes... I had sort of stumbled upon that approach and didn't get around to posting the result. Commented Jun 9, 2014 at 23:33
As I know - process Definition doesn't have WebDav Url. Not sure, why loading with webDavUrl flags returns something.