Plugins

From GeeklogWiki
Jump to: navigation, search

Geeklog plugins are addon components that provide new functionality and leverage the internal services of Geeklog. Plugins are different then Blocks which normally do not use any of the internal Geeklog services (APIs).

For a list of available plugins (note: work in progress), see

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 overall 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 APIs

  • Plugin Editor to install/de-install and enable/disable plugins
  • Provide links to the Site Header Navigation, User and Admin Menus
  • Add to the site search function
  • Extend the site stats reporting
  • Leverage the Geeklog 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 What's New 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/Uninstall
  • 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.

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

Installation

As an overview to assist you with installing a plugin, here is 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 uninstall 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.
  • If a failed install prevents your site from working properly now, you may need to disable the plugin manually.

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