How do I configure JDE to use external imaging?

jpsst34

Well Known Member
The decision has been made here to use an imaging system from a vendor that is not partnered with JDE. To link the two systems, the proposed solution is to:

1). Configure JDE to use an external imaging system.
2). Discover exactly what JDE does when adding and retrieving images from an external imaging system.
3). Write a custom middleware app or .dll to handle the calls out of JDE and pass them on to the third party imaging system.

The fuzzy area for me is (2). How does one configure OW Xe to use an external imaging system, and how does JDE function once it's been configured in this way? Does anyone know where I might find documentation regarding this? Has anyone set up JDE with an external imaging system and can point me in the right direction?

Thanks,
 
Jack,
I am also interested in how this would work. We are currently using an external imaging system and would also like to have this capability of drilling down from JDE. Please let me know if you find out any add'l information. Thanks.
 
I'm working with Denver now to try and get some decent examples / documentation on this. I'll be sure to keep the list up to date as I find anything out.

I asked one JDE consultant about using the C API's, namely the imaging APIs, and he pointed me to a kg document that describes that these APIs have been depricated and JDE does not reccoment using them. I have attached that doc.

I then logged an issue asking to be pointed to the technical documentation for connecting JDE to a third party imaging system through a custom middleware server. Her response was to use the imaging C APIs. I told her they were depricated and she was at a loss. She said she'll work further with development to try and find out the recommended method.

This is where I stand now. I'll keep the list posted.
 

Attachments

  • 45453-C_APIs.html
    8.2 KB · Views: 121
Howdy Jack,

JDE would prefer you to use the COM/Java/XML interoperability to the C API's, but that is something of a separate issue as what we are concerned with here is a bespoke interface from OneWorld to an Imaging system, not the reverse.

Assumung my statement above is correct, then I think what you need to do is write some C bsfn's that call the exposed API's of your imaging system. How this is done obviously depends on the interface they have provided. If they deliver a C API in DLL's then the approach could be to simply link to the API at runtime. Ths approach uses the LoadLibrary and GetProcAddress win32 APIs. I think OneWorldWhippingBoy has put some samples of this on his website.

If the imaging vendor exposes it's API by some other means, such as COM, then you would still need to write some C wrapper functions to access the COM objects.

Hope that helps. Looks like an interesting project... I'm envious!

JohnO
 
Just posting a private message conversation between johnd and I on this subject for the benefit of the list...


======================================================

Jack,

I have managed to find a way of getting One World to link to external images using the BSFN B34A1030. Run DOS Command. (I use the Xcopy command)

What I've managed to do is, if the images have the same name/value as a hidden field in your form then, using this command in a row exit, you can have automatic links between the photos and grid records.
I'm actually using a photo placed on a form which I change with the BSFN. The form image never changes location, but I copy into that the external images from the Database.

It works ok even over citrix. (Be careful how the server prompts the user for confirmation of copy file etc)
In this example below I've got photos linked on AN8.

VA frm_source_PTH = concat([VA frm_source_PTH],[GC AddressNumber])
VA frm_source_PTH = concat([VA frm_source_PTH],'.jpg')
//
VA frm_CommandLine = "xcopy"
VA frm_CommandLine = concat([VA frm_CommandLine],' ')
VA frm_CommandLine = concat([VA frm_CommandLine],[VA frm_source_PTH])
VA frm_CommandLine = concat([VA frm_CommandLine],' ')
VA frm_CommandLine = concat([VA frm_CommandLine],[VA frm_destination_PTH])
VA frm_CommandLine = concat([VA frm_CommandLine],' ')
If FC Fat Client (c:\) is equal to "F"
VA frm_CommandLine = concat([VA frm_CommandLine],'/I /F /Y')
Else
VA frm_CommandLine = concat([VA frm_CommandLine],'/I /F')
End If
//
//
Run DOS Command


Hope this helps. If you need more info e-mail me on
[email protected]

regards

John


===================================================


Hey John,

Thanks for the message. That's a good idea you have - so good, in fact, that I've already implemented it as an interim solution at our site. I have added a row exit to a couple of forms that calls a win32 console app, that in turn launches the third party image viewer. The drawback to this is that it's not omnipresent within OW. You must add the exit on a per-screen basis.

The next step here is to enable imaging via the means provided by JDE and write custom middleware to call the third party imaging system. Doing so will incorporate imaging throughout OW anywhere media attachments are involved.

Do you mind if I post these messages to the forum to add visibility, should anyone else be interested?

-Jack


===================================================


Jack,

Yeah you can post it......take the credit while your at it.
Kidding.
Post it by all means. Glad it worked.

John
===================================================
 
Back
Top