web-dev-qa-db-fra.com

Comment configurer un environnement de développement d'extension approprié?

Mon objectif est de configurer un environnement de développement approprié en utilisant Ubuntu 16.04 pour créer des extensions Joomla.

Jusqu'à présent, je viens de compresser mon extension et de la réinstaller. Cela devrait rendre fou tout le monde.

Comme je veux aussi parfois déboguer avec Xdebug et que je veux voir directement l’effet de mes modifications de code, j’ai pensé que ce serait bien de développer l’extension directement dans le répertoire d’installation de Joomla, puis de la copier à nouveau dans une extension.

J'ai lu https://docs.joomla.org/Extension_development_using_Eclipse_and_phing .

Ils y utilisent Phing comme outil de construction et proposent quelques exemples de scripts de construction pour les deux directions de développement (de l'extension au répertoire d'installation de Joomla et vice versa).

Ensuite, j'ai trouvé ce référentiel Git: https://github.com/enav/phing-joomla-extension-builder . Ce qui fonctionne et semble être utilisable en tandem avec Git.

Néanmoins, j'aimerais savoir si quelqu'un a déjà mis en place un environnement de développement plus efficace et plus éprouvé?

Ou peut-être que quelqu'un a des indications pour créer un environnement de développement sain? Je suis ouvert aux suggestions.

Pour ceux qui recherchent la partie concernant le problème des autorisations de fichiers: comme suggéré dans les commentaires, j'ai divisé cette question et l'ai placée ici:

https://stackoverflow.com/q/46852847/6944

4
Wieger

Une fois qu'un utilisateur m'a recommandé de créer un environnement de développement en utilisant Ant

Comment mettre à jour un composant Joomla

En outre, vous pouvez construire une structure à l’aide de sous-modules git. Où le projet sera divisé dans les dossiers joomla, et quelque part vous garderez un projet maître git pour chaque composant avec tous les sous-modules. Cela deviendra le fichier Zip

1
Guilherme

Ma question a été répondue dans la section des commentaires par l'utilisateur TryHarder. Je vais le formuler comme suit:

L'approche que j'utilise est la suivante:

  • Prenez une copie de votre composant et installez-le;
  • Supprimez les dossiers de composants installés dans votre installation Joomla (administrator/components/com_component, components/com_component, media/com_component);
  • Créez ensuite des liens symboliques de ces dossiers vers des dossiers au sein d’une copie de votre composant;
  • La copie référencée de votre composant peut être correctement versionnée à l'aide de Git.

S'il y a des modifications dans la base de données (par exemple, les modifications du script d'installation SQL), vous pouvez exécuter certaines commandes (par exemple, ALTER TABLE Ou CREATE TABLE) Pour ajouter les champs ou les tables, si vous ne souhaitez pas réinstaller le fichier. composant.

Une autre option consiste simplement à exécuter le script de désinstallation SQL pour votre base de données, puis à l'exécuter à nouveau, peut-être même via un hook Git ou semi-automatique via un script qui appelle MySQL (ou une autre base de données) pour exécuter le code SQL.

Bien sûr, on peut toujours supprimer le composant de l'installation de Joomla et l'installer à nouveau. Si tel est le cas, le processus décrit ci-dessus doit être répété.

La création de liens symboliques pourrait être automatisée à l'aide d'un script.

Si vous souhaitez que votre composant réside dans le répertoire d'installation de Joomla, cela est également possible, par exemple. Si vous résidez dans _source/components/com_mycomponent, il vous suffit ensuite d’ajouter le dossier _source à votre fichier .gitignore.

Source: http://vdespa.com/joomla-3-getting-started-with-extension-development/ (via l'utilisateur TryHarder).

1
Wieger