pavelevap / ceske-sluzby

České služby pro WordPress
56 stars 25 forks source link

Kompatibilita s WooCommerce 3.0 #137

Open pavelevap opened 7 years ago

pavelevap commented 7 years ago

Nová verze by měla dorazit v únoru 2017, nějaké problémy tam určitě budou: https://woocommerce.wordpress.com/2016/12/15/woocommerce-2-7-beta-1-is-here/

novetrendy commented 7 years ago

CRUD vypadá fakt dobře. Product visibility, Featured products a Out of stock jako taxonomie je úplně super, protože při moc produktech (10k+) jsou dotazy do DB opravdu hodně dlouhé (někdy i víc jak 2s) a bez indexace tabulky je web téměř nepoužitelný.

pavelevap commented 7 years ago

Právě u visibility mám v pluginu myslím přímý dotaz na postmeta (XML feedy), takže tam se to bude muset určitě upravit...

novetrendy commented 7 years ago

To ano, ale feed se podle mě bude generovat daleko rychleji, možná nebude třeba dělat ani ty statické XML soubory při velkém množství produktů. Jeden web s velkým množstvím produktů (20k +) mi jel opravdu hodně pomalu, nechal jsem si vyjet slow query log a dotazy byly kolikrát i přes 8 s. Po indexaci post_meta klesly na cca 1s, ale i to je opravdu hodně. Pokud to nebude v post_meta, ale v taxonomii, slibují 94% nárůst rychlosti.

pavelevap commented 7 years ago

Povedené ukázkové návody:

https://woocommerce.wordpress.com/2017/01/17/wc-2-7-extension-compatibility-examples/ https://woocommerce.wordpress.com/2017/01/27/deposits-2-7-extension-compatibility/

pavelevap commented 7 years ago

Už to někdo zkoušel? :-) Objevily se nějaké problémy?

lukasprelovsky commented 7 years ago

Ted mam 2 eshopy pod woo 3.0.3 tak napisu jestli tam bude problem. Zatim to facha :)

novetrendy commented 7 years ago

Dobrý den, nevygeneruje žádný feed, ve feedu je pouze tag </shop>. WP 4.7.4, WC 3.0.4, čistá instalace. WP-DEBUG nezobrazí nic, konsole taky ne.

lukasprelovsky commented 7 years ago

Zdravim, ja jsem to vcera daval na 2 eshopy a mne to funguje WordPress 4.7.4 + WooCommerce 3.0.4

(ale daval jsem tam kopirovanou verzi 0.5, ne tuhle nejnovsi z github)

asi ve verzii 0.6 bude nejaky problem jdu vyskouset test

novetrendy commented 7 years ago

Díky asi vyzkouším 0.5 Na všechny eshopy vždy dávám aktuální s githubu.

Edit// Tak ani 0.5 nevygeneruje nic :(

novetrendy commented 7 years ago

@lukasprelovsky A nemůže Vám jet feed ještě z cache, nebo se zobrazuje vygenerovaný (statický) XML z dřívější doby ?

lukasprelovsky commented 7 years ago

ee na verzii 0.5 feed funguje i na woo 3.0.4 (cache nepouzivam) a funguje od vcera i staticka i dynamicka verze.

Jdu proverit, jak je to s WooCommerce 3.0.4 + 0.6 alpha

novetrendy commented 7 years ago

Tak jsem vypnul všechny pluginy, nechal jen WC a České služby aktivoval výchozí šablonu, zkoušel 0.5 i 0.6 a feed se nevygeneruje, jen hlavička. A to jak statický, tak dynamický.

lukasprelovsky commented 7 years ago

Verze 0.6-alpha - podle mne se to vubec nedoporucuje pouzivat na ostry verzi eshopu, porad se neco v zdrojacich meni a github verze je spise pro vyvoj a doporucuje se pouzivat final 0.5? resp alpha jen na vlastni riziko

Woocommerce Verze 3.1.0-alpha (aktualny verze z github + ceske sluzby 0.6 alpha = Plugin nemohol byť aktivovaný, pretože došlo k fatálnej chybe.)

Verze 3.0.4 (nejnovsi vydany woo + ceske sluzby 0.6 alpha = Plugin nemohol byť aktivovaný, pretože došlo k fatálnej chybe. Fatal error: Cannot use $this as parameter in /sub/test/wp-content/plugins/ceske-sluzby/ceske-sluzby.php on line 1173

(pouzivam WordPress 4.7.5-alpha-40514 s témou Storefront + php 7.1)

novetrendy commented 7 years ago

Zatím to nemám na ostré verzi, ale v developmentu. Vždy si stáhnu nejnovější verzi ČS a pokud je vše OK, klidně pustím do produkce - zatím jsem s tím neměl problém. Verze 3.0.4 (nejnovsi vydany woo + ceske sluzby 0.6 alpha = V pohodě se aktivuje, vše se dá nastavit, žádná chybová hláška, jen negeneruje XML. (PHP 7.0.7-1~dotdeb+8.1)

novetrendy commented 7 years ago

Takže už vím, kde je chyba. Pokud jsou produkty vytvořeny ve verzi WC 2.6.x a starší, tak feed jede. Pokud jsou ale produkty vytvořeny ve verzi 3.x, tak feed nejede. Pravděpodobně to souvisí se zápisem do db (jiná struktura) a CRUDem. Takže pokud jsou v db i starší data, tak feed jede, pokud ne tak nejede. Downgradoval jsem na 2.6.14, přeuložil produkty (aby se vytvořili záznamy v db a bohužel nestačí přeuložit přes AJAX - musí se přímo v editaci produktu) a potom zpět na 3.0.4 a feed se generuje. Samozřejmě nově přidané produkty potom do feedu nezahrne.

pavelevap commented 7 years ago

@lukasprelovsky: To je problém s PHP 7.1.x, řešili jsme zde: https://wordpress.org/support/topic/doba-dodani-pro-kazdou-variantu-zvlast/#post-9048993

@novetrendy: Zajímavý bug, je pravda, že jsem v nové verzi WooCommmerce ještě produkty vytvářet nezkoušel :-( Zítra se na to podívám, díky moc za report!

novetrendy commented 7 years ago

@pavelevap Dobrý večer, už jste se k tomu dostal? Teď dělám další eshop, mezitím byla aktualizace na WC 3.0.5, ale žádný pokrok, feed se pořád pro nové produkty negeneruje 😟

pavelevap commented 7 years ago

Ještě jsem se k tomu nedostal, pokud se můžete podívat do logů a napsat sem chybu, kterou to vyhazuje, tak bych to uvítal, díky :-)

novetrendy commented 7 years ago

Právě že v logu není vůbec nic. Ani v server logu ani ve WP-DEBUG.

pavelevap commented 7 years ago

Nemáte někdo nějaký testovací web, kam byste mě mohli pustit (WP admin + FTP prosím na email)? Nějak se mi to nedaří reprodukovat...

novetrendy commented 7 years ago

Zkusím zítra (pozítří) něco založit a nainstalovat a potom Vám pošlu přístupy.

pavelevap commented 7 years ago

Tak už to asi vidím: https://github.com/woocommerce/woocommerce/pull/12527

Dotazujeme se na viditelnost pomocí postmeta (zde), ale po instalaci Woo 3.0.x dojde k migraci dat z postmeta na položky taxonomie (to samé patrně i pro vyprodané produkty), takže tam ve výsledku nejsou žádné produkty pro zpracování ve feedu. Připravím opravu...

novetrendy commented 7 years ago

Super, mě to teď vůbec nevyšlo se tomu věnovat, jsem rád, že jste to našel.

pavelevap commented 7 years ago

Zatím je to bohužel pouze teorie, protože to na mém webu funguje, i když jsem v nové verzi WooCommerce přidal další produkt :-( Takže stejně budu potřebovat nějaký testovací web, kde se chyba vyskytuje...

pavelevap commented 7 years ago

Snad to bude opraveno, zkuste prosím nejnovější verzi.

novetrendy commented 7 years ago

Super, funguje !

pavelevap commented 7 years ago

Základní funkčnost pluginu obnovena, nyní bude potřeba to ještě celé detailně projít a odstranit různé chybové hlášky:

novetrendy commented 7 years ago

Luxus!

pavelevap commented 7 years ago

Poznámka: Zatím se snažím zachovat 100% kompatibilitu s WooCommerce 2.6.x (i starší), ale nebudu to už nějak pravidelně testovat.

pavelevap commented 7 years ago

image

Ani nevím, kdy se toto (posunuté informační ikonky u políček pluginu) změnilo, zda už ve 2.6.x nebo až 3.0.x :-(

novetrendy commented 7 years ago

Asi bychom měli zkontrolovat i deprecated funkce: The "woocommerce_add_shipping_order_item" hook uses out of date data structures and function is deprecated since version 3.0.4. Replace with woocommerce_new_order_item. ceske-sluzby.php řádek 220 a 227. add_action( 'woocommerce_add_shipping_order_item', 'ceske_sluzby_ulozenka_ulozeni_pobocky', 10, 2 ); add_action( 'woocommerce_add_shipping_order_item', 'ceske_sluzby_dpd_parcelshop_ulozeni_pobocky', 10, 2 );

pavelevap commented 7 years ago

@novetrendy: Jj, díky, o tom vím, je to uvedeno výše, jako problém s hooky. Mělo by to zatím stále fungovat (jen to hází upozornění do logu), jen bude potřeba změnit hook, možná se tam změní i nějaké parametry...

novetrendy commented 7 years ago

@pavelevap Jsem si toho nevšiml :-), procházel jsem dnes logy ze serverů a u jednoho webu jsem na to narazil a identifikoval České služby.

pavelevap commented 7 years ago

@novetrendy: Mělo by být opraveno zde: #97

Budu rád, když občas kouknete do různých logů, ať se zbavíme různých Warning a Notice. Aktuální verze už by ale měla být vcelku pročištěná.

novetrendy commented 7 years ago

@pavelevap Super! 👍 Do logů koukám skoro každý den, protože na serverech mi běží stovky webů a nerad bych aby jeden "špatný shazoval" ostatní.

pavelevap commented 5 years ago

Má vůbec cenu nechávat zpětnou kompatibilitu pro starší verze WooCommerce než 3.0.x?