
Notifikační systém pro rozšíření v Joomla!
Nová poslední aktuální verze Joomla! 2.5 LTS obsahuje notifikační systém, který oznamuje nové aktualizace pro redakční systém Joomla!, včetně rozšíření třetích stran, které tento notifikační systém umí využívat. V tomto článku si povíme něco o tom, jak využívat právě tento notifikační systém v našich rozšířeních.
Při přihlášení do administrace (správcovské části) stránek objevíme v ovládacím panelu dvě ikony, které Vás budou informovat o nových aktualizacích pro redakční systém Joomla! a rozšíření třetích stran. Abychom snáze pochopili, jak notifikační systém pro aktualizace funguje, předpokládejme, že pracujeme na úrovni systémového pluginu.
Pokud chcete použít integrovaný notifikační a aktualizační systém budete potřebovat následující tři prvky:
- extension manifest (přidat značky)
- manifest update
- číslování verzí
Extension manifest
Do extension manifestu je nutné vložit následující updateserver značku (tag):
<updateservers>
<server
type="extension"
priority="1"
name="User - SPACEshop">
http://www.website21.cz/update/plg_user_spaceshop_update.xml</server>
</updateservers>
Výsledná značka (tag) pro updateserver není nikterak složitá a je složena z následujících atributů a to type, name a priority. Pokud bychom důsledně a podrobně analyzovali server tag, dozvíme se, že je složen z atributů type, name a priority, které jsme si uvedli výše. Pro atribut type lze použít následující hodnoty a to collection a extension, kdy jsme v našem případě využili právě atribut extension, jelikož atribut collection využívá nativně sama Joomla!. Název atributu musí mít použitou stejnou hodnotu jako v názvu značky v souboru extension manifest.
Server značka pro URL je určena pro poskytnutí informací o dané aktualizaci rozšíření jako je například datum, verze apod.
Manifest update
<updates>
<update>
<name>User - SPACEshop</name>
<element>SPACEshop</element>
<client>0</client>
<type>plugin</type>
<folder>user</folder>
<version>1.0.0</version>
<downloads>
<downloadurl type="full" format="zip">
http://www.website21.cz/update/plg_user_spaceshop.zip
</downloadurl>
</downloads>
<targetplatform name="joomla" version="2.5"/>
</update>
<update>
<name>User - SPACEshop</name>
<element>detector</element>
<client>0</client>
<type>plugin</type>
<folder>system</folder>
<version>1.0.1</version>
<downloads>
<downloadurl type="full" format="zip">
http://www.website21.cz/update/plg_user_spaceshop.zip
</downloadurl>
</downloads>
<targetplatform name="joomla" version="2.5"/>
</update>
</updates>
V následujícím výpisu si můžete porovnat úzké souvislosti v jednotlivých značkách z extension manifest v souboru manifest update. Hlavně si zapamatujte, že značky name, element a folder musí být identické. Velmi duležitá je značka downloadurl, která určuje systému, kde nalezne nový balíček pro aktualizaci rozšíření.
Číslování verzí
Metoda, kterou Joomla! využívá pro číslování verzí, je popsána zde "version_compare" a jedná se o tzv., Major a minor verze, a proto je dobré tuto metodu také využívat pro číslování nových verzí. Ve výše uvedeném příkladu byla použita verze 1.0.0. Možná jste si všimli, že v příkladu aktualizace jsou dvě aktualizační značky. První se týká verze 1.0.0, druhá pro verzi 1.0.1, kdy pro každou novou verzi našeho rozšíření přidáme novou aktualizační značku do manifest update souboru.