Plug-Ins

Submitted by Hagen Graf on 19. January 2012 - 16:05
Sponsored by

Jack plugs 1/4" A plug-in adds specific capabilities to a component. The term plug-in is also used in other places. For example, plug-ins are commonly used in web browsers to play videos. A well-known plug-in example is Adobe's Flash Player. A good example for the use of plug-ins in Joomla! is the search component. Five search plug-ins work together to find content from different Joomla! components.

Joomla! has eight plug-in types: authentication, captcha, content, editors-xtd, editors, extension, finder, quickicon, search, system and user. These are also the names of the website sub directories where the plug-in files are located. For example, plug-ins with a type of authentication are located in the website directory plugins/authentication. It is not possible and not necessary to create a plug-in in the adminstrator area like we have seen in the modules chapter. A plug-in has to be installed via the extension manager.

Authentication

Authentication verifies whether the one trying to be authorized provides correct credentials. You authenticate with your username and password, and you are authorized because you are a member of some permission group (see chapter Users and Permissions) Authorization is the process of specifying access rights. Joomla! offers three possibilities for authentication (Figure 1).
Be careful with deactivating plug-ins. You must have at least one authentication plug-in enabled or you will lose all access to your site.

Authentication plug-ins

Figure 1: Authentication Plug-ins

Joomla!

The plug-in provides the standard behavior for Joomla!. You fill in the login form with your username and password and your login information is then verified.

GMail

If you activate the GMail plug-in, users will be able to log onto your site by using their GMail address and password. Prior registration is not necessary. With the first login, the System plug-in Joomla! will create a user account in its database. The GMail password is stored encrypted in the database, so your users GMail accounts cannot be hacked. This plug-in facilitates the login process for your users. Unfortunately, there is no advisory in the login form that loging in with GMail is possible. You'll have to add additional text or find another creative solution.

LDAP

The Lightweight Directory Access Protocol (LDAP) is an application protocol for reading and editing data from directory service. It is used in companies for managing department affiliation as well as employee phone numbers.

 dn: cn=John Doe,dc=example,dc=com
 cn: John Doe
 givenName: John
 sn: Doe
 telephoneNumber: +1 888 555 6789
 telephoneNumber: +1 888 555 1232
 mail: john@example.com
 manager: cn=Barbara Doe,dc=example,dc=com
 objectClass: inetOrgPerson
 objectClass: organizationalPerson
 objectClass: person
 objectClass: top

In order to use this plug-in for authentication, you will need an LDAP Server (OpenLDAP) and you have to configure the LDAP plug-in with the server specific data. You will find a good tutorial at joomla.org: LDAP from Scratch.

Captcha

Captcha is a new feature since Joomla 2.5. A Captcha is a program that can tell whether its user is a human or a computer. You've probably seen them — colorful images with distorted text at the bottom of Web registration forms. Captchas are used by many websites to prevent abuse from "bots," or automated programs usually written to generate spam. No computer program can read distorted text as well as humans can, so bots cannot navigate sites protected by captchas. The plug-in uses Google reCAPTCHA service to prevent spammers. To get a public and private key for your domain, visit http://google.com/recaptcha. To add a captcha for new account registration, go to Options in the User Manager and select Captcha – reCaptcha.

Plugins Captcha

Figure 2: Captcha Plug-in

Content

Besides the Joomla! content plug-in, all other content plug-ins are related to the text you insert into an article. The Custom HTML module (see chapters Modules) can use the content plug-ins as well (Figure 3).

Plugins Content

Figure 3: Content Plug-ins

Smart Search

The plug-in enable the indexing of content. It is a feature since Joomla 2.5 and the base for the Joomla Smart Search.

Joomla

The Joomla plug-in has two tasks:

  1. When you attempt to delete a category, it verifies whether the category is 'empty'. Empty means, no article or sub category is assigned to it. You can turn this feature off in Basic Settings.
  2. If a new article is submitted via the frontend, the plug-in will send an email to all those users for whom Send Email is turned on (User Manager - Edit User). This feature can be turned off in Basic Settings.

Load Modules

This plug-in loads the HTML output of all modules assigned to a template module position into an article. All you have to do is write {loadposition position-14} in the space where the modules should displayed. This feature is especially useful for putting banner ads into the content. 

Email Cloaking

This plug-in transforms an email address entered into the content in the form of name@example.com into a link, and cloaks the email address by means of JavaScript. The advantage of this is that email address collection programs can't read your email address very easily.

Code Highlighter

The GeSHi plug-in makes Syntax Highlighting possible and creates an impressive listing on your website if you embed the code to be formatted within <pre> </pre> HTML tags:

<pre>
if ($number > 0)
{
  echo $number;
} 
else{
  $number++;
}
</pre>

Pagebreak

The Pagebreak plug-in takes care of pagebreaks in articles. Just like the Image plug-in, it is easy to integrate into the content. Besides a simple pagebreak, various headers and page titles can also be defined. You can set pagebreaks using the pagebreak dialog. The page break will be displayed in the text window as a simple horizontal line. In the HTML code, the pagebreak looks like this:

<hr title="Page Title" alt="Table of Contents Alias" class="system-pagebreak" />

The plug-in has to be activated together with the Editor-xtd - Pagebreak plug-in.

Page Navigation

This plug-in integrates the Next and Previous functions under the articles.

Vote

This plug-in adds voting functionality to articles.

Editors

Joomla! core comes with two editors (Figure 4). In Global Configuration - Site you can set the default editor for your website. Additionally, you can assign a different editor to every user account (User - Manager).

Editors plug-ins

Figure 4: Editor Plug-ins

CodeMirror

CodeMirror is a JavaScript library that can be used to create a relatively pleasant editor interface for code-like content ― computer programs, HTML markup, and the like. This plug-in has to be activated if you want to offer textarea fields with the CodeMirror editor. You can configure the behavior of the editor in Basic Settings.

None

This plug-in has to be activated if you want to offer textarea fields without an editor.

TinyMCE

TinyMCE is a platform-independent web-based Javascript HTML WYSIWYG editor control. It is the default editor in Joomla!.

Editors-xtd

The four editors-xtd plug-ins generate the buttons below the editor window (Figure 5).

Editors-xtd plug-ins

Figure 5: Editor-xtd Plug-ins

Article

Displays a button for linking the actual article to other existing articles. After clicking the button, a pop-up will be displayed allowing you to choose the article to link to.

Image

This plug-in displays a button for inserting images into an article.
After clicking the button, a pop-up will open allowing you to choose an image from the media directory or upload new files and configure its properties.

Pagebreak

Provides a button to enable a pagebreak to be inserted into an article. A pop-up allows you to configure the settings to be used. The plug-in has to be activated together with the Content - Pagebreak plug-in.

Read more

Enables a button which allows you to easily insert the Read more link into an article.

Extension

The extension plug-in type is related to tasks concerning the managing of Joomla! extensions.

Joomla

This plug-in manages the update sites for extensions.

Finder

The Smart Search component was formerly Finder. That is the reason for the name of this plug-in type. The Smart Search plug-ins for Contents, Weblinks, Contacts, Categories, and Newsfeeds can be activated when needed. They implement the search function of the Smart Search component. These plug-ins have to be activated if you are trying to obtain search results from the respective sections. If you want to search additional components, the respective plug-ins for those have to be available as well (Figure 6).

Plugins Finder

Figure 6: Smart Search Plug-ins

Quickicons

The plug-ins of this type are checking for updates for Joomla and for your installed third-party extensions and notifies you when you visit Site -> Control Panel.

Quick Icon

Figure 7: Control Panel

Search

These are the plug-ins for the "classic" Joomla search component. The Search plug-ins for Contents, Weblinks, Contacts, Categories, and Newsfeeds can be activated when needed. They implement the search function of the Search component. These plug-ins have to be activated if you are trying to obtain search results from the respective sections. If you want to search additional components, the respective plug-ins for those have to be available as well (Figure 8).

Search plug-ins

Figure 8: Search Plug-ins

System

System plug-ins are deeply integrated in the Joomla! framework, and they usually affect the behavior of the entire website (Figure 9).

Plugins System

Figure 9: System Plug-ins

Language Filter

This plug-in filters the displayed content depending on the language desired. It has to be enabled only when the Language Switcher module is published.

P3P Policy

The Platform for Privacy Preferences Project (P3P) is a protocol allowing websites to declare their intended use of information they collect about browsing users. The system P3P policy plug-in allows Joomla! to send a customized string of P3P policy tags in the HTTP header. This is needed for the sessions to work properly with certain browsers, i.e. Internet Explorer 6 and 7.

Logout

The system logout plug-in enables Joomla! to redirect the user to the home page if he chooses to logout while being on a protected access page.

Debug

This makes the debug function available, which is very important to programmers. You can configure the parameters to determine which information to display.

Log

This plug-in makes the system log files available.
You can determine the location of the log file in Global Configuration - System - System Settings.
This is an example of such a log file (/logs/error.php):

#Version: 1.0
#Date: 2011-07-06 12:39:38
#Fields: date    time    level    c-ip    status    comment
#Software: Joomla! 1.7.0 RC1 [ Ember ] 28-Jun-2011 23:00 GMT
2011-07-06 12:39:38 - 92.143.161.32 Joomla FAILURE: Empty password not allowed

Redirect

Provides the redirect feature in conjunction with the redirects component.

Highlight

This plug-in highlights specific terms and is used e.g. in the Smart Search component.

Remember Me

This is a method for saving access data locally in a cookie in the client browser. Once a user visits your website again, the data is already in the form. This storage is only enabled by explicitly marking a checkbox below the login form.

SEF

SEF is the acronym for Search Engine Friendly. This plug-in creates search engine friendly URLs for content elements, which can be configured in Global Configuration - SEO Settings

Cache

This plug-in provides page caching. You can configure whether you would like to use the client's browser for caching pages.

Language Code

The Language Code plug-in provides the ability to change the language code in the generated HTML document to improve SEO.

User

User plug-ins are related to user specific functions (Figure 10).

User plug-ins

Figure 10: User Plug-ins

Profile

The user profile plug-in gives you the opportunity to ask the user for additonal profile fields, which can be configured in Basic Settings. It can also be combined with the contact creator plug-in to automatically create a contact item for every user (also see Users and Permissions).

Contact Creator

A plug-in to automatically create contact information for new users. It works in conjunction with the profile plug-in (also see Users and Permissions).

Joomla!

This plug-in creates a user in the database after the first successful authentication.http://cocoate.com/node/10312

A plug-in adds specific capabilities to a component. The term plug-in is also used in other places. For example, plug-ins are commonly used in web browsers to play videos. A well-known plug-in example is Adobe's Flash Player. A good example for the use of plug-ins in Joomla! is the search component. Five search plug-ins work together to find content from different Joomla! components.Joomla! has eight plug-in types: authentication, captcha, content, editors-xtd, editors, extension, finder, quickicon, search, system and user. These are also the names of the website sub directories where the plug-in files are located. For example, plug-ins with a type of authentication are located in the website directory plugins/authentication. It is not possible and not necessary to create a plug-in in the adminstrator area like we have seen in the modules chapter. A plug-in has to be installed via the extension manager.AuthenticationAuthentication verifies whether the one trying to be authorized provides correct credentials. You authenticate with your username and password, and you are authorized because you are a member of some permission group (see chapter Users and Permissions) Authorization is the process of specifying access rights. Joomla! offers three possibilities&nbsp;for authentication&nbsp;(Figure 1). Be careful with deactivating plug-ins. You must have at least one authentication plug-in enabled or you will lose all access to your site.[flickr-photo:id=5454358273,size=-]Figure 1: Authentication Plug-insJoomla!The plug-in provides the standard behavior for Joomla!. You fill in the login form with your username and password and your login information is then verified.GMailIf you activate the GMail plug-in, users&nbsp;will be&nbsp;able to log onto your site&nbsp;by using their GMail address and password. Prior registration is not necessary. With the first login, the System plug-in Joomla! will create a user account in its database. The GMail password is stored encrypted in the database, so your users GMail accounts cannot be hacked. This plug-in&nbsp;facilitates the login process for your users. Unfortunately, there is no advisory&nbsp;in the login form that loging in&nbsp;with&nbsp;GMail is possible. You'll have to add additional text or find another creative solution.LDAPThe Lightweight Directory Access Protocol (LDAP) is an application protocol for reading and editing data from directory service. It is used in companies&nbsp;for managing department affiliation as well as employee phone numbers. dn: cn=John Doe,dc=example,dc=com cn: John Doe givenName: John sn: Doe telephoneNumber: +1 888 555 6789 telephoneNumber: +1 888 555 1232 mail: john@example.com manager: cn=Barbara Doe,dc=example,dc=com objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: topIn order to&nbsp;use this plug-in for authentication,&nbsp;you will need&nbsp;an LDAP Server (OpenLDAP) and you have to configure the LDAP plug-in with the server specific data. You will find a good tutorial at joomla.org: LDAP from Scratch.CaptchaCaptcha is a new feature since Joomla 2.5. A Captcha is a program that can tell whether its user is a human or a computer. You've probably seen them — colorful images with distorted text at the bottom of Web registration forms. Captchas are used by many websites to prevent abuse from "bots," or automated programs usually written to generate spam. No computer program can read distorted text as well as humans can, so bots cannot navigate sites protected by captchas. The plug-in uses Google reCAPTCHA service to prevent spammers. To get a public and private key for your domain, visit http://google.com/recaptcha. To add a captcha for new account registration, go to Options in the User Manager and select Captcha – reCaptcha.[flickr-photo:id=6771918089,size=-]Figure 2: Captcha Plug-inContentBesides the Joomla! content plug-in, all other content plug-ins are related to the text you insert into an article. The Custom HTML module (see chapters Modules) can use the content plug-ins as well (Figure 3).[flickr-photo:id=6771917737,size=-]Figure 3: Content Plug-insSmart SearchThe plug-in enable the indexing of content. It is a feature since Joomla 2.5 and the base for the Joomla Smart Search.JoomlaThe Joomla plug-in has two tasks: When you attempt to delete a category, it verifies whether the category is 'empty'. Empty means, no article&nbsp;or sub category is assigned to it. You can turn this feature off in Basic Settings. If a new article is submitted via the frontend, the plug-in will send an email to all those users for whom Send Email is turned on (User Manager - Edit User). This feature can be turned off in Basic Settings.Load ModulesThis plug-in loads the HTML output of all modules assigned to a template module position into an article.&nbsp;All you have to do is&nbsp;write {loadposition position-14} in the space&nbsp;where the modules should displayed. This feature is especially useful for putting banner ads into the content.&nbsp;Email CloakingThis plug-in transforms an email address&nbsp;entered into the content in the form of name@example.com into a link, and cloaks the email address by means of JavaScript. The advantage of this is&nbsp;that email address collection programs can't read your email address very easily.Code HighlighterThe GeSHi plug-in&nbsp;makes Syntax Highlighting possible&nbsp;and creates an impressive listing on your website if you embed the code to be formatted within &lt;pre&gt; &lt;/pre&gt; HTML tags:&lt;pre&gt;if ($number &gt; 0){ echo $number;} else{ $number++;}&lt;/pre&gt;PagebreakThe Pagebreak plug-in takes care of pagebreaks in articles. Just like the Image plug-in, it is easy to integrate into the content. Besides a simple pagebreak, various headers and page titles can also be defined. You can set pagebreaks using the pagebreak dialog. The page break will be displayed in the text window as a simple horizontal line. In the HTML code, the pagebreak looks like this:&lt;hr title="Page Title" alt="Table of Contents Alias" class="system-pagebreak" /&gt;The plug-in has to be activated together with the Editor-xtd - Pagebreak plug-in.Page NavigationThis plug-in integrates the Next and Previous functions under the articles.VoteThis plug-in adds voting functionality to articles.EditorsJoomla! core comes with two editors (Figure 4). In Global Configuration - Site you can&nbsp;set the default editor for your website. Additionally, you can assign a different editor to every user account (User - Manager).[flickr-photo:id=5454358463,size=-]Figure 4: Editor Plug-insCodeMirrorCodeMirror is a JavaScript library that can be used to create a relatively pleasant editor interface for code-like content ― computer programs, HTML markup, and the like. This plug-in has to be activated if you want to offer textarea fields with the CodeMirror editor. You can configure the behavior of the editor in Basic Settings.NoneThis plug-in has to be activated if you want to offer textarea fields without an editor.TinyMCETinyMCE is a platform-independent web-based Javascript HTML WYSIWYG editor control. It is the default editor in Joomla!.Editors-xtdThe four editors-xtd plug-ins generate the buttons below the editor window (Figure 5).[flickr-photo:id=5454358413,size=-]Figure 5: Editor-xtd Plug-insArticleDisplays a button&nbsp;for linking&nbsp;the actual article to other existing articles. After clicking the button, a pop-up will be displayed allowing you to choose the article to link to.ImageThis plug-in displays a button&nbsp;for inserting images into an article. After clicking the button, a pop-up will open allowing you to choose an image from the media directory or upload new files and configure its properties.PagebreakProvides a button to enable a pagebreak to be inserted into an article. A pop-up allows you to configure the settings to be used. The plug-in has to be activated together with the Content - Pagebreak plug-in.Read moreEnables a button which allows you to easily insert the Read more link into an article.ExtensionThe extension plug-in type is related to tasks concerning the managing of Joomla! extensions.JoomlaThis plug-in manages the update sites for extensions.FinderThe Smart Search component was formerly Finder. That is the reason for the name of this plug-in type. The Smart Search plug-ins for Contents, Weblinks, Contacts, Categories, and Newsfeeds can be activated when needed. They implement the search function of the Smart Search component. These plug-ins have to be activated if you&nbsp;are trying to obtain&nbsp;search results from the respective sections. If you want to search additional components, the respective plug-ins for those have to be available as well (Figure 6).[flickr-photo:id=6771918205,size=-]Figure 6: Smart Search Plug-insQuickiconsThe plug-ins of this type are checking for updates for Joomla and for your installed third-party extensions and notifies you when you visit Site -&gt; Control Panel.[flickr-photo:id=6771918381,size=-]Figure 7: Control PanelSearchThese are the plug-ins for the "classic" Joomla search component. The Search plug-ins for Contents, Weblinks, Contacts, Categories, and Newsfeeds can be activated when needed. They implement the search function of the Search component. These plug-ins have to be activated if you&nbsp;are trying to obtain&nbsp;search results from the respective sections. If you want to search additional components, the respective plug-ins for those have to be available as well (Figure 8).[flickr-photo:id=5454358515,size=-]Figure 8: Search Plug-insSystemSystem plug-ins are deeply integrated in the Joomla! framework, and they usually affect the behavior of the&nbsp;entire website (Figure 9).[flickr-photo:id=6771917907,size=-]Figure 9: System Plug-insLanguage FilterThis plug-in filters the displayed content depending on the&nbsp;language desired. It has to be enabled only when the Language Switcher module is published.P3P PolicyThe Platform for Privacy Preferences Project (P3P) is a protocol allowing websites to declare their intended use of information they collect about browsing users. The system P3P policy plug-in allows Joomla! to send a customized string of P3P policy tags in the HTTP header. This is needed for the sessions to work properly&nbsp;with certain browsers, i.e. Internet Explorer 6 and 7.LogoutThe system logout plug-in enables Joomla! to redirect the user to the home page if he chooses to logout while being on&nbsp;a protected access page.DebugThis makes the debug function available, which is very important to programmers. You can configure the parameters to determine which information to display.LogThis plug-in makes the system log files available. You can determine the location of the log file in Global Configuration - System - System Settings. This is an example of such a log file (/logs/error.php):#Version: 1.0#Date: 2011-07-06 12:39:38#Fields: date&nbsp;&nbsp;&nbsp; time&nbsp;&nbsp;&nbsp; level&nbsp;&nbsp;&nbsp; c-ip&nbsp;&nbsp;&nbsp; status&nbsp;&nbsp;&nbsp; comment#Software: Joomla! 1.7.0 RC1 [ Ember ] 28-Jun-2011 23:00 GMT2011-07-06 12:39:38 - 92.143.161.32 Joomla FAILURE: Empty password not allowedRedirectProvides the redirect feature in conjunction with the redirects component.HighlightThis plug-in highlights specific terms and is used e.g. in the Smart Search component.Remember MeThis is a method for saving access data locally in a cookie in the client browser. Once a user visits your website again, the data&nbsp;is already in the form. This storage is only enabled by explicitly marking a checkbox below the login form.SEFSEF is the acronym for Search Engine Friendly. This plug-in creates search engine friendly URLs for content elements, which can be configured in Global Configuration - SEO Settings.&nbsp;CacheThis plug-in provides page caching. You can configure whether you would like&nbsp;to use the client's browser for caching pages.Language CodeThe Language Code plug-in provides the ability to change the language code in the generated HTML document to improve SEO.UserUser plug-ins are related to user specific functions (Figure 10).[flickr-photo:id=5454970470,size=-]Figure 10: User Plug-insProfileThe user profile plug-in gives you the opportunity to ask the user for additonal profile fields, which can be configured in Basic Settings. It&nbsp;can also be&nbsp;combined with the contact creator plug-in to automatically create a contact item for every user&nbsp;(also see&nbsp;Users and Permissions). Contact CreatorA plug-in to automatically create contact information for new users. It&nbsp;works in conjunction with the profile plug-in (also see&nbsp;Users and Permissions).Joomla!This plug-in creates a user in the database after the first successful authentication.http://cocoate.com/node/10312

0 comments

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br><pre>
  • Lines and paragraphs break automatically.

More information about formatting options