[geeklog-devel] Quick overview of GL2 and what we have so far and how it relates to the API

Tony Bibbs tony at tonybibbs.com
Wed Oct 29 17:55:21 EST 2003

I wanted to draw an ascii picture of what GL2 has started or planned so 
far.  Please take note as this impacts some of our discussions of late:

|         | AUTHENTICATION/AUTHORIZATION |                |-->Module 1
| Geeklog | TRANSLATION                  | Plugin Manager |-->Module 2
|         | messaging*                   | (Includes API) |-->Module 3
|         | SESSION MANAGEMENT           |                |-->Module N
|         | database abstraction         |                |
|         | MVC                          |                |
|         | SPELLCHECKER                 |                |
|         | up2date service*             |                |
|         | module library interface     |                |
|         | remote bug reporting         |                |
|         | etc.                         |                |

NOTE: items in all CAPS have either been implemented or are being 
implemented.  Items marked with an * are items that would be for-profit 
or have extended for-profit features.

The diagram above isn't radically different from how GL 1.3.x works (I 
mean, we did do a lot of good stuff that shoud carry over).  First the 
big box containing the three sections is how we can logically think of 
Geeklog.  The middle tier are classes that I would provide a key 
resource to all modules.  The Plugin manager is the means by which 
Geeklog communicates to all the modules (the equivalent of 
lib-plugins.php in the 1.3.x world).

First off, Blaine, notice how I have made your messaging portion part of 
the core.  I know you don't want this but keep in mind this is a logical 
representation, not a physical on.  I plan on making your messaging 
component a true module.  The distinction is that I think you can almost 
gaurantee that nearly all modules will want the ability to use 
messaging.  Also, for clarity when I say messaging I a lumping PM, IM 
and Email functions all together.

Now let me bring your attention to the Plugin Manager.  This portion 
consists of two distinct pieces.  A) the server side manager responsible 
for calling API methods on the modules and B) the API itself that all 
modules must implement.

The API that vinny was talking about is item B) above.  I make this 
clarification because as I read through some of the feedback I saw us 
talking about things that aren't really meant to be in the API (note 
Vinny mentioned the same thing in his last message).  To be clear, the 
API should consist of methods that GL would want to all in order to 
invoke some sort of processing from a module.  On the flip side, the 
Plugin Manager will proxy requests between Geeklog and the modules (this 
IS a two way street).

That being said, we should probably be working on both the Module API 
*and* the object model for the Plugin Manager since they are so closely 

On a side note, anything in lowercase has not been started yet.  If 
anybody wants to volunteer or any of those pieces please let me know.

Finally, I am hoping we find a new name for this other than "Geeklog". 
I know we have talked about this a lot but I wanted to bring this back 
up and challenge us to find a name that is a) catchy and b) marketable 
to businesses.


|Tony Bibbs         |[R]egardless of what you may think of our penal   |
|tony at tonybibbs.com |system, the fact is that every man in jail is one |
|                   |less potential fisherman to clutter up your       |
|                   |favorite pool or pond. --Ed Zern                  |

More information about the geeklog-devel mailing list