Dziękuję za wszelkie dotacje.
| Lekcja 8 - Tworzymy paczkę instalacyjną! |
| Wpisany przez Wojciech Romanek | |||
| czwartek, 25 września 2008 13:31 | |||
|
Niektórzy z czytających moje artykuły odetchną na pewno z ulgą i pomyślą „Nareszcie!” i będą mieć rację :) Nareszcie... Zanim stworzy się instalator trzeba mieć coś do instalacji, dlatego wcześniej postanowiłem opisać podstawy tworzenie komponentów dla Joomla. Dziś w końcu zajmiemy się tworzeniem paczki instalacyjnej! Tworzymy sobie gdzieś na dysku katalog w którym będziemy umieszczać wszystkie pliki instalacyjne. Teraz w tymże katalogu tworzymy dwa kolejne: jeden „site” a drugi „admin” nazwy tych katalogów mogą być dowolne ale ja już się przyzwyczaiłem a poza tym oddają one bardzo dobrze zawartość katalogów. Jak już pewnie się domyślasz do katalogu „site” umieścimy pliki które mają się znaleźć po stronie frontowej komponentu, natomiast w katalogu admin pliki odpowiedzialne za zaplecze komponentu. Przystąpmy więc do tworzenia paczki komponentu com_witaj, który tworzyliśmy w poprzednich częściach kursu... Strona frontowa i zaplecza tego komponentu nie ma nic ze sobą wspólnego bo była to jedynie swego rodzaju demonstracja ale tym się nie przejmuj... Kopiujemy zawartość katalogu: adrestrony/components/com_witaj do katalogu /site/ natomiast do katalogu /admin/ kopiujemy zawartość katalogu adresstrony/administrator/components/com_witaj. Dobrze pliki komponentu już mamy... Teraz musimy utworzyć plik instalacyjny tzw. „Manifest file” plik będzie nosił nazwę nazwa_komponentu.xml – w naszym przypadku będzie to witaj.xml. Szablon takiego pliku wygląda następująco: <install type="component" version="1.5.0"> <name>Nazwa komponentu</name> <creationDate>data utworzenia</creationDate> <author>Autor</author> <authorEmail> Adres poczty elektronicznej jest chroniony przed robotami spamującymi. W przeglądarce musi być włączona obsługa JavaScript, żeby go zobaczyć. </authorEmail> <authorUrl>adres.strony.autora.pl</authorUrl> <copyright>Prawa autorskie</copyright> <license>Nazwa licencji na jakiej jest komponent rozprowadzany</license> <version>Wersja komponentu</version> <description>Opis komponentu</description> <install> <queries> <query> CREATE TABLE IF NOT EXISTS `#__nazwa_tabeli` ( `id` INT NOT NULL AUTO_INCREMENT , `jakiespole` VARCHAR( 100 ) NOT NULL, PRIMARY KEY ( `id` ) ); </query> <query> CREATE TABLE IF NOT EXISTS `#__nazwa_tabeli2` ( `id` INT NOT NULL AUTO_INCREMENT , `jakiespole` VARCHAR( 100 ) NOT NULL, PRIMARY KEY ( `id` ) ); </query> </queries> </install> <uninstall> <queries> <query> DROP TABLE IF EXISTS `#__nazwa_tabeli`; </query> <query> DROP TABLE IF EXISTS `#__nazwa_tabeli2`; </query> </queries> </uninstall> <files folder="site"> <filename>index.html</filename> <filename>witaj.php</filename> <filename>controller.php</filename> </files> <administration> <menu>Nazwa pozycji menu</menu> <files folder="admin"> <filename>admin.witaj.php</filename> <filename>controller.php</filename> <filename>index.html</filename> </files> </administration> </install> Pól dotyczących autora, nazwy komponentu itd. nie będę opisywał bo są to pola bardzo intuicyjne i w mojej opinii nie wymagają opisu. Obszar między znacznikami install odpowiedzialny jest za instalację komponentu natomiast uninstall za za deinstalację to też sprawy dość trywialne wynikające z opisu. Między znacznikami query wpisujemy zapytania SQL odpowiednio wykonywane przy instalacji (dla install) oraz wykonywane przy usuwaniu komponentu (dla uninstall). Między znacznikami files listujemy zawartość katalogów odpowiednio site oraz admin. Wszystkie pliki muszą być odpowiednio opisane. Pola takie jak description czy version nie są wymagane można je pozostawić puste. Każdy manifest file odpowiedzialny za instalację komponentu musi zawierać znaczniki administrator. Prawdopodobnie już o tym wspominałem ale powtórzę jeszcze raz w każdym katalogu i podkatalogu komponentu powinien znajdować się pusty plik index.html ze względów bezpieczeństwa. Każdy plik ten musi również zostać wpisany do listy plików w pliku instalacyjnym. Plik tak przygotowany powinien być kodowany w UTF-8, jeśli wszystko gotowe to zapisujemy go. Pliki w katalogu z paczką (nie katalog!) kompresujemy do zip'a lub tar.gz nazwę paczki zmieniamy na com_nazwakomponentu.zip i paczka jest gotowa do instalacji. Paczka się nie zainstaluje poprawnie jeśli:
Jak sobie coś jeszcze przypomnę to dopiszę!
|