[geeklog-devel] Plugin layout

Tony Bibbs tony at tonybibbs.com
Tue Dec 21 18:27:14 EST 2004


Right now I'm working on the EventManager which has obvious ties to the 
plugins that may be installed.  We need to agree to some sort of 
directory structure for plugins.  Here is what I am proposing:

For any using MVCnPHP and Propel, here is what I suggest:

/path/to/Geeklog-2
    /public_html/
        /<plugin_name>
            /commands
            /sql
            /system
                /Propel
                    /<propel_package_name>
                    /NamedQueries.xml
                    /<propel_package_name>-conf.php
            /themes
                /default
                /<themeName>
            /views
        /index.php
        /mvcconfig.php

You'll notice that looks almost exactly like the Geeklog-2 directory 
structure

For plugins not using MVCnPHP and Propel:
/path/to/Geeklog-2
    /public_html/
        /<plugin_name>
            /sql
            /system
            /themes
                /default
                /<themeName>

Only thing I don't like is I'd prefer a way to move all code outside of 
the web tree.  This would be very easy for MVCnPHP-based applications, 
however, for 1.3.x style plugins, I don't see how this is possible. 

One thing I do know is I want all plugin code in one place.  This makes 
installation and upkeep simpler.  However, it does potentially expose 
code...something I think we can manage effectively since we know about 
it ahead of time.  Anyway, by having it in one place, we could expose 
some "pear install"-like behavior which would definitely have some big 
benefits.

--Tony



More information about the geeklog-devel mailing list