Here is a description of my need.
I would like, in an ADF Fusion Web Application, to be able to browse the UCM content and then locate a file to get its dID. I saw that multiple ADF Task Flows exist for that, such as Documents - Document Explorer, Documents - Document Navigator, etc. None of them seems to offer this feature.
The big picture here, is I want to select a file, within the UCM, to then link this file to a specific project in my application.
For example :
ProjectID 1, dID 3254234545
ProjectID 2, dID 5465434564
Does someone know a way for me to obtain the dID of a selected item on a "Documents - Document Explorer" taskflow?
I have looked into taskflow customization but I don't think this could be the solution to my problem.
It looks being available almost OOTB - see http://docs.oracle.com/cd/E21764_01/webcenter.1111/e10148/jpsdg_content_jsfpg.htm#JPSDG8063
It states that
"resourceId - The currently focused resource. This value can be a folder ID or a document ID (as shown in the properties pane of the Document Viewer task flow)."
Of course, you might have to adjust the default task flow to select, not just focus a (document) resource. This piece really does not exist and will require a customization.
As I mentioned in the other thread, these links can be helpful:
Or is there anything particular you are stuck on?
I managed to modify the taskflow to incorporate an output text that displays the resourceId and even managed to deploy it to our server.
Now the thing is, how can I retrieve this value from my jspx page, since the taskflow render as an af:region? To me, the parameter is an "Input" parameter and not an output one. Do you have some documentation so that I can get this value (the resourceId) from the taskflow on my jspx page?
Edited by: benster on Jan 22, 2013 12:30 PM
I'm afraid the best available documentation is the one already provided. It is true that it does not mention explicitly if the parameter is input or output (unlike all the others it could be both), but searching for some more info and thinking about it I assume it must be an input one.
What I found is this: http://docs.oracle.com/cd/E23943_01/web.1111/b31974/taskflows.htm
In the text it states that: "An ADF bounded task flow consists of its own set of private control flow rules, activities, and managed beans. A caller requires no internal knowledge of such things as page names, method calls, child bounded task flows, managed beans, and control flow rules within the bounded task flow boundary. Input parameters can be passed into the bounded task flow, and output parameters can be passed out on exit of the bounded task flow. Data controls can be shared between task flows."
This means, you could use either an output parameter (if the task flow is somehow exited - which it does not do at the moment; that's why I think the current param is an input one), or a data control.
Read on in the document, and it seems that a data control might be a better option here. I'm afraid it leads more to the realm of ADF, so it might be better to search the ADF forum - even though, some forum users might be able to help even here.
Another question is how to fill in this parameter. If it is not implemented, you will have to analyse the insides of the task flow. I think WebCenter Portal uses the RIDC Java API, so you will have to search where a DOC_INFO service is called (via RIDC or Web Services - note that there are few DOC_INFO services). See this link http://docs.oracle.com/cd/E23943_01/doc.1111/e11011/c04_core.htm#BABBCIEB and on for details. These services return result sets, particularly one called DOC_INFO where you can find dID to be copied to your output parameter/data control.
I've been also thinking if dDocName would not be more appropriate - dDocName marks a content item, dID marks a revision (there might be more for one content item), but you seem to know what you need.
I like your last remark. I spoke with my boss and he doesn't want us, at that point, to customize a taskflow.
I also tried to bind the input parameter resourceId to a String object (result) in my bean. Never once it entered in my setResult() method.
I would have to read about the data control thing which can be shared between taskflows.
From what I have read, dID is globally unique where as dDocName (Content ID) is not a unique document since it can have multiple revisions.
I will leave this question unanswered, to see if someone knows how to access this resourceId outside the taskflow. My other plan is to develop a minimalist document explorer of my own. I would have prefered to bypass the RIDC API since we experienced some issues with it, like if you try to tag a document using RIDC, it is not recognized as a tag for WebCenter.
Thanks for you time Jiri