Hmmm. It does indeed open a temp copy of the file, but it's?a temp copy of a copy of the resource within the repository; it's incapable of checking out the resource from the repository so that users can actually make changes. Am I missing something?
----- Original Message ---- > From: Hussein Shafie <hussein at xmlmind.com> > To: Jeff Hooker <jeff at itwriting.ca> > Cc: "xmleditor-support at xmlmind.com" <xmleditor-support at xmlmind.com> > Sent: Saturday, June 20, 2009 2:31:19 AM > Subject: Re: [XXE] Using Helper applications when using a Virtual Drive plugin > > Jeff Hooker wrote: > > > > Having spoken with Bluestream, I have some more questions. > > > > Jim Tivy (Bluesteam) says that the basic problem is that XXE knows only of > > the > virtual path, and not of the actual filename of the resource that I'm trying > to > use a helper app to open. He has suggested that an intermediary Java app to > call > the Bluestream API and establish the name of the actual file in the cache > would > be the first step to successfully handing it off to a helper app. Currently, > he > says, when XXE asks for a resource, XDocs simply streams the resource down to > XXE and the Virtual Drive plugin handles the relationship between the file > displayed in XXE and the file in the repository. What's needed for making > helper > apps work is a more direct relationship where the virtual drive checks out > the > resource and then hands the name of the actual file in the cache off to the > helper app. > > > > Any ideas on where to go next with this? Does XXE have any built in ways of > accessing an external API? Could this be a custom command? > > > > What Jim Tivy (Bluestream) describes is specific to the way the XDocs > virtual drive plug-in has been implemented. The virtual drive plug-ins > implemented, and thus supported by XMLmind, do not work like this. > > What he suggests, passing to the helper application the filename of the > file cached by the plug-in, this filename being obtained using an XDocs > API, cannot work for any other virtual drive plug-in. > > We prefer to explain the simple, generic, solution to what is in fact a > generic problem. > > Let's suppose I want to open an SVG illustration in Inkscape. The URL of > this SVG illustration is "foo://bar/gee/wiz.svg" (where the support of > "foo:" URLs is implemented by the means of the "Foo" virtual drive plug-in). > > Needless to say that Inkscape knows nothing at all about "foo:" URLs! > > The trick is to specify that the helper application does not support > URLs at all, just filenames. > > To do that, simply use "%F" in the command template of the helper > application. See > http://www.xmlmind.com/xmleditor/_distrib/doc/help/com.xmlmind.helperapps.HelperApplicationEditor.html > > By doing this, XXE will make a temporary copy (on the local file system) > of the file to be opened. Then XXE will invoke the helper application > passing the filename of the temporary copy to it. > > Same? behavior if you want to edit the SVG illustration. XXE will first > make a temporary copy of the file to be edited. Then XXE will invoke the > helper application passing the filename of the temporary copy to it. > After this temporary copy has been edited in Inkscape, XXE will *upload* > the edited temporary copy in order to replace the original file. > > I've tested all this with Inkscape and an SVG file having an "sftp:" URL > and it works really fine. There is no reason why it wouldn't work with > an "xdocs:" URL.

