Potrzebujesz taniej, bezpiecznej i profesjonalnie wykonanej strony?

Zapraszam do kontaktu!

Git na dziś

git reset resetuje zmiany w lokalnym repozytorium. To w jaki sposób to robi zależy od dodatkowych parametrów.

Programowanie rozszerzeń Joomla! 2.5

Tags: Joomla 2.5

Przygotowałem dosyć prostą procedurę wspomagającą programowanie pod Joomla! 2.5. Opisuję krok po kroku utworzenie nowego rozszerzenia i konfigurację narzędzi wspomagających.

Wymagania wstępne:

  1. zainstalowana testowa instancja Joomla! 2.5
  2. zainstalowana aplikacja Maven3
  3. zainstalowana Java w wersji 5 lub wyższej
  4. ściągnięte IDE Eclipse z zainstalowanymi wtyczkami: PDT, egit, m2e

Zaczynamy od konfiguracji Maven. Plik ${USER_HOME}/.m2/settings.xml powinien zawierać przynajmniej elementy:

<settings>
    <pluginGroups>
<!-- ułatwienie używania joomla plugin -->
        <pluginGroup>org.deviapps.maven.plugins</pluginGroup>
    </pluginGroups>
     <profiles>
     <profile>
<!-- profil dla PHP -->
            <id>profile-php</id>
            <pluginRepositories>
                <pluginRepository>
                    <id>release-deviapps-all</id>
                    <name>Deviapps release and proxy</name>
                    <url>https://nexus.deviapps.com/content/groups/public</url>
                </pluginRepository>
            </pluginRepositories>
            <repositories>
                <repository>
                    <id>release-deviapps-plugins-all</id>
                    <name>Deviapps plugins releases and proxy</name>
                    <url>https://nexus.deviapps.com/content/groups/public</url>
                </repository>
            </repositories>
        </profile>
     <profile>
            <id>joomla-testsite</id>
            <properties>
                <joomla.runtime.home>/home/joomlasites/testsiteweb/
                </joomla.runtime.home>
            </properties>
        </profile>
      </profiles>
<activeProfiles>
        <activeProfile>profile-php</activeProfile>
    </activeProfiles>
</settings>

Koniecznie zmień parametr joomla.runtime.home na ścieżkę swojej instalacji testowej Joomla!

Ustawienia te zawierają lokalizację repozytorium artefaktów Maven do aplikacji pod Joomla! Podane repozytorium zawiera również proxy dla artefaktów php-maven.org i innych publicznych, czyli wszystko skonsolidowane w jednym.

Utworzenie nowego rozszerzenia sprowadza się do uruchomienia polecenia z linii komend:

mvn joomla:create -DextensionName=superprojekt -DextensionType=component

extensionName - nazwa rozszerzenia, bez prefiksu (tzn bez com_ mod_ itp.)

extensionType - rodzaj rozszerzenia: component, module, plugin, template itp.

Utworzy się folder com_superprojekt, który jest gotowym komponentem!

Aby utworzyć paczkę instalacyjną komponentu przejdź wewnątrz folderu com_superprojekt i uruchom

mvn assembly:assembly

W folderze target pojawi się gotowe archiwum zip, które można zainstalować przez panel Joomla! Wcześniej możesz zmienić parametry instalacyjne takie jak: opis, nazwa menu po stronie zaplecza itp. przez edycję pliku src/main/resources/superprojekt.xml

Czas na zmiany w kodzie. W tym celu uruchom Eclipse i użyj polecenia Import...->Maven->Existing Maven Project znajdź folder com_superprojekt na dysku i zakończ procedurę importu.

Teraz kliknij PPM na projekcie i wybierz "Preferences..."->Maven W polu profile wpisz joomla-testsite

Dodatkowo trzeba oznaczyć projekt jako PHP przez PPM Configure->Add PHP Support...

Zaloguj się na zaplecze i przejdź do nowo zainstalowanego rozszerzenia. Wykonaj parę zmian w kodzie, który powinien się wyświetlić, zapisz plik i odśwież stronę - zmiany zostały automatycznie uwzglęnione!

Po zmodyfikowaniu komponentu według potrzeb wymagań projektu uruchom ponownie polecenie

mvn assembly:assembly

i już możesz dystrybuować swoje nowe rozszerzenie na świat!

To oczywiście nie koniec funkcjonalności - po kolejnych modyfikacjach możesz uzyskać w dość prosty sposób wiele więcej! Wystarczy zaznajomić się z tym małym, ale potężnym narzędziem jakim jeste Maven. Główne plusy tego rozwiązania:

  • gotowość rozszerzenia do oprogramowania w kilka minut
  • odseparowanie kodu komponentu od plików Joomla!, małe repozytorium SCM z najważniejszymi plikami
  • pomoc kontekstowa
  • automatyczne uzupełnianie kodu
  • automatyczne uaktualnienia plików na środowisku testowym w trakcie wprowadzania zmian
  • możliwość automatycznego budowania wynikowych plików instalacyjnych com_nazwa-wersja.zip
  • możliwość podłączenia budowania nowych wersji rozszerzeń do oprogramowania CI (np Jenkins)
  • możliwość automatycznego wydawania uaktualnień na update-site (dostępne później przez polecenie w Joomla! Aktualizuj)
  • szybkie przygotowanie środowiska developera na nowym sprzęcie

Poniżej instrukcja wideo do artykułu (preferowane uruchomienie w YT HD ze względu na widoczność treści). Jeżeli chcesz zobaczyć efekt: 4:15

You need to a flashplayer enabled browser to view this YouTube video

embed video powered by Union Development