From GeeklogWiki
Revision as of 21:41, 18 May 2009 by Cordiste (talk | contribs)

Jump to: navigation, search

Geeklog plugins are addon components that provide new functionality and leverage the internal services of Geeklog. Many of the available and contributed plugins are listed in this document. Plugins are different then blocks which normally do not use any of the internal Geeklog services (API's).

There are many services that a plugin can use to provide a tightly coupled application that now performs and looks like it a natural part of the over all Geeklog solution. It's possible to just wrap Geeklog around another application but it may have it's own security and user model for example. It's far better to have a single user database and security model to manage users and access to site features.

Plugins will for example automatically add themselves to your site navigation and provide the ability to restrict and control access to the component for public access and administrative functions.

Geeklog Plugins have access to the following services or API's

  • Plugin Editor to install/de-install and enable/disable plugins
  • Provide links to the SiteHeader Navigation, User and Admin Menu's
  • Add to the site search function
  • Extend the site stats reporting
  • Leverage the GL Comment Engine
  • Automatically update tables upon user add/edit/delete
  • Extend the User Account Profile - add new options
  • Support moderation to have admin approve content changes
  • Provide new RSS Newsfeeds
  • Provide a formatted Centerblock
  • Integrate into the WhatsNew block

Plugins can be complete applications or provide a new administrative service but they all need to support a minimum set of features to be called a plugin.

  • Support the Plugin Editor Install/De-install
  • Provide new security rights such as plugin_name.edit and plugin_name.user
  • Provide menu integration

Plugins all have a similar installation procedure which requires a few manual steps to copy the plugin related files to the required directories. This part of the plugin installation is often confusing for new users/site admins. This is understandable but once you do one plugin, you will find others much easier to install.

Note: By default the staticpages plugin is installed as part of the core Geeklog installation. Use this also as an example.

In addition, each plugin may have other steps that need to be performed so read the plugin installation directions carefully.

As an overview to assist you with installing a plugin, I have created an illustrated image that describes the directory structure and locations of the plugin related folders and files. PluginInstallOverview.jpg

Once the files are copied and in place as required, you will use the Admin Plugin Editor to complete the installation. The plugin editor will automatically list new un-installed plugins if the files have been copied correctly. If not - then review your previous steps.

The plugin editor will call the plugin install or de-install functions - which are part of the new plugin program files. The installation process will

  • Create all required new tables
  • Add any new default data
  • Add the new security rights and update the admin user permissions
  • Register the plugin as installed if all these steps are steps are completed without error.

Note: If there are any errors during installation, the plugin will (should) by default remove itself and delete the added tables.

Troubleshooting: Review the Geeklog error.log file for a detailed trace of the installation for any related errors if the install is not successful.

The following illustrated image shows the Plugin Editor with an overview of it's usage. PluginEditor.jpg