--=REKLAMA=--

J3.2

Tworzenie prostego modułu/Automatyczne aktualizacje

Z Joomla!WikiPL

Wersja Zwiastun (dyskusja | edycje) z dnia 01:22, 23 gru 2013

(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)

Ta część poradnika pomoże ci stworzyć serwer aktualizacji dla twojego modułu, tak by mógł on korzystać z przycisku aktualizacji Joomla.

Wstęp

Pierwszą rzeczą jaką musisz zrobić, jest przeczytanie poradnika Zarządzanie aktualizacjami komponentów w Joomla 2.5 - Część 1 by zrozumieć jak działa proces aktualizacji w Joomla. Chociaż opis dotyczy Joomla w wersji 2.5, zasada działania nie uległa zmianie w wersji 3.x. Kolejną rzeczą którą powinieneś przeczytać jest poradnik Instalowanie serwera aktualizacji - czyli wiadomości o tym co będzie w tym poradniku wdrażane.

Pamiętasz jak wspominaliśmy o pliku aktualizacji SQL w J3.2:Tworzenie_prostego_modułu/Praca_z_bazą_danych? To właśnie on zostanie użyty do zaktualizowania bazy danych. Jednocześnie nowa wersja ZIP naszego modułu będzie używana do aktualizacji wszystkich plików php modułu. Dla ułatwienia dokonamy aktualizacji modułu oraz bazy danych bez sprawdzania wersji Joomla oraz modułu, który aktualizujemy (w wersji produkcyjnej, zaleca się sprawdzanie obu tych wartości).

Aktualizacja modułu

Jedyną metodą na zaktualizowanie istniejącego modułu jest dodanie do pliku XML na serwerze aktualizacji poniższego kodu.

<updateservers>
	<server type="extension" name="Helloworld" priority="1">http://www.example.com/helloworld_update.xml</server>
</updateservers>

Teraz Joomla będzie poszukiwała pod adresem http://www.example.com/helloworld_update.xml aktualizacji z częstotliwością zdefiniowana w menadżerze dodatków.

Tworzenie aktualizacji

Skoro Joomla sprawdza już czy są nowe aktualizacje, stwórzmy jedną dla przetestowania całego procesu.

Wykonajmy kopię istniejącego modułu. Teraz zaktualizujmy wersję modułu do 1.0.1 i dodajmy coś do naszego pliku aktualizacji SQL, dla przykładu dodatkowy język - niemiecki.

<version>1.0.1</version>


INSERT INTO `#__helloworld` (`hello`, `lang`) VALUES ('Hallo Welt', 'de-DE');

Pamiętaj, że możemy zaktualizować dowolny plik PHP naszego modułu, ponieważ wszystkie pliki modułu zostaną nadpisane podczas aktualizacji. (Uwaga: Jest to jeden z powodów dla którego nie zaleca się bezpośrednich zmian w plikach dodatków przez użytkowników. Są one po prostu nadpisywane podczas aktualizacji).

Teraz musimy stworzyć plik XML w http://www.example.com/helloworld_update.xml, aby udostępnić aktualizację Joomla,

<updates>
	<update>
		<name>Witaj Świecie!</name>
		<description>Moduł mod_helloworld w wersji 1.0.1</description>
		<element>mod_helloworld</element>
		<type>module</type>
		<version>1.0.1</version>
		<downloads>
			<downloadurl type="full" format="zip">http://www.example.com/mod_helloworld_101.zip</downloadurl>
		</downloads>
		<maintainer>Joomla</maintainer>
		<maintainerurl>http://www.example.com</maintainerurl>
		<targetplatform name="joomla" version="3.1"/>
		<client>0</client>
		<client_id>0</client_id>
	</update>
</updates>

gdzie http://www.example.com/mod_helloworld_101.zip jest plikiem ZIP z naszą nową aktualizacją modułu. Jeśli zalogujesz się teraz do panelu administracyjnego Joomla, powinieneś zobaczyć że są dostępne nowe aktualizacje (jeśli tak nie jest, możliwe że musisz wyczyścić pamięć podręczną w sekcji aktualizacji menedżera rozszerzeń). Teraz wystarczy jedno kliknięcie by twój moduł został zaktualizowany do najnowszej wersji.

Moduły komercyjne

Należy zauważyć, link do serwera aktualizacji umieszczamy w naszym pliku XML. Oznacza to, że ktoś może śledzić zmiany w wersji dodatków bezpośrednio pod tym linkiem, nawet jeśli jego subskrypcja już wygasła. Jest to jeden z powodów, dla którego w komercyjnych wersjach dodatków nie są dostępne automatyczne aktualizacje (informacje o aktualizacjach są wysyłane alternatywnymi sposobami).

Podsumowanie

Aktualizacje modułów w Joomla są proste zarówno dla użytkowników, jak i twórców rozszerzeń, dlatego należy się ich spodziewać jako standardu we wszystkich dodatkach do Joomla! 3.x.

© Ten materiał jest dokładnym albo swobodnym tłumaczeniem artykułu http://docs.joomla.org/J3.2:Creating_a_simple_module udostępnionego na licencji JEDL na witrynie: Oficjalnej dokumentacji Joomla!.Pierwszy autor oryginału: Wilsonge.
© Tłumaczenie: Robertm. Tłumaczenie wykonano na warunkach licencji JEDL.