Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
Single-Click URL WF Access
Hrd2Imagin
An IW salesperson mentioned to me that there is a way to kickoff workflows, or create/edit DCRs using a single URL for each situation.
I'd like to create a control panel web page with links to our most common editing and creation functions. For instance, a link that says the following:
- Create a new Press Release
that will automatically open a new DCR for press releases in a specific workarea. What would the URL be to create such a link? What about starting a workflow? Is this possible to do? Or did I not quite understand the salesperson?
I'm currently running version 5.0.1
Thank you!
Find more posts tagged with
Comments
akshathp
In my workflow development projects, I have used CCI URL for this purpose. Refer to TeamSite admin guide for the details on the usage.
1. To edit a templated page, I provided a link to
http://tsservername/iw/webdesk/edit?vpath=/default/main/
...
2. For new DCR I used
http://tsservername/iw/webdesk/newdcr?area_path=/default/main/...&iw_tdt=templatecategory/templatetype
3. To kick off a workflow with assign event
http://tsservername/iw/webdesk/assign?vpath=/default/main/..
.
4. To kick off a workflow with directly with instantiator call
http://tsservername/iw/webdesk/login/iw-bin/iwwft_instantiator.cgi?&iw_branch=/default/main/branchname&iw_first_time=true&iw_home=/usr/iw-home/&iw_role=editor&iw_session=NotUsed_anymore&iw_template_file=default/workflowtemplatefilename.wft&iw_template_name=NameforWorkflow&iw_use_defaults=false&iw_user=yourusername&iw_workarea=/default/main/branchname/WORKAREA/workareaname&iw_file=provide-vpath-of-filename-here
There are many more features in 5.5.2
Hope this helps!
Akshat Pramod Sharma
Interwoven Inc.
Migrateduser
I assume that in your example #4 to kick off a wft file directly from a URL, if there are any required TAG_info parameters, they would also need to be referenced in the URL in order to make it instantiate successfully?
If I have required TAG_info parameters called "iw_setwfarg_email_addr" and "contributor", how would I add the value for those parameters in the URL? Would it simply be:
http://tsservername/iw/webdesk/login/iw-bin/iwwft_instantiator.cgi?&iw_branch=/default/main/branchname&iw_first_time=true&iw_home=/usr/iw-home/&iw_role=editor&iw_session=NotUsed_anymore&iw_template_file=default/workflowtemplatefilename.wft&iw_template_name=NameforWorkflow&iw_use_defaults=false&iw_user=yourusername&iw_workarea=/default/main/branchname/WORKAREA/workareaname&iw_file=provide-vpath-of-filename-here&iw_setwfarg_email_addr=foo@bar.com&contributor=smitty77
Dave Smith
Sr. Software Engineer
Nike, Inc.
(503) 671-4238
DavidH.Smith@nike.com
akshathp
I am assuming that these required Tag_info parameters that you are fetching the values for would be part of the template_script tag in your wft. Right?
If yes, then they will get executed in a normal way. I mean, this call to instantiator will actually run your workflow as you run in normal way. Even TeamSite GUI uses this instantiator to execute the wft. So all interactive data that you collect in your wft will be in same manner.
Hope this helps!
Akshat Pramod Sharma
Interwoven Inc.
wsin(40).txt
Migrateduser
OK, so if I click on this URL then, I assume it will attempt to log me into TeamSite? And once I'm logged in, it will immediately display the job input screen with all the Tag_info fields ready to be filled in? If not, can you explain the process of what happens when I click on one of those types of URLs? Please be specific...
Dave Smith
Sr. Software Engineer
Nike, Inc.
(503) 671-4238
DavidH.Smith@nike.com
james1
> 4. To kick off a workflow with directly with instantiator call
>
http://tsservername/iw/webdesk/login/iw-bin/iwwft_instantiator
> .cgi?&iw_branch=/default/main/branchname&iw_first_time=
> true&iw_home=/usr/iw-home/&iw_role=editor&iw_session=
> NotUsed_anymore&iw_template_file=default/workflow
> templatefilename.wft&iw_template_name=Namefor
> Workflow&iw_use_defaults=false&iw_user=yourusername
> &iw_workarea=/default/main/branchname/WORKAREA/
> workareaname&iw_file=provide-vpath-of-filename-here
I'm pretty sure this is neither documented nor supported. Is it?
People should be aware that undocumented API's such as this may, in a future version of TeamSite, no longer work as expected.
-- James
--
James H Koh
Interwoven Engineering
Migrateduser
Jeez, James, if all the undocumented stuff was not supported, the support guys could work half-days
I would argue that there are a lot of undocumented techniques available for workflow. But that's not necessarily because Interwoven has been clear to document only what is supported - it's more because Interwoven has not kept the documentation complete.
Let's look at this another way. Why not document this and support it? This seems like a reasonable enough thing for people to want to do.
Dave Smith
Sr. Software Engineer
Nike, Inc.
(503) 671-4238
DavidH.Smith@nike.com
akshathp
Yes. If you click on this URL:
1. It opens a browser with Login prompt
2. After authentication it renders wft in the same browser.
3. If you have any interactive element in your wft (TAG_info), it will prompt for that. For example, if you have any input from user about the selection of username from a dropdown list as an approver or editor, then that will prompt first in normal way as the workflow executes.
4. Once all the TAG_info information is collected, it will execute the tasks defined in wft one-by-one. If the start task is a CGI task then it will open it in the same browser window.
And as adviced by James, since this is not a documented way, for any future upgrade we need to be carefull to continue wiht this type of customization. Though it is not difficult at all.
Hope this helps!
Akshat Pramod Sharma
Interwoven Inc.
Hrd2Imagin
Ashkat,
When creating a new DCR, is there any way to specify what the new DCR filename is to be named?? Or to get even more specific, auto-fill certain fields in the new DCR?
I'm hoping to create a Perl script that will generate the URL links to new DCRs based on certain variables such as the date, author, etc mainly to control naming schemes and consistency.
Can you get that specific in the URL? Or am I only dreaming?
Thanks!
bomversion2.jpg
Migrateduser
Here are two approaches that you could consider:
Use FormAPI (Templating) to control handle the initialization and naming of the DCR, or
Have your workflow create the pre-populated DCR and then give the user an Edit link to the DCR.
The disadvantage to the second approach is that the user may just press Cancel and you would be left with the partially completed DCR. I don't know if you can "pass in" information to Templating via the URL.
Brinko Kobrin
Interwoven Staff Engineer
james1
> When creating a new DCR, is there any way to specify what
> the new DCR filename is to be named??
I don't think so.
> Or to get even more specific, auto-fill certain fields in the
> new DCR?
I don't think so.
> Can you get that specific in the URL?
I don't think so.
> Or am I only dreaming?
I think so.
I would advise you to take one of Brinko's fine suggestions.
-- James
--
James H Koh
Interwoven Engineering
Migrateduser
I just noticed that you already wrote that you are on 5.0.1. Therefore, FormAPI is not an option for you (unless you upgrade). But you could still pre-create a DCR and have the user edit that file.
Brinko Kobrin
Interwoven Staff Engineer
Migrateduser
Hi,
What if I didn't want the job input screen to appear. I want to assing or pass the required TAG parameters through the URL. The job input screen prompts for 3 reviews from 3 select boxes with usernames.
Can I just add to the url like reviewer1=$reviewer1&reviewer2=$reviewer2 and so onn?
In my case, the workflow is started as part of a bat script or a perl script which processes FOP to output PDF and should kick off a workflow attaching the PDF file through an approval process. All this should happen with any user being logged in or anything. so the job_owner would be SYSTEM in my case right?
Any help/pointers would be appreciated.
Thanks in Advance,
Mukesh
Adam Stoller
This sounds like what I used to call the "template workflow" (as opposed to the workflow template) approach.
You create a job description form (XML - no TAG_info, no embedded Perl) that maps to your desired process.
You turn the job description form into a "template workflow" by embedding easy-to-find-and-replace strings like ****_AUTHOR_****, ****_REVIEWER_****, and so on.
Your script then involves performing whatever logic you need to determine the parameters to fill into the "template workflow" - rights the processed file into a temporary location, and then calls iwjobc and iwinvokejob on it (I don't remember what release iwjobc was enhanced to contain a '-i' flag to do the part of both iwjobc and iwinvokejob). As soon as the job is invoked you can delete the temporary file.
The one caveat about this is that the user seen to be invoking the script *must* be in the master.uid file. On Unix this is relatively easy to do with a setuid script (doesn't have to be setuid root). On Windows, you just need to make sure that the SYSTEM is running the script and not the "impersonated" user who initiated it.
--fish
(Interwoven Senior Technical Consultant)
Migrateduser
Hi,
Thanks for the info. I have some questions.
Could I not just append the TAG parameters to the instantiator.cgi URL part of the query string?
Should the script run as SYSTEM or the job_owner of that job that I wan to kick off be the SYSTEM account?
sara
I created a custom menu item that launches a workflow. I still have some questions for improvements of the interface.
Is it possible to let the custom menu item launch the workflow form immediately. For the moment I need a button in the custom menu item to pass all parameters to the iwwft_instantiator.
some questions about your post
1. It opens a browser with Login prompt
How can I leave this out? The users are already logged in when launching the custom menu item. I tried passing the session but that is not enough
3. If you have any interactive element in your wft (TAG_info), it will prompt for that
The form to start the workflow shows the required fields in red, even if I pass iw_first_time=true as mentioned in the iwwft_instantiator.
4. Once all the TAG_info information is collected
Is it possible to pass the TAG_info information to the instantiator from the custom menu item?
Thanks
Sara
Anip
Hi,
It's been some time since this discussion but can anyone remember whether this worked?
I have TAG_info parameters that I want to include in the URL querystring so that they are pre-filled for the user starting the workflow. These values are from behind the scenes and so prompting the users for them will make no sense.
I appended the values to the querystring but I don't know what to do in the template_script element of my wft to pick up these values and put them into hiddens in the form so they can be passed on to the external task.
Please shout if I'm not giving enough information.
cheers
Ani
cliffhanger
If these values are static, then why do you want to pass them from the querystring? Why not just use them use them as hidden variables in your WFT?
Regardless......
I appended the values to the querystring but I don't know what to do in the template_script element of my wft to pick up these values and put them into
hiddens
in the form so they can be passed on to the external task.
If you want to save these values just to pass it to the external script, you could do so simply by using a perl variable in your template_script. Then pass it as a command line arguement to your external task. Or did you mean to say how to set these values as Job/Task variable?
Anip
Thanks for getting back to me Cliff.
The values aren't static, the application I'm developing allows casual users to select a document to be copied into Teamsite and then a workflow is kicked off to prompt for meta-tagging and submission. The values I want to send is the path of where the document originally came from, which I will capture in my application but will need later on in the external tasks. The application itself sits as a portlet in our portal, on a totally different server to Teamsite hence I was looking to the URL Commands as an entry point into Teamsite itself.
My problem is that I've appended these values in the querystring for the URL Command and have added a TAG_info into the wft but I don't know how to tie the two together and have the hidden be populated with the value from the querystring. If I view the html source of the workflow data capture screen I can see my hidden but the value is still ''. A bunch of other values exist that have clearly come originally from the querystring - such as the sessionstring I passed - but I guess they're retrieved by teamsite processing.
If I can't achieve this through the URL Commands I was also looking to using the CSSDK web services. I'm already using them to authenticate the user and pass a sessionstring in the URL but I'm working pretty blind trying to work out how to create a workflow in this manner as the only examples and documentation I can find on it is in Java and not C# (as we're using).
cheers