THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Pour un nouveau j'hésite entre la version 2.4.4 ou la version 2.5.

Il y a pas mal d'activité sur le Github de Thelia ces derniers jours (c'est une bonne chose). Mon hésitation vient du fait que la version 2.5 n'est pas encore sortie même si elle est déjà déployée sur quelques projet si l'on en croit Franck et le rapport d'activité 2021 d'OpenStudio.

Alors 2.4 ou 2.5 ? Quid des plugins de paiement et de livraison notamment ?

Offline


La 2.5 est effectivement en prod sur plusieurs sites.

Les modules sont petit à petit (en fonctions de nos besoins) portés vers la 2.5. Pour un module donné, la version 2.5 est sur la branche "main", et la version 2.4 sur la branche "master.

Porter un module en 2.5 est assez simple. Voilà en gros les opérations à effectuer :

  • Change Database name in shema.xml to "TheliaMain"

  • Delete base modele and map from module/Model directory

  • Change field type to class names (ex : TextType::class) /!\ il peut y avoir des form field add dans les Event Listener ou ailleurs donc bien vérifier

  • Invert label and value for from "choice" fields /!\ si c’est un conf vérifier que ce n’est pas utilisé ailleurs et dans ce cas faire un array_flip()

  • Change Form getName() method to be static

  • Fix constraints with callback structure

  • Le nom du form doit être avec des _ et pas des . Bien changer partout : dans le getName, dans le config.xml et dans le templates correspondant

  • Replace "new FormName();" by a "createForm(FormClassName::getName()) » in controllers

  • Fix argument inverted when dispatching an event ($eventDispatcher->dispatch($checkCaptchaEvent, ReCaptchaEvents::CHECK_CAPTCHA_EVENT) Bien changer $this par dispatcher qui est passé par injection de dépendance

  • [php8] Becareful for inexistant variables in smarty « Warning : undefined array key « var »-> remplacer {$var} par {$var|default:null} dans le template correspondant

  • Set base module function return type to void

  • Changer les Request par des RequestStack et $requestStack->getCurrentRequest();

  • Dans les controller, dans les public function …Action remplacer tous les $this-> par de l’injection de dépendances (il faut faire la manip de l’autowiring) (par exemple les mailer et tous les services)

rien de très complexe mais pas mal de petits trucs...


OpenStudio Toulouse

Online


et donc le grand saut est pour quand ;-)

Offline


Quand on jugera que c'est OK de passer en béta, on n'a pas encore fixé de date.


OpenStudio Toulouse

Online


ok donc pas cette hiver

Last edited by gimly (27-01-2022 11:34:12)

Offline


gimly wrote:

ok donc pas cette hiver

Mais certainement avant l'hiver prochain ;-), le projet a gagné en célérité ces dernières semaines.

Pour le nouveau site je pars finalement sur la version 2.4.

Last edited by Nog (15-02-2022 17:49:28)