You can use the SDK (specifically, CAT) to add a custom toolbar button that opens a web browser and directs it to the forms URL.
This presentation has sample code for adding toolbar buttons. Check out the "CustomButtonManager" sample. The exe launched by the button would do something like this:
static void Main(string[] args)
{
int hwnd = 0;
int entryid = 0;
for (int i = 0; i < args.Length; i++)
{
if (i == 0)
hwnd = Int.Parse(args[i]);
if (i == 1)
entryid = Int.Parse(args[i]); // TODO: %(SelectedEntries) is comma separated for multiple entries
}
if (hwnd > 0 && entryid > 0)
LaunchForms(hwnd, entryid)
}
public static void LaunchForms(int hwnd, int entryid)
{
using (ClientManager lfclient = new ClientManager())
{
IEnumerable<ClientWindow> windows = lfclient.GetAllClientWindows(ClientWindowType.Main);
foreach (ClientWindow window in windows)
{
if (window.Hwnd == (IntPtr)hwnd) // Found the window the button was clicked from
{
RepositoryConnection repoconn = window.GetCurrentRepository();
ILFConnection pLFConnection = GetLFSOConnection(repoconn);
ILFDatabase pLFDatabase = pLFConnection.Database;
ILFEntry pLFCurrentEntry = pLFDatabase.GetEntryByID(entryid);
ILFHasTemplate pLFHasTemplate = (ILFHasTemplate)pLFCurrentEntry;
ILFFieldData pLFFielddata = pLFHasTemplate.FieldData;
string formsurl = pLFFielddata.get_FieldAsString("FormsUrl");
// Launch IE and browse to the url:
System.Diagnostics.Process.Start(formsurl);
}
}
}
}
public static ILFConnection GetLFSOConnection(RepositoryConnection repoconn)
{
string strSerializedConnection = repoconn.GetConnectionString();
LFConnection lfsoconn = new LFConnection();
lfsoconn.CloneFromSerializedConnectionString(strSerializedConnection);
LFDatabase lfdb = lfsoconn.Database;
lfdb.GetEntryByID(1); // test connection
return lfsoconn;
}
And your button would run this kind of command line:
"c:\path\to\your\launcher.exe" %(hwnd) %(SelectedEntries)