Plugins

Tak for dit bidrag: 

Jack plugs 1/4" Et plugin tilføjer specielle egenskaber til en komponent. Ordet plugin bruges også andre steder. F.eks. bruges plugins i webbrowsere til at afspille videoer. Et velkendt plugin eksempel er Adobe Flash Player. Et godt eksempel på brugen af plugins i Joomla! er søgekomponenten. Fem søge-plugins arbejder sammen om at finde indhold fra forskellige Joomla! komponenter.

Joomla! har otte plugin typer: authentication, content, editors-xtd, editors, extension, search, system og user. Disse er også navnene på hjemmesidens under-registre, hvor plugin-filerne har hjemme. F.eks. er plugins med en form for autentificering placeret i hjemmesideregistret plugins/authentication. Det er ikke muligt og heller ikke nødvendigt at lave en plugin i administrator-området, som vi har set i kapitlet om moduler. Et plugin skal installeres via extension manageren.

Autentificering

Autentificering i Joomla! er den proces, hvori man bekræfter om en bruger skal have lov til at udføre bestemte handlinger på hjemmesiden. Autorisation er altid en proces, der efterfølger autentificering. Autorisationen bekræfter, at en registreret bruger har ret til at udføre disse handlinger. Du godkender selv med dit brugernavn og password, og du bliver godkendt af et medlem af en permission gruppe (se kapitlet om Brugere og tilladelser). Joomla! tilbyder tre muligheder for autentificering (Figur 1).

Vær forsigtig med at deaktivere plugins. Du skal have mindst et aktiveret autentificerings-plugin, ellers vil du miste adgangen til din hjemmeside.

Joomla! 1.6 cocoate.com/node/6376/
Joomla! 2.5 cocoate.com/node/10324Authentication plug-ins

Figur 1: Autentificerings-plugins

Joomla!

Plugin'et leverer Joomla!s standard adfærd. Du udfylder login formularen med dit brugernavn og password, og din login information vil derefter blive godkendt.

GMail

Hvis du aktiverer GMail plugin'et, vil dine brugere kunne logge på din hjemmeside med deres GMail adresse og password. Det er ikke nødvendigt for dem at registrere sig først. Med det første login vil System plug-in Joomla! lave en brugerkonto i databasen. GMail passwordet lagres krypteret i databasen, så dine GMail konti ikke kan hackes. Plugin'et fremmer login processen for dine brugere. Uheldigvis gør login formularen ikke opmærksom på, at man kan logge in med GMail. Du vil blive nødt til at tilføje ekstra tekst eller finde en anden kreativ løsning.

LDAP

Lightweight Directory Access Protocol (LDAP) er en applikationsprotokol til at læse og redigere data fra directory service. Den bruges af firmaer til at administrere afdelings-tilhørsforhold og medarbejderes telefonnumre.

 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

For at bruge denne plugin til autentificering skal du have en LDAP Server (OpenLDAP), og du skal konfigurere LDAP plugin'et med serverens specifikke data. Du kan finde en god tutorial på joomla.org: LDAP from Scratch.

Indhold

Udover Joomla! indholdsplugin'et er alle andre indholdsplugins også relaterede til den tekst, du sætter ind i en artikel. Det skræddersyede HTML modul (se kapitlet Moduler) kan også bruge indholdsplugins (Figur 2).

cocoate.com/node/6376/Content plug-ins

Figur 2: Indholdsplugins 

Joomla

Joomla plugin'et har to opgaver: 

  1. Når du forsøger at slette en kategori, fortæller det, når kategorien er 'tom'. Det betyder, at ingen artikler eller underkategorier er tilknyttet den. Du kan deaktivere denne feature i Basic Settings.
  2. Hvis en artikel bliver oprettet i frontend, vil plugin'et sende en e-mail til alle brugere, for hvem Send Email er aktiveret (User Manager - Edit User). Du kan deaktivere denne feature i Basic Settings.  

Loading Moduler

Dette plugin loader HTML'ens output af alle moduler tilknyttet en template modulposition til en artikel. Det eneste du skal er at skrive {loadposition position-14} der, hvor modulerne skal vises. Denne feature er særligt nyttig, hvis du skal have bannerreklamer i indholdet.

Email Cloaking

Denne plugin forvandler en e-mail adresse, der er skrevet ind i indholdet i formen navn@eksempel.dk til et link, og skjuler e-mail adressen med JavaScript. Fordelen ved dette er, at e-mail samlingsprogrammerne så ikke kan læse din e-mail adresse så let.  

Kode highlighter

GeSHi plugin'et gør Syntax Highlighting mulig og laver en imponerende liste på din hjemmeside, hvis du sørger for, at koden bliver formatteret med <pre> </pre> HTML tags:

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

Pagebreak

Pagebreak plugin'et tager sig af pagebreaks i artikler. Ligesom image plugin'et er det nemt at integrere i indholdet. Udover et simpelt pagebreak kan forskellige sidetitler og headers også defineres. Du kan sætte pagebreaks ved at bruge pagebreak dialog. Pagebreak'et vil blive vist i tekstvinduet som en simpel horisontal linje. I HTML kode ser pagebreaks sådan ud:

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

Plugin'et skal aktiveres sammen med Editor-xtd - Pagebreak plug-in'et.

Page Navigation

Dette plugin integrerer Next og Previous funktionerne under artiklerne. 

Vote

Dette plugin tilføje en stemme-funktionalitet til artiklerne. 

Editors-xtd

De fire editors-xtd plugins genererer knapperne under editor vinduet (Figur 3).

Joomla! 1.6 cocoate.com/node/6376/
Joomla! 2.5 cocoate.com/node/10324Editors-xtd plug-ins

Figur 3: Editor-xtd Plugins

Artikel

Viser en knap, der sammanekæder den aktuelle artikel med andre eksisterende artikler. Efter at du har klikket på knappen, vil et pop-up vindue lade dig vælge den artikel, du gerne vil sammenkæde den aktuelle artikel med.

Billede

Dette plugin viser en knap til at indsætte billeder i en artikel.
Når du har klikket på knappen, vil et pop-up vindue åbne og gøre det muligt for dig at vælge et billede fra media registret eller uploade nye filer og konfigurere deres egenskaber.

Pagebreak

Giver en knap, der gør det muligt at få et pagebreak indsat i en artikel. Et pop-up vindue gør det muligt for dig at konfigurere de settings, der skal bruges. Plugin'et skal aktiveres sammen med Content - Pagebreak plugin'et.  

Læs mere

Aktiverer en knap, som gør det muligt at få sat Læs mere linket ind i en artikel.

Editors

Joomla! kernen har to editorer (Figur 4). I Global Configuration - Site kan du definere standard editoren for din hjemmeside. Du kan også tildele en forskellig editor til hver brugerkonto (User - Manager).

Joomla! 1.6 cocoate.com/node/6376/
Joomla! 2.5 cocoate.com/node/10324Editors plug-ins

Figur 4: Editor Plugins

CodeMirror

CodeMirror er et JavaScript bibliotek, som kan bruges til at skabe et behageligt editor interface til kode-lignende indhold - computerprogrammer, HTML, markup o. lign. Dette plugin skal aktiveres, hvis du vil tilbyde tekstfelter med CodeMirror editoren. Du kan konfigurere editorens adfærd i Basic Settings.

None

Dette plugin skal aktiveres, hvis du vil tilbyde tekstfelter uden en editor.

TinyMCE

TinyMCE er en platform-uafhængig, webbaseret JavaScript HTML WYSIWYG editor kontrol. Det er standard editoren i Joomla!.

Extension

Extension plugin'et er relateret til opgaver, som har at gøre med administreringen af Joomla! udvidelser.

Joomla

Dette plugin administrerer opdateringssiderne for udvidelser.

Søgning

Søgeplugins til Contents, Weblinks, Contacts, Categories og Newsfeeds kan aktiveres ved behov. De implementerer søgefunktionen i søgekomponenten. Disse plugins skal aktiveres, hvis du forsøger at opnå søgeresultater fra de respektive sektioner. Hvis du ønsker at søge i flere forskellige komponenter, skal de respektive plugins for disse være til rådighed (Figur 5).

Joomla! 1.6 cocoate.com/node/6376/
Joomla! 2.5 cocoate.com/node/10324Search plug-ins

Figur 5: Søgeplugins 

System

Systemplugins er dybt integreret i Joomla! frameworket, og de påvirker som regel hele hjemmesidens adfærd (Figur 6).

cocoate.com/node/6376/System plug-ins

Figur 6: System Plugins

Sprogfilter

Dette plugin filtrerer det viste indhold, afhængigt af det ønskede sprog. Det skal kun aktiveres, når Language Switcher modulet er publiceret. 

P3P Policy

Platform for Privacy Preferences Project (P3P) er en protokol, der tillader hjemmesider at erklære, hvordan de vil bruge den information, de samler om deres brugere. P3P policy plugin'et gør det nemlig muligt for Joomla! at sende en brugerdefineret streng af P3P policy tags til HTTP headeren. Dette er nødvendigt for, at disse sessions virker ordentligt i visse browsere som f.eks. Internet Explorer 6 og 7.

Cache

Dette modul leverer en cache. Du kan konfigurere, om du vil bruge kundens browser til at cache sider.

Debug

Dette modul stiller en fejlretningsfunktion til rådighed, hvilket er meget vigtigt for programmører. Du kan konfigurere parametrene til at bestemme hvilken information, der skal vises.

Log

Dette plugin stiller system log filer til rådighed. 
Du kan bestemme log filens placering i Global Configuration - System - System Settings.
Dette er et eksempel på sådan en log fil (/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

Leverer redirect featuren i forening med redirects komponenten.

Remember Me

Dette er en metode til at gemme adgangsdata i en cookie i en kundes browser. Når en bruger besøger din hjemmeside igen, er dataene således allerede i formularen. Lagringen aktiveres kun ved at klikke i en tjekboks under login formularen.

SEF

SEF er et akronym for Search Engine Friendly. Dette plugin skaber søgemaskinevenlige URL'er til indholdselementer, som kan konfigureres i Global Configuration - SEO Settings

Logout

Logout system plugin'et aktiverer Joomla! til at videresende brugeren til forsiden, hvis han vælger at logge ud, mens han er på en beskyttet side.

User

User plugins hører sammen med specifikker brugerfunktioner (Figur 7).

Joomla! 1.6 cocoate.com/node/6376/
Joomla! 2.5 cocoate.com/node/10324User plug-ins

Figur 7: User Plug-ins

Profile

User profile plugin'et giver dig muligheden for at bede brugeren om at udfylde ekstra profilfelter, som kan konfigureres i Basic Settings. Det kan også kombineres med contact creator plugin'et for automatisk at skabe et kontaktelement til alle brugere (se også Brugere og tilladelser).  

Contact Creator

Dette er et plugin, der automatisk skaber kontaktinformation til nye brugere. Det virker i forening med profile plugin'et (se også Brugere og tilladelser).

Joomla!

Dette plugin skaber en bruger i databasen efter den første vellykkede autentificering.