Difference between revisions of "Plugins"

From GeeklogWiki
Jump to: navigation, search
m (Re-save, in the hope that it makes the images appear ...)
m (removed a sentence)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
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).
+
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 ([[Plugin API|APIs]]).
  
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.
+
For a list of available plugins (note: work in progress), see
 +
* [[Official Plugins|Bundled Plugins]]
 +
* [[Unofficial Plugins|3rd Party Plugins]]
 +
 
 +
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.
 
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
+
Geeklog Plugins have access to the following services or APIs
 
* Plugin Editor to install/de-install and enable/disable plugins
 
* Plugin Editor to install/de-install and enable/disable plugins
* Provide links to the SiteHeader Navigation, User and Admin Menu's
+
* Provide links to the Site Header Navigation, [[User Settings & User Functions Block|User]] and [[Admins Block|Admin]] Menus
 
* Add to the site search function
 
* Add to the site search function
 
* Extend the site stats reporting
 
* Extend the site stats reporting
* Leverage the GL Comment Engine
+
* Leverage the Geeklog Comment Engine
 
* Automatically update tables upon user add/edit/delete
 
* Automatically update tables upon user add/edit/delete
 
* Extend the User Account Profile - add new options
 
* Extend the User Account Profile - add new options
Line 16: Line 20:
 
* Provide new RSS Newsfeeds
 
* Provide new RSS Newsfeeds
 
* Provide a formatted Centerblock
 
* Provide a formatted Centerblock
* Integrate into the WhatsNew block
+
* 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.
 
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
+
* Support the Plugin Editor Install/Uninstall
 
* Provide new security rights such as plugin_name.edit and plugin_name.user
 
* Provide new security rights such as plugin_name.edit and plugin_name.user
 
* Provide menu integration
 
* Provide menu integration
Line 25: Line 29:
 
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.  
 
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.
  
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, I have created an illustrated image that describes the directory structure and locations of the plugin related folders and files. [[Image:PluginInstallOverview.jpg]]
+
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. [[Image: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.
 
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
+
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
 
* Create all required new tables
 
* Add any new default data
 
* Add any new default data
Line 41: Line 45:
 
Note: If there are any errors during installation, the plugin will (should) by default remove itself and delete the added tables.
 
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.
+
Troubleshooting:
 +
* Review the Geeklog <tt>error.log</tt> 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 [[Disabling a plugin|disable the plugin manually]].
  
The following illustrated image shows the Plugin Editor with an overview of it's usage.
+
The following illustrated image shows the Plugin Editor with an overview of its usage.
 
[[Image:PluginEditor.jpg]]
 
[[Image:PluginEditor.jpg]]
 +
 +
 +
[[Category:Plugins]]

Latest revision as of 10:08, 8 June 2009

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