Interaction des extensions

Pour discuter de phpBB3 - Pas de support sur cette section !
Pour du support veuillez vous rendre sur les sections de support 3.1 et 3.2

Modérateur: Equipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com

Attention, aucun support n'est donné dans cette section.
Partager sur FacebookPartager sur TwitterPartager sur Google+

Interaction des extensions

Messagepar Informpro » 29 Oct 2014 à 19:38

Oyez à tous (o/).

Vu que phpBB3.1 vient de sortir (d'ailleurs je trouve ça dommage de fermer le topic qui parle de l'annonce), les gens commencent à parler des extensions, et vu que je traîne ma roulotte sur phpBB depuis quelques années déjà, je me pose un certain nombre de questions...
Comment se fait interopérabilité entre extensions? Une grande partie du temps passée à installer des mods était du temps passer à s'arranger pour que 2 mods fonctionnent entre eux.
Quand je regarde la liste des modifs pour que tout fonctionne bien sur des prémodes de l'époque, sur Icy Phoenix (ou même ma prémode), je vois bien que c'est un problème majeur.

La question est donc super simple : est-ce vous pensez que l'injection de dépendance sera assez "flex'" pour permettre de résoudre ce problème, ou est-ce qu'on devra inventer des solutions pour pallier à ça?

Est-ce que les extensions elles-même devront déclarer des hooks; que d'autres extensions pourront utiliser pour s'intégrer? ça me parait être bien peu pratique, mais néanmoins être la seule solution...
Informpro
Apprenti-posteur
Apprenti-posteur
 
Messages: 138
Enregistré le: 06 Aoû 2012 à 20:24

Re: Interaction des extensions

Messagepar FoFa » 29 Oct 2014 à 21:07

Salut

Il me semble avoir lu quelque chose à ce sujet. A priori possibilité d'installer deux extensions "identiques" (ex. QTE et [pre]fixes extension) sans qu'elles se gênent l'une l'autre.

Si je retrouve le message je te donnerai le lien.
Après l'assassinat de mon ordinateur, je reviens progressivement vers vous...
FoFa
Resp. des supporters
Resp. des supporters
 
Messages: 10369
Enregistré le: 15 Nov 2008 à 18:04
Localisation: Auxonne

Re: Interaction des extensions

Messagepar Informpro » 30 Oct 2014 à 07:53

C'est pas tant à ce genre de cas que je pensais : ces deux extensions *devraient* pouvoir cohabiter, oui. Je parle plutôt d'une extension qui, par exemple, ajoute le genre du membre devant son pseudo, avec un mod du genre "base de connaissances" qui serait un espèce de forum, mais avec certaines règles spéciales, donc sans reprendre tout le code du viewforum.
Informpro
Apprenti-posteur
Apprenti-posteur
 
Messages: 138
Enregistré le: 06 Aoû 2012 à 20:24

Re: Interaction des extensions

Messagepar FoFa » 30 Oct 2014 à 07:55

Un exemple ?
Après l'assassinat de mon ordinateur, je reviens progressivement vers vous...
FoFa
Resp. des supporters
Resp. des supporters
 
Messages: 10369
Enregistré le: 15 Nov 2008 à 18:04
Localisation: Auxonne

Re: Interaction des extensions

Messagepar Informpro » 30 Oct 2014 à 09:27

J'ai donné un exemple. Je peux continuer. Un mod qui affiche un gâteau a côté de l'username quand c'est son anniversaire, et un mod qui ajoute une userlist spéciale (un classement, par exemple). Est-ce que le petit gâteau va bien apparaître?
Un mod portail, intéraction avec un mod "user shadow posting" (dans le principe du shadow ban à la reddit et autres; l'user ne voit que ses propres messages).
Une extension qui ajoute une grosse jumpbox, et une extension qui ajoute des icônes aux forums: comment faire pour que tout marche ensemble?

Si j'installe une extension pour pouvoir ajouter un bouton RSS aux forums et une pour rajouter un bouton "éditer le forum", est-ce que les 2 boutons vont bien apparaître? Etc.
Informpro
Apprenti-posteur
Apprenti-posteur
 
Messages: 138
Enregistré le: 06 Aoû 2012 à 20:24

Re: Interaction des extensions

Messagepar FoFa » 30 Oct 2014 à 09:34

Pour le gâteau et le classement je pense que cela se fait dans l'ordre d'installation.

Normalement il y a pas de conflit vu qu'on ne touche pas au code source. Mais bon, à voir quand un conflit se pointera.

Pour QTE et [pre]fixed - Topic Prefixes extension, en toute logique, ils sont censés toucher aux mêmes portions dans le code source (ex. mise de l'attribut, pour ces deux Extensions, avant le titre du sujet). Néanmoins, ils ne devraient pas se télescoper...

En écrivant ici j'ai retrouvé le lien: https://www.phpbb.com/community/viewtop ... &t=2209726

Il se pourrait que certaines Extensions doivent être "gérées" de manière à communiquer entr'elles lorsqu'elles ont le même objectif. C'est ce que veut faire imkingdavid:
This extension is a continuation of the Prefixes feature of the TMM MOD. Because it is simpler to make two extensions interact seamlessly while still allowing them to work independently, I am splitting up the two main features of that MOD and am making it so that when both extensions are installed they will communicate seamlessly to provide the same/better experience as is currently available in the MOD, while still allowing the components to be completely separate
Après l'assassinat de mon ordinateur, je reviens progressivement vers vous...
FoFa
Resp. des supporters
Resp. des supporters
 
Messages: 10369
Enregistré le: 15 Nov 2008 à 18:04
Localisation: Auxonne

Re: Interaction des extensions

Messagepar Informpro » 30 Oct 2014 à 13:17

Pour le gâteau et le classement je pense que cela se fait dans l'ordre d'installation.
Je comprends pas comment c'est possible.

Pour QTE et [pre]fixed - Topic Prefixes extension, en toute logique, ils sont censés toucher aux mêmes portions dans le code source (ex. mise de l'attribut, pour ces deux Extensions, avant le titre du sujet). Néanmoins, ils ne devraient pas se télescoper...
Parce qu'ils interagissent pas. Ils sont peut être au même endroit, mais ça veut juste dire qu'ils vont listen au même hook, non? Ça ne rentre pas dans mes exemples.

Il se pourrait que certaines Extensions doivent être "gérées" de manière à communiquer entr'elles lorsqu'elles ont le même objectif. C'est ce que veut faire imkingdavid:
On est plus dans ce dont je parle : avoir du code pour s'accommoder à une autre extension.
Informpro
Apprenti-posteur
Apprenti-posteur
 
Messages: 138
Enregistré le: 06 Aoû 2012 à 20:24

Re: Interaction des extensions

Messagepar Nicofuma » 01 Nov 2014 à 11:34

Alors...

1. Pour l'instant il n'est pas possible de choisir l'ordre dans lequel les listeners sont appelés (pour les listeners PHP le développeur peut décider d'une priorité mais c'est tout). On vas essayer d'y travailler pour la 3.2 mais ça soulève de nombreuses questions et de nombreux problèmes (aussi bien techniques que au niveau de l'UI).

2. Si les extensions ne font que ajouter des infos il n'y aura aucun conflit.

3. Par contre si deux extensions veulent modifier la même variable alors il y aura peut-être un conflit et dans ce cas ça peut se gérer de plusieurs manières :
a. dire que les 2 extensions sont incompatibles
b. discuter avec l'autre auteur pour voir ce qu'il est possible de faire (peut etre que vous modifier la variable de la même manière ou que vous pouvez le faire)
c. ajouter un code spécifique pour rendre les deux extensions compatibles (typiquement le code vas vérifier si l'autre extension est activée et si oui vas faire un traitement particulier).
le b. et le c. sont typiquement des cas où l'on vas utiliser les priorités sur les listeners php afin de garantir l'ordre

4. Une extension peut ajouter de nouveaux évènements (PHP et template) afin d'offrir la possibilité aux autres extensions d'altérer son fonctionnement. De même on peut imaginer qu'une extension fournisse des listeners pour des évènements nouveaux qu'elle ne déclenche pas. Par exemple :
- L'extension A permet d'afficher la liste des 5 topics les plus populaires
- L'extension B est un portail qui aimerait bien afficher la liste des 5 topics les plus populaires si l'autre extension est disponible
- L'une des manières de faire pourrait être d'enregistrer un listener dans A qui écoute l'évènement A.display_5_popular_topics et de dispatcher cet évènement dans l'extension B.
Membre de la phpBB Development-Team sur phpbb.com - Release manager de la version 3.2
Pas de support par PM
Nicofuma
Apprenti-posteur
Apprenti-posteur
 
Messages: 173
Enregistré le: 19 Avr 2014 à 19:38

Re: Interaction des extensions

Messagepar Informpro » 01 Nov 2014 à 18:31

Merci des réponses! (pour le dernier exemple, je ne suis pas d'accord, car en pratique le portail va *proposer* une liste des blocks à positionner, et du coup ça foire un peu... Mais je note :-).)
Informpro
Apprenti-posteur
Apprenti-posteur
 
Messages: 138
Enregistré le: 06 Aoû 2012 à 20:24


Retourner vers Discussions sur phpBB3

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités