0

A coworker has been tasked with adding a hyperlink to an InfoPath 2010 form which will open an outside application. He has successfully created his hyperlink and tested it in the InfoPath Filler application (not a browser). When he loads the form in a browser, though, the link doesn't work. In IE it just opens a blank window and in Firefox it just reopens the form (same location url).

An important thing to note: The protocol of the hyperlink is NOT http. Instead it is an in-house protocol handled by software we've written and deployed to all our machines.

It works like this: ourProtocol://app=SomeApplication?arg=Argument. Normally, when a link like this is clicked the OS checks for an application registered to handle ourProtocol and then our app takes care of the rest.

So, my question is: Does SharePoint apply and security measures to links in InfoPath forms? I'm guessing that the link may be disabled because the protocol isn't http. Or could there be a setting to disable links in forms?

Another note: I had a quick peek at the source form when rendered in a browser and the hyperlink target string is there, but in a JS call.

2
  • Do you mean to say that your co-worker is attempting to use JavaScript within an InfoPath browser form? I believe that is an unsupported scenario but could you clarify that is the case? Apr 30, 2011 at 0:58
  • no, he isn't using javascript. I'm new to InfoPath so excuse me if the terminology I use is wrong: What he did was add a Hyperlink component and set the Target property with a datasource. The datasource is ahidden text field which uses a formula to concatenate a string literal and another field.
    – MetaFight
    Apr 30, 2011 at 15:35

1 Answer 1

1

The link within an INfoPath form is set to use a .js script when used from the browser. There is a problem with this in that, browser forms have always had to have specific levels of trust in order to take action on a user's client machine. It appears that this link you are using actually is to open an application that is local to the client. I am afraid that you are going to run into the same problems that printing a form runs into, which requires a lot of custom coding to take place within the form. The default behavior for links in InfoPath is to open them in a new window, I'm sure this is why you get the new blank window. You may need to consider some custom code that will call your application for browser forms.

1
  • Hi Lori, thanks for the reply. Your comment helped me work a few things out. First, I checked if IE was treating our custom protocol as it would file://. Luckily, it doesn't. I was able to host a link on an external webpage and IE attempted to resolve it. Unfortunately, IE doesn't like the link's syntax and tries to 'fix' it. This mangles the link. It's replacing characters in the link (& with a ?) and it's adding a trailing /. Unfortunately, our link handler doesn't cope well with this. The plan now is to use C# code to get the OS to open the link. This way we can bypass IE
    – MetaFight
    May 3, 2011 at 8:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.