A Composer – Focus Theme Installer repository egy speciális Composer installer plugin, amely a Focus CMS témakezelésének és telepítésének automatizálását szolgálja.
Fontos architekturális különbség, hogy a témák nem a vendor/ könyvtárba kerülnek telepítésre, hanem közvetlenül a projekt Themes/ mappájába.
Független és konfigurálható telepítési modell
A telepítés nem kizárólag az alkalmazás composer.json fájlján keresztül történhet.
A rendszer támogat egy az App composer.json-tól részben független, konfiguráció-alapú telepítési mechanizmust, amelyet a themes.json fájl valósít meg.
Ez lehetővé teszi:
- opcionális repository definíciók megadását,
- helyi fejlesztési path repository használatát,
- szimbolikus link (symlink) alapú fejlesztési workflow-t,
- dinamikus téma-regisztrációt a Composer installer plugin segítségével.
A themes.json deklaratív módon írja le, hogy mely témák kerüljenek telepítésre, és milyen forrásból.
Ez biztosítja, hogy:
- a témák a projekt elsőrendű erőforrásai maradjanak,
- ne klasszikus vendor dependency-ként viselkedjenek,
- verziókövetetten, de a CMS struktúrájába illeszkedve legyenek elérhetők,
- fejlesztési környezetben akár közvetlenül symlinkelve is használhatók legyenek.
Ennek eredményeként a témák reprodukálható módon telepíthetők és frissíthetők, miközben a projekt könyvtárstruktúrája tiszta és moduláris marad.
A Composer – Focus Theme Installer a Module Installer párjaként működik, így a Themes/ és Modules/ könyvtárak Composer-alapú, de domain-központú workflow részeként kezelhetők.
GitHub tároló
https://github.com/hi-personal/focus-cms-cti