473,413 Members | 1,794 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,413 software developers and data experts.

How should one write a plug-in interface?

How should one write a plug-in interface?

I've tossed around several ideas but rudimentary ones at best. For
example:

Plug-In-A -Plug-In-Proxy -Application

The plug-in simply hands off its information such as author,
description, functions, parameters, et cetera to the proxy -- the
application then polls the proxy at runtime.

Does this seem like a reliable method? Smart? Efficient?

Any and all help is greatly appreciated.

--
-Lost
Remove the extra words to reply by e-mail. Don't e-mail me. I am
kidding. No I am not.
Sep 15 '08 #1
4 1420
-Lost wrote:
How should one write a plug-in interface?

I've tossed around several ideas but rudimentary ones at best. For
example:

Plug-In-A -Plug-In-Proxy -Application

The plug-in simply hands off its information such as author,
description, functions, parameters, et cetera to the proxy -- the
application then polls the proxy at runtime.

Does this seem like a reliable method? Smart? Efficient?

Any and all help is greatly appreciated.
There are all kinds of plugins. Exactly what you're trying to do would
be a big help.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================

Sep 15 '08 #2
Response to Jerry Stuckle <js*******@attglobal.net>:
There are all kinds of plugins. Exactly what you're trying to
do would be a big help.
Terribly sorry, Jerry, I didn't think it was important. Or rather,
I'm trying to (in general) understand a good method for
implementing plug-ins so thought specifics didn't matter.

However, I'm going to spin yet another CMS. The idea is I'd like
to roll it out fairly bare bone and in the near future add on the
other features I had planned -- therefore I needed a system of
adding functionality "on-the-fly" so to speak. I just don't seem
to be able to wrap my head around it or the ideas I have come up
with seem a bit too primitive.

Right off the bat I'm thinking 2 main types of plug-ins:

1) The plug-in returns its contents to the application front-end(a
Web page) and thusly gives the user more options to choose from or
new content (like an RSS feed, photo stream, et cetera).

2) The plug-in offers entirely new functions to the application --
this is one of the ideas I was having difficulty with. How would I
make the application "self aware" giving it the ability to utilize
new functions without running them through an "init." This one is
probably for the trash bin... or I'm over thinking it entirely.

Actually, maybe I should ask: what is the best method of rolling
out an application where I can simply drop in another page of code
that interacts with the primary application without having to re-
code the primary application.

Is this still too vague? Sorry if this is a bit incoherent still.
I've got the ideas down -- sometimes I don't convey them well.

Thanks for your patience!

--
-Lost
Remove the extra words to reply by e-mail. Don't e-mail me. I am
kidding. No I am not.
Sep 15 '08 #3
-Lost wrote:
Response to Jerry Stuckle <js*******@attglobal.net>:
>There are all kinds of plugins. Exactly what you're trying to
do would be a big help.

Terribly sorry, Jerry, I didn't think it was important. Or rather,
I'm trying to (in general) understand a good method for
implementing plug-ins so thought specifics didn't matter.

However, I'm going to spin yet another CMS. The idea is I'd like
to roll it out fairly bare bone and in the near future add on the
other features I had planned -- therefore I needed a system of
adding functionality "on-the-fly" so to speak. I just don't seem
to be able to wrap my head around it or the ideas I have come up
with seem a bit too primitive.

Right off the bat I'm thinking 2 main types of plug-ins:

1) The plug-in returns its contents to the application front-end(a
Web page) and thusly gives the user more options to choose from or
new content (like an RSS feed, photo stream, et cetera).

2) The plug-in offers entirely new functions to the application --
this is one of the ideas I was having difficulty with. How would I
make the application "self aware" giving it the ability to utilize
new functions without running them through an "init." This one is
probably for the trash bin... or I'm over thinking it entirely.

Actually, maybe I should ask: what is the best method of rolling
out an application where I can simply drop in another page of code
that interacts with the primary application without having to re-
code the primary application.

Is this still too vague? Sorry if this is a bit incoherent still.
I've got the ideas down -- sometimes I don't convey them well.

Thanks for your patience!
Yes, it's very important - there are almost as many ways of writing
plugings as there are programmers coding them. Asking which is the
"best way" is like asking which is the "best car" for you.

In a function oriented system, normally there are two ways to interact.
The application has a specific set of functions which can be called,
often at certain times. Additionally, there are specific callback
functions the application can call or files the application can include
specific times. Which functions/files are specified via functions in
the application and/or configuration files.

An object oriented system works somewhat differently. Typically there
are predefined objects in the application. The user derives new objects
from the existing ones to change functionality. The system again has
functions and/or configuration settings which allow the user to specify
the new objects to be used.

There are other ways, also. But what I would really recommend is
looking at a couple of the existing CMS's and see how their user
interface works. I suspect it will quickly dissuade you from writing
your own. Even the simplest CMS's are complicated to implement.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================

Sep 15 '08 #4
Response to Jerry Stuckle <js*******@attglobal.net>:

<snip>
Yes, it's very important - there are almost as many ways of
writing plugings as there are programmers coding them. Asking
which is the "best way" is like asking which is the "best car"
for you.
Those are the kind of analogies I can get behind -- thank you.
In a function oriented system, normally there are two ways to
interact.
The application has a specific set of functions which can be
called,
often at certain times. Additionally, there are specific
callback functions the application can call or files the
application can include specific times. Which functions/files
are specified via functions in the application and/or
configuration files.

An object oriented system works somewhat differently. Typically
there are predefined objects in the application. The user
derives new objects from the existing ones to change
functionality. The system again has functions and/or
configuration settings which allow the user to specify the new
objects to be used.
MANY thanks! This is the perspective and "professional hint" I
needed.
There are other ways, also. But what I would really recommend
is looking at a couple of the existing CMS's and see how their
user interface works. I suspect it will quickly dissuade you
from writing your own. Even the simplest CMS's are complicated
to implement.
Ugh, I did! I also decided what the heck and chose to peruse the
"how to write a WordPress plug-in" article.

I'll play the stubborn goat though and keep at it. I'll make sure
to point you to it for a critique if I ever make something of it.

Thanks for your feedback. It's most definitely appreciated.

--
-Lost
Remove the extra words to reply by e-mail. Don't e-mail me. I am
kidding. No I am not.
Sep 15 '08 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
by: hijwel | last post by:
<script language="JavaScript"> <!-- document.write('<form name="combo"><select name="example" size="1 onChange="Draw()">'); document.write('<option value=none>Maak je keuze');...
3
by: Ike | last post by:
Can anyone discern why the following code writes the document.write() lines literally? That is, a line like document.write('<CENTER>') should write <CENTER> but instead writes the entire ...
12
by: Radek Maciaszek | last post by:
Hi It's very interesting problem. I couldn't even find any inforamtion about it on the google. I think that the best way of explain will be this simple example: <html> <body> <script...
12
by: Sean | last post by:
Hi, I have the following script: ----------------------------------------------------------------------------------- <script type="text/javaScript"> <!-- document.write('<div...
2
by: Kelvin | last post by:
To all, I've got another question. Does anybody know how to write plug-ins using VC++?? Actually, my friends and I will develop a Photo enhancing system, and so we'll need some technique to...
4
by: Brad Markisohn | last post by:
Is there a way to determine, programmatically, when Plug-and-Play devices are connected or removed from the PC? In VB 6 I caught events from the SysInfo control, but I don't believe that this...
11
by: Vmusic | last post by:
Hi, I am trying to write out an array of string variables to Notepad. I can't get SendKeys to accept the string variable only literal quoted strings. I DO NOT want the hassle of writing to a...
3
by: Brett_A | last post by:
I'm trying to write data from a form using a text box (textarea) that has a return after each item. For example: email1@domain.com email2@domain.com email3@domain.com email4@domain.com I'm...
1
by: diwakar09 | last post by:
hi all, could you tell me how to write plugins for mac safari how to start, i have the dll's but i don't know how to start, pls. guide me, if possible send me some links from where i can access...
8
by: Mateusz Viste | last post by:
Hi, I am trying make some multimedia files playable from my website. So far, I am able to generate dynamically a new page containing the right <embed> section. However, when I load my script, it...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.