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)
Using <callout> in a metadata datacapture.cfg on a non-<text> item
sleepyd
I'm trying to configure my metadata datacapture.cfg to populate the various <select> form elements with <option>'s that are read from a database.
I've read that the standard <inline> command supported in the templating datacapture.cfg's is NOT supported for the metadata datacapture.cfg, so I'm exploring the <callout> tag instead.
I've got the <callout> tag working as described in "datacapture.cfg.example". But in this example, the item is defined as a <text> element, when I'd like to use <select> elements, so that the corresponding metadata search will interpret it correctly.
According to the "datacapture4.0.dtd" that corresponds to the metadata datacapture.cfg, the <select> element can also take a <callout> tag. But when I convert one of the <text> elements into a <select> element (and make no other changes), the set metadata form no longer loads correctly. ("Internal Server Error.... blah, blah, blah")
Has anyone ever gotten <callout> working with a <select> item?
Find more posts tagged with
Comments
Migrateduser
Hi. I'm working on a similar issue right now. My disclaimer here it that I have little to no experience messing with datacapture.cfg so far!
I'm using datacapture.cfg ONLY for metadata capture and wanted to 'plug' the default values for some of the fields with calls to perl scripts.
So far, I've had no problems using <inline> for this, such as in this call: <inline command="/interwoven/iw-home/iw-perl/bin/iwperl /interwoven/iw-home/httpd/iw-bin/iw_user.ipl" /> which calls out to a perl script that builds the substitution xml that includes the <text> info and then sets the <default> info by setting it to the value of IW_USER.
If the metadata hasn't previously been set for this field, the inline call returns the user id as a default into the text box, and then saves the value into the metadata when save is entered.
Article #002152 from the support site helped us with this.
Hope this helps!
Migrateduser
I'm finding the opposite of what your assumption was. We've been able to use <inline> statements but NOT <callouts> on the metadata capture screen. Here's why (so far).
When you call a cgi callout, the method the callout cgi program is supposed to use (see the current Templating Developer's Guide, p. 114) to get the data created by it back into the datacapture form is by using a javascript call back to a javascript function back in the datacapture form called datacapture.refreshForm().
When using the generated metadata capture form, there IS NO datacapture.refreshForm() subroutine in the datacapture form to receive the content from the cgi callout. You can check this out by using the browser's 'view source' on the metadata capture page where you'll see a number of javascript functions, but NOT the datacapture.refreshForm one that will accept the incoming data.
Is this a bug? Maybe...Interwoven, are you out there??
Adam Stoller
If you have MetaTagger installed - both inlines and cgi-callouts work from the metadata capture screen.
I don't recall which, if either, work from the OOTB TeamSite metadata capture form.
--fish
(Interwoven Senior Technical Consultant)
Migrateduser
Hi again Ghoti -
I've currently got a case open on this, as I would like to get it going. I have TS 5.5.2 installed in conjunction with MT 3.5 running on a separate machine.
As I mentioned before, I've installed the z_calendar.ipl callout for a date field and it comes up fine - but when I click done on the calendar, the code inside the calendar wants to call the refreshForm javascript function back in the opening metadata capture page (opener.top.datacapture.refreshForm()) which isn't the opener - so nothing happens.
As far as I can tell, the refreshForm() function needs to be available in the opener to receive the cgi values.
When I get some resolution to this, I'll post it here.
Thanks,
Wally Box
Nike, Inc.
amar_maheshwary
I went through couple of threads wheather Metadata datacapture.cfg file supports CGI call out, Form API and inline. I have seen that most of the people are not able to get it work and different view points but as per the documentation it should work but dont know how ... ;-)
I am also facing the similar problem that my call out doesnt return the values and same callout works perfectly in the formpublisher ..
As ghoti mentioned in few of thread that if we have TeamSite6.0 + and metatagger is installed then inlines will work ..but ghoti is the same true for callouts as well
I am trying to populate the date field and on selecting the date nothing returns the DCT form ..
Teamsite6.5 + windows 2003
Adam Stoller
A "simple" callout associated with a single field in the MDC DCT should work.
A "complex" callout associated with multiple fields in the MDC DCT will not work unless you have a "black patch" from Interwoven (or uness it got included in SP2 and you have SP2 installed).
FormAPI will not work with MDC DCT at this point (at least as of 6.5 SP1 - probably 6.5 SP-anything)
Not knowing what your DCT and callout code look like - it's difficult to speculate too much on what is not working or why.
--fish
Senior Consultant, Quotient Inc.
http://www.quotient-inc.com
amar_maheshwary
Thanks ghoti for clarifying the things.. I am using simple callout of date calender but as mentioned earlier in this thread its not able to send the values to DCT .. the same thing is happening here as well .. any pointers how to debug this and another interesting thing is normal regex doesnt work with this datacapture.cfg file as well and even interwoven example dct doesnt have the call to date calender ;-). they are setting the date using normal text field
If any body has set the date field using call out on MDC please guide mee
Adam Stoller
Let me repeat myself:
<font color='blue'>Not knowing what your DCT and callout code look like - it's difficult to speculate too much on what is not working or why.</font>
How to debug? The same way you would debug anything else - if in perl: use log files, if in javascript: use alerts
--fish
Senior Consultant, Quotient Inc.
http://www.quotient-inc.com