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)
New Job Hangs
Kapil
Hi,
When I hit "New Job", the form comes up with radio button to select a Template and add Description. So i select a template and Enter the description for the job and hit "New Job".
It just hangs there...nothing happens...Can u please tell me whats wrong!!!!!!
Thanks
Find more posts tagged with
Comments
Migrateduser
Maybe your workflow template is not valid.
Dave Smith
Sr. Software Engineer
Nike, Inc.
(503) 671-4238
DavidH.Smith@nike.com
Kapil
Hi,
Could you please elaborate on this point "Workflow template is not valid" What do I need to check?
thanks
Migrateduser
Well it's kind of hard to say. Since you don't actually get to the UI for the TAG_info section, you can't really utilize the iw_output_file or iw_debug_mode attributes to help you figure it out. Why don't you post your wft file and maybe someone will see something. It's odd that you aren't getting any error messages.
Dave Smith
Sr. Software Engineer
Nike, Inc.
(503) 671-4238
DavidH.Smith@nike.com
wrap issue.pdf
Kapil
Accordnig to the example template I am following, i did the following:
1. Copied templating.cfg file to iw-home/local/config/templating.cfg
2. Copied templatedata folder to test_workarea/ folder
3. Copied author_submit_dcr.wft to iw-home/local/config/wft/default folder
4. Copied author_submit_dcr-*.ipl to iw-home/local/bin direcroty
5. Edit the available_templates.ipl file to add the following:
elsif ($command eq "tt_data")
{
if ($iw_role =~ m/author/i || $iw_role =~ m/editor/i) {
return [
[
name => 'Author DCR Submit',
file => 'default/author_submit_dcr.wft',
],
];
}
}
I am attaching the available_templates.ipl, author_submit_dcr.wft and templating.cfg files. Does this give any idea why "New Job" hangs!!!!
Kapil
******************************************************
templating.cfg FILE
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE templating SYSTEM "templating4.5.dtd">
<templating>
<category name="custom-dtd-examples">
<locations>
<branch vpath-regex=".*" />
</locations>
<data-type name="PressRelease" dcr-type="xml">
<presentation>
<template name="PressRelease.tpl" extension="html">
<locations>
<branch vpath-regex=".*" preview-dir="/">
<directory dir-regex=".*" />
</branch>
</locations>
</template>
</presentation>
</data-type>
</category>
<category name="intranet">
<locations>
<branch vpath-regex=".*" />
</locations>
<data-type name="deptInfo" dcr-type="iwov">
<presentation>
<template name="deptInfo.tpl" extension="html">
<locations>
<branch vpath-regex=".*" preview-dir="/">
<directory dir-regex=".*" />
</branch>
</locations>
</template>
</presentation>
</data-type>
<data-type name="weather" dcr-type="iwov">
<presentation>
<template name="weather.tpl" extension="html">
<locations>
<branch vpath-regex=".*" preview-dir="/">
<directory dir-regex=".*" />
</branch>
</locations>
</template>
</presentation>
</data-type>
</category>
<category name="internet">
<locations>
<branch vpath-regex=".*" />
</locations>
<data-type name="careers" dcr-type="iwov">
<presentation>
<template name="jobDesc.tpl" extension="html">
<locations>
<branch vpath-regex=".*" preview-dir="/">
<directory dir-regex=".*" />
</branch>
</locations>
</template>
</presentation>
</data-type>
<data-type name="auction" dcr-type="iwov">
<presentation>
<template name="auction.tpl" extension="html">
<locations>
<branch vpath-regex=".*" preview-dir="/">
<directory dir-regex=".*" />
</branch>
</locations>
</template>
</presentation>
</data-type>
<data-type name="pr" dcr-type="iwov">
<presentation>
<template name="pr1.tpl" extension="html">
<locations>
<branch vpath-regex=".*" preview-dir="/">
<directory dir-regex=".*" />
</branch>
</locations>
</template>
<template name="pr2.tpl" extension="html">
<locations>
<branch vpath-regex=".*" preview-dir="/">
<directory dir-regex=".*" />
</branch>
</locations>
</template>
<template name="nested_component_example.tpl" extension="html">
<locations>
<branch vpath-regex=".*" preview-dir="/">
<directory dir-regex=".*" />
</branch>
</locations>
</template>
</presentation>
</data-type>
<data-type name="book" dcr-type="iwov">
<presentation>
<template name="book.tpl" extension="html">
<locations>
<branch vpath-regex=".*" preview-dir="/">
<directory dir-regex=".*" />
</branch>
</locations>
</template>
</presentation>
</data-type>
<data-type name="medical" dcr-type="iwov">
<presentation>
<template name="medical.tpl" extension="html">
<locations>
<branch vpath-regex=".*" preview-dir="/">
<directory dir-regex=".*" />
</branch>
</locations>
</template>
</presentation>
</data-type>
<data-type name="periodic" dcr-type="iwov">
<presentation>
<template name="periodic.tpl" extension="html">
<locations>
<branch vpath-regex=".*" preview-dir="/">
<directory dir-regex=".*" />
</branch>
</locations>
</template>
</presentation>
</data-type>
<data-type name="yacht" dcr-type="iwov">
<presentation>
<template name="yacht.tpl" extension="html">
<locations>
<branch vpath-regex=".*" preview-dir="/">
<directory dir-regex=".*" />
</branch>
</locations>
</template>
</presentation>
</data-type>
</category>
</templating>
********************************************************************
available_templates.ipl
sub available_templates
{
my ($iw_user,$iw_role,$iw_branch,$command,$post_command) =
@_
;
if ($command eq "submit")
{
if ($iw_role eq "author") { return [ "default/author_submit.wft", ]; }
else
{
return
[
[ file => "default/default_submit.wft",
name => 'Submit Workflow',
],
];
}
}
elsif ($command eq "new_job")
{
return
[
"default/author_assignment.wft",
"default/author_assignment_with_email.wft",
"default/work_order.wft",
"default/dual_work_order.wft",
"examples/concurrent_approval.wft",
"examples/concurrent_approval_with_metadata.wft",
"examples/concurrent_approval_with_email_with_metadata.wft",
"examples/serial_approval.wft",
"examples/serial_approval_with_metadata.wft",
"examples/serial_approval_with_email_with_metadata.wft",
] ;
}
elsif ($command eq "iwcs_new_job")
{
return
[
"default/create_content.wft",
"examples/modify_content.wft",
"examples/Import_content.wft",
"examples/Tag_Files.wft",
"examples/Universal_Job.wft",
] ;
}
elsif ($command =~ m/tt_data|tt_deletedcr/i)
{
if ($iw_role =~ m/author|editor/i) {
return [
[
name => 'Author DCR Submit',
file => 'default/author_submit_dcr.wft',
],
];
}
}
else { fail("$0 does not know how to get templates for this command\n");}
}
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
1;
*********************************************************************
author_submit_dcr.wft FILE
<template_script><![CDATA[
#------------------------------------------------------------------------------
# File author_submit_dcr.wft
# Use default workflow for DCR submissions
#
# Copyright 1999 Interwoven, Inc.
# All rights reserved.
#------------------------------------------------------------------------------
my $iwhome = __VALUE__(iw_home);
my $areavpath = __VALUE__(iw_workarea);
# Convert \ to /.
$areavpath =~ s#\\#/#g;
my $banner_html=<<EOS;
<table border=0 width='100%' cellspacing=0 cellpadding=0
bgcolor='#C0C0C0'>
<tr width='100%'>
<td><img align=left valign=center width=125 height=18
src='/iw-icons/submitcomments.gif'
alt='Submit Comments'>
</td>
<td><img align=right valign=center width=85 height=34
src='/iw-icons/tslogosmall.gif'
alt='TeamSite logo'>
</td>
</tr>
</table>
EOS
CGI_info(
tag_table_options => "border=0" ,
error_label_bgcolor => "#EEEEEE" ,
valid_bgcolor => "#EEEEEE" ,
submit_label => "Submit" ,
banner_html => $banner_html,
);
sub set_debug {
# Use debug output file.
if ($^O eq "MSWin32") {
TAG_info(
iw_output_file => "<input type='text' value='/temp/foo.xml'>\n",
);
} else {
TAG_info(
iw_output_file => "<input type='text' value='/tmp/foo.xml'>\n",
);
}
# Use debug mode.
TAG_info(
iw_debug_mode => "<input type='radio' value='true' CHECKED>Debug On<br>\n".
"<input type='radio' value='false'>Debug Off\n"
);
}
# You can invoke debug mode easily in Netscape by right-clicking on
# the Submit form, choosing Create Shortcut, copying the URL, then
# pressing Ctrl-O to open a new page and appending &iw_debugopt=true
# to the end of the URL you paste.
&set_debug if __ELEM__(iw_debugopt);
TAG_info(
# The key "iw_submit_comment" and its associated data gets pushed
# into the workflow as a user variable (via iw_setwfarg_...).
iw_setwfarg_iw_submit_comment =>
[ html => "Submit Comment:".
"<br><textarea rows=8 cols=50></textarea>".
"<br> ",
error_msg => 'Please enter a comment.',
label => '',
],
# Push iw_info_field into workflow.
iw_setwfarg_iw_info_field =>
[ html => "Info Field:<br><input type=text size=50>".
"<p> <br><em>Individual File Comments</em>",
error_msg => 'Please enter an info comment.',
is_required => 'false',
label => '',
],
);
# Define and populate this submit's file list.
my
@submit_file
= ();
my
@rawsubmit_file
= ();
if (__ELEM__('iw_file')) # files sorted in unencoded form
{ # then html-encoded via CGI_lite
@submit_file
= map { TeamSite::CGI_lite::escape_html_data($_);
} sort __VALUE__('iw_file');
@rawsubmit_file
= map { TeamSite::CGI_lite::unescape_html_data($_);
}
@submit_file
;
# Add comment entry to our form for each file.
for (my $i=0; $i<
@submit_file
; ++$i)
{
TAG_info(
"File_comment_$i" =>
[ html => "Comment: $submit_file[$i]<br>".
"<textarea rows=8 cols=50></textarea>".
"<br> ",
error_msg => 'Please enter a comment.',
is_required => 'false',
label => '',
],
);
}
}
# Define and populate this submit's "special" deleted
# files' types list. We CANNOT get EAs on deleted files
# in the middle of the workflow (or anywhere, really) so
# they must be handed to us from the calling program.
my
@dcr_type
= ();
if (__VALUE__(iw_dcrtype) && __VALUE__(iw_dcrtype) ne "empty")
{
@dcr_type
= __VALUE__(iw_dcrtype);
# Compound all type/filename pairs for value insertion.
my $iw_dcrtype;
foreach my $type (
@dcr_type)
{
$iw_dcrtype .= "$type--curiousdelim--";
}
TAG_info(
# The key "iw_dcrtype" and its associated data gets pushed
# into the workflow as a user variable (via iw_setwfarg_...).
iw_setwfarg_iw_dcrtype =>
[
html => "<input type=hidden value=\"$iw_dcrtype\">",
],
);
}
# Set up Generate HTML.
my $gen_html_task_exists = 1;
$review_task_pred = "Generate_HTML";
$update_delta_task_succ = "Generate_HTML";
$update_delta_task_succ_desc = "Generate HTML";
# Remove Generate HTML task if we don't need it.
if (
# If we have deletions (this will need to be adjusted
# when we do aggregate submissions).
# Or if our checkbox has been chosen.
__VALUE__(iw_dcrtype) || __VALUE__(iw_genhtml) eq "false"
) {
$gen_html_task_exists = 0;
$review_task_pred = "Update_Delta_Table";
$update_delta_task_succ = "Review";
$update_delta_task_succ_desc = "Proceed to Review";
}
# Prep our lot of external commands for platform independence.
# These commands have increasingly outmoded names and are subject
# to imminent change. (Perhaps something more mnemonic in order?)
my
@externalcmd
= (
"$iwhome/local/bin/author_submit_dcr-0.ipl",
# "$iwhome/local/bin/author_submit_dcr-1.ipl",
# "$iwhome/local/bin/author_submit_dcr-2.ipl",
"$iwhome/local/bin/unlock.ipl",
"$iwhome/local/bin/author_submit_dcr-3.ipl",
);
# Independ them.
#
# We're using Win32::GetShortPathName to make sure the command will be
# interpreted by the shell properly instead of thinking that "C:\Program" is
# the command and "Files\Interwoven..." etc. are the args.
#
# If we were to quote the command instead, we'd want to make certain we used
# quotes complementary to the quotes used to describe the <command/> tag's v
# attribute. I believe only singles can be used for this, so the command
# would have to be quoted in doubles.
# e.g.: <command v='"mycommand" my arg u ment s'/>
if ($^O eq "MSWin32")
{
for (my $i = 0; $i <
@externalcmd
; $i++) {
$externalcmd[$i] =
Win32::GetShortPathName("$iwhome\\iw-perl\\bin\\iwperl.exe").
" " .
Win32::GetShortPathName($externalcmd[$i]);
}
}
# Make descriptive description.
my $job_description = "Author DCR Submission";
if (
@submit_file)
{
$job_description = $submit_file[0];
if (
@submit_file
!= 1) {
$job_description .= " ...";
}
}
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
]]></template_script><?xml version="1.0" standalone="no"?>
<!DOCTYPE workflow SYSTEM "iwwf.dtd">
<!--
Workflow: Author DCR Submit
author_submit_dcr.wft
This workflow works much like the TeamSite author seat,
but is designed for DCR submission.
Simple flow-through:
invocation -> update delta table -> generate html usertask ->
review -> submit DCR(s), etc. -> unlock files -> update basetable
The parameters are:
iw_areaowner Owner of the workflow
iw_file File(s) to be worked on
iw_workarea Workarea
iw_user Current user
-->
<workflow name="Author DCR Submission"
owner="__TAG__('iw_areaowner');"
creator="__TAG__('iw_areaowner');"
description="__INSERT__($job_description);">
<usertask
name="Review"
owner="__TAG__('iw_areaowner');"
description="Work Review"
readonly="t"
start="t"
>
<areavpath v="__INSERT__($areavpath);"/>
<successors>
<successorset description="Approve">
<succ v="Submit"/>
</successorset>
<successorset description="Reject">
<succ v="Author_Work"/>
</successorset>
<successorset description="Cancel Job">
<succ v="End"/>
</successorset>
</successors>
<files>
<template_script><![CDATA[
for (my $i=0; $i <
@submit_file
; ++$i)
{
__INSERT__("
<file path='$submit_file[$i]' " .
"comment='__TAG__(File_comment_$i);'/>");
}
]]></template_script>
</files>
<activation>
<pred v="Author_Work"/>
</activation>
</usertask>
<usertask
name="Author_Work"
owner="__TAG__('iw_user');"
description="Data Content Record Add or Modify"
>
<areavpath v="__INSERT__($areavpath);"/>
<successors>
<successorset description="Work Done">
<succ v="Review"/>
</successorset>
</successors>
<activation>
<pred v="Review"/>
</activation>
</usertask>
<submittask
name="Submit"
owner="__TAG__('iw_areaowner');"
description="Submit Data Content Records"
>
<areavpath v="__INSERT__($areavpath);"/>
<successorset description="Submit Complete">
<succ v="Unlock"/>
</successorset>
<activation>
<pred v="Review"/>
</activation>
</submittask>
<!-- Unlock submitted files. -->
<externaltask
name="Unlock"
owner="__TAG__('iw_user');"
description="Unlock submitted files."
>
<areavpath v="__INSERT__($areavpath);"/>
<successors>
<successorset description="Unlock Complete">
<succ v="End"/>
</successorset>
</successors>
<command v='__INSERT__($externalcmd[1]);'/>
<activation>
<pred v="Submit"/>
</activation>
</externaltask>
<endtask name="End">
<activation>
<or>
<pred v="Unlock"/>
<pred v="Review"/>
</or>
</activation>
</endtask>
</workflow>
****************************************************************8
Migrateduser
I don't do any templating, so I'm not familiar with the specific templating syntax. I'm curious how the tt_data command works in the available_templates.ipl. I would think if you selected New Job, you would get only the list of workflow templates listed in the New Job section of available_templates.ipl. Maybe someone who knows templating can help with this one.
Dave Smith
Sr. Software Engineer
Nike, Inc.
(503) 671-4238
DavidH.Smith@nike.com
Migrateduser
tt_data triggers a workflow whenever a DCR is saved.
Cheers
Rob Huffstedtler
rob@bagpipe.com
MailOutPNG.PNG
Migrateduser
Here's a thought....
I noticed that the fellow was talking about modifying available_templates.ipl. If you have workflow builder server installed, you should never modify available_templates.ipl (well, unless you need to set debugging on, but that's another story for another time), but only available_templates.cfg. The easiest way to tell: if available_templates.cfg exists, use it.
Cheers
Rob Huffstedtler
rob@bagpipe.com
Migrateduser
Oh yeah - I always seem to get those filenames mixed up. It's nice that Interwoven makes things so distinct with their choice of filenames.
Dave Smith
Sr. Software Engineer
Nike, Inc.
(503) 671-4238
DavidH.Smith@nike.com
Migrateduser
So what I suspected was correct - he should only get the standard list of Interwoven supplied workflow templates when he selects New Job from the File menu, correct?
Dave Smith
Sr. Software Engineer
Nike, Inc.
(503) 671-4238
DavidH.Smith@nike.com
Migrateduser
Dude, you changed the available_templates.ipl file? Did you miss this comment at the beginning of the file:
########################################################################
# DO NOT MODIFY THIS FILE. TO ADD/REMOVE WORKFLOW TEMPLATE ACCESS,
# EDIT <iw-home>/local/config/wft/available_templates.cfg
########################################################################
I hope you have the original copy of available_templates.ipl. You're supposed to modify the available_templates.cfg file, as Rob said. That is most likely your problem.
Dave Smith
Sr. Software Engineer
Nike, Inc.
(503) 671-4238
DavidH.Smith@nike.com
brent1
It appears from the files posted here that you are using v4.5.1 of TeamSite. Is this true? It's always good to include the OS and software version with your posts.
From your available_templates.ipl file it appears that to perform your test, you do not want to start with New Job. I think you want to start with New Data Record. You will then choose the data catatory and data type that you want to test with. This will bring up the DCT. After entering your data, you will save the DCR. Saving the DCR will kick off the workflow that you are interested in.
Brent Seddelmeyer
Beckman Coulter Inc.
Kapil
Hi,
I am using TeamXpress for Multiple Platforms V1.1 on Windows 2000. I inquired more to find out that TeamXpress is equivalent to TeamSite v4.5. As per your questions:
You are right about the part that after saving a DCR a workflow should kick off, but it is not starting.....DCR files get saved and I get a pop-up message that "DCR has been saved"
Dude, you changed the available_templates.ipl file? Did you miss this comment at the beginning of the file:
########################################################################
# DO NOT MODIFY THIS FILE. TO ADD/REMOVE WORKFLOW TEMPLATE ACCESS,
# EDIT
/local/config/wft/available_templates.cfg
########################################################################
There is no file as available_templates.cfg
So what I suspected was correct - he should only get the standard list of Interwoven supplied workflow templates when he selects New Job from the File menu, correct?
yes you are correct, I do see a standard set of Workflow to choose from once I hit "New Job" which are as follows:
Author Assignment
Author Assignment With Email
Work Order
Dual Work Order
Concurrent Approval
Concurrent Approval With Metadata
Concurrent Approval With Email With Metadata
Serial Approval
Serial Approval With Metadata
Serial Approval With Email With Metadata
I also tried commenting the addition i made earlier to the available_templates.ipl files to check whether the "New Job" would work, but guess what that doesnt work either.......
Any ideas!!!
Migrateduser
OK, so which workflow do you select from the list?
Dave Smith
Sr. Software Engineer
Nike, Inc.
(503) 671-4238
DavidH.Smith@nike.com
mogoo
Kapil-
Just a low-tech thought... have you tried reverting back to the original available_templates.ipl via the history list, vs. commenting out your section added? Your edited version of the .ipl might have extra stuff inadvertantly added in it by your editor. That happened to me when I used Homesite to try to edit iwsend_mail.ipl, which caused it not to work.
maureen
Kapil
I used all the of the below and they all hang!
Select a template:
Author Assignment
Author Assignment With Email
Work Order
Dual Work Order
Concurrent Approval
Concurrent Approval With Metadata
Concurrent Approval With Email With Metadata
Serial Approval
Serial Approval With Metadata
Serial Approval With Email With Metadata
Migrateduser
We tested these internally and they didn't hang. Are you still having this problem?
Shannon
Interwoven