[geeklog-modules] Geeklog plugin API Enhancements

Blaine Lang langmail at sympatico.ca
Sat Jan 4 23:35:04 EST 2003


Another API is from a note that Tony made sometime ago. GL now has a
COM_emailUserTopics() function but as the Plugins advance, we need a way for
a user to request a summary of all new site activity.

Plugins could have as fine a control for their users as they want .. but the
lib-common function needs to make a call to PLG_pluginEmailupdates()

Do we need a API call for plugins that is called when users login and
logout?

Any more ideas?

Blaine

----- Original Message -----
From: "Tony Bibbs" <tony at tonybibbs.com>
To: <geeklog-modules at lists.geeklog.net>
Sent: Thursday, January 02, 2003 10:21 AM
Subject: Re: [geeklog-modules] Geeklog plugin API Enhancements


> You'll be happy to know that GL2 will support threading of anything in any
> order.  Not sure how many of you were in on those discussions but the
> concept behind GL2 is simple.  Everything on the front page is considered
> an 'item'.  An item is just an abstract object that holds some
> characteristics common to all plugins (uid of owner, gid of group, GL
> security stuff, date posted, status (i.e. is it a submission or not), etc.
>
> So, if you will, imagine a page where you can post an article, then
> instead of just comments you can attach polls, documents, etc.
>
> As for arbitrary user attributes, GL2 may need to consider supporting some
> sort of registry where modules can register user attributes that other
> modules may want to use.
>
> --Tony
>
> On Thu, 2 Jan 2003, Tom Willett wrote:
>
> > > 1) New API to support a center block
> > > I would like to see a Plugin API call in index.php to check to see if
any
> > > registered plugins have a function for a centerblock.
> > >
> > > Possibly the lib-plugins.php function would be
> > > PLG_TopCenterBlock($topic,$homepage=true);
> > >
> > > Then the plugin function would be responsible for any security checks
and
> > > return the formated HTML. Block Developers could easily tap into this
as
> > > well by releasing the plugin as a basic plugin with possibly just a
simple
> > > install, uninstall and this block function. Need to support some
concept of
> > > order when there are several.
> > >
> > I like this -- it is a step toward making the stories just another block
and
> > turning the center into another block column.  The big problem I see
here is
> > order.  It would be essential to use the block order number and that
> > complicates programming such a beast.  You would have to call all the
> > plugins and keep the results in an array until you got ready to display
it.
> > Along with this, what if I want to make my block come after the stories
or
> > after the main story? and before the rest of the stories?
> > > 2) Usersettings API's to allow plugins to extend the usersettings in
the
> > > account information.
> > >
> > >    - Need a API called on user (add/edit,delete,display)
> > >    - Plugins could add there functions as required and keep there user
> > > settings in separate tables but linked via UID
> > >
> > The problem I see here is collisions -- what if two plugins want the AIM
> > username?  You have two problems that could arise here -- a variable
name
> > collision and requiring the user to enter the information twice.  How
about
> > a compromise.  Build the extensibility into geeklog and have one master
list
> > and one master table that the plugins could use through an api.  So we
could
> > have three api calls:
> >
> > two for setup:
> > PLG_getUserSettings           to return the list of extended user
settings.
> > PLG_addUserSetting            to add a user setting to the list.
> >
> > one for normal use:
> > PLG_getUserSetting            to read an extended user setting
> > or
> > PLG_getUserSettings           to read all extended settings (fewer db
calls)
> >
> > > 3) Story related Link ....
> > >
> > >    - Plugins could be called and be related to a story.
> > >    - Example: Link at end of story intro - to start a new forum
discussion
> > > (or view the current disussion)
> > >
> > >   - This may make sense more for the forum plugin but should we make
it
> > > generic and topic specific. Maybe some sites may use a particular
topic
> > area
> > > and want the  stories related to a plugin.
> > >
> >
> > Good idea.  But I see uses well beyond the forum plugin, infact beyond
> > plugins.  How about an easy way to add anything to the what's related
box.
> > Then you would not have to include hyperlinks in line in text, they
could
> > just be entered in the what's related box.
> >
> > Actually this seems to me a geeklog core issue and not one for a plugin
api.
> >
> >
> > And now I will bring up another plugin issue.  The requirement that the
> > plugin be in a directory that corresponds to its name is a serious
> > deficiency.  It causes 3 problems as I see it.   1)  What about two
plugins,
> > written by different authors with the same name but different purposes?
2)
> > What about name collisions with system directories  (I have run into
this
> > with my stats plugin).  3)  Limitations on a descriptive name for the
> > plugin.  The easiest way around this is to add a field to the gl_plugins
> > table that has the directory the plugin resides in.  It would then be
simple
> > to find the plugin and make it easy to put the plugin in different
directory.
> >
> > --
> > Tom Willett
> > tomw at pigstye.net
> > _______________________________________________
> > geeklog-modules mailing list
> > geeklog-modules at lists.geeklog.net
> > http://lists.geeklog.net/listinfo/geeklog-modules
> >
>
> _______________________________________________
> geeklog-modules mailing list
> geeklog-modules at lists.geeklog.net
> http://lists.geeklog.net/listinfo/geeklog-modules




More information about the geeklog-modules mailing list