main logo
Subject: Application design to accept plugins
Author: "Malcolm Greene"
Posted: 2004/10/30 19:56:50
 
View Entire Thread
New Search


I would like to open up an application so that 3rd parties can _SAFELY_
add additional functionality without access to my application's source
code or internal runtime environment (work areas, variables, SET values,
etc). My application already has hook points that could be enhanced to
check for plugins and communicate with them if present.

My strawman ideas:

1. Define a simple XML syntax for communication between my application
and plugins.

2. By default, use a low level file for passing messages.

3. Optionally define an expected COM interface that my application would
use to "bind" to external plugins. The downside to a COM interface is
that users would have to install plugins as COM components and most of
my customers run in locked down environments that will not allow them to
install COM or ActiveX components.

I'm also thinking of allowing users to write plugins in VFP source code
and use EXECSCRIPT() to execute their code. My understanding is that
EXECSCRIPT() code does _NOT_ have any access to the calling
application's work areas, variables, SET values, etc) and so could
safely be used as a type of "external scripting language". I'm choosing
EXECSCRIPT() vs. COMPILE because any code run via the COMPILE command
will have access to my application's internal environment.

Feedback, suggestions, warnings, etc? Fire away!

Thanks,
Malcolm


 
©2004 Malcolm Greene
<-- Prior Message New Search Next Message -->