Přihlásit se

Joomla 5.1.0 a Joomla 4.4.4 (17 dub 2024)

Dnes byla uvolněna nová verze Joomla 5.1.0, společně s Joomla 4.4.4. Tato verze přináší spoustu nových funkcí, vylepšení v oblasti bezpečnosti a kódu a díky těmto vylepšením i vyšší rychlost.

Phoca Cart - chyba při aktualizaci na verzi 3.5.5

12. úno 2021 13:22 #143710
Odpověď od Cony
Moderátor
To neplatí u aplikací, které fof nepoužívají. fof je framework, který v Joomle je asi opravdu až od J3 (v J4 už nativně zas nebude), nicméně lze jej použít pro vývoj komponenty od začátku a přibalit jej do instalátoru (pak bude funkční i na J2.5). Má některé poměrně šikovné funkce, někde je pro mně trochu krkolomný, ale zrovna ten instalátor tam je zajímavý.

13. úno 2021 20:54 - 13. úno 2021 20:55 #143711
Odpověď od H13
Admin

Proto mi vždy v easysoftware programátoři kladli na srdce, že je třeba nevyužívat automatické funkce a udělat si vlastní script php do aplikace, který bude načítat přírůstkové DB po zjištění stavu jaká verze je nainstalovaná (na to pak existuje složka v instalaci s přírůstkovými DB).


Původně měly všechny Phoca rozšíření vlastní metody, tedy se to tam kontrolovalo a k takovýmto chybám nedocházelo. Ale po enormním tlaku typu: "Proč rozšíření nepoužívá standardní Joomla instalační vlastnost?", atd. se to změnilo.

Ale tady bych nevinil ani tak Joomlu jako spíš jen a pouze MySQL. Kvůli této chybějící jednodoché instrukci "IF NOT EXIST" v MySQL se píší zbytečně přeplácané řešení a vůbec tomu tak nemusí být. No a kvůli tomu, že je v Joomle pouze jeden driver jak pro MySQL tak pro MariaDB, to pak "odnášejí" i uživatelé MariaDB. A zase nutno podotkonout, že s tím Joomla asi nic neudělá, protože psát driver zvlášť pro MariDB a MySQL asi nemá smysl, když jsou, co se týče chování, z 99% stejný.

Pokud se člověk podívá např. na stack overflow a témata jako je "mysql - add column if not exist", tak uvidí vysoký počet požadavků na řešení tohoto problému a zároveň různé krkolomné řešení za pomocí stávajících metod. Pro vývojáře MySQL snad neexistuje přímočařejší feedback pro to, jakou vlastnost by měly implementovat.

Phoca Cart - www.phoca.cz/phocacart - e-shop, e-commerce
Phoca Gallery - www.phoca.cz/phocagallery - obrázková galerie
Phoca Download - www.phoca.cz/phocadownload - stahování souborů
Phoca Guestbook - www.phoca.cz/phocaguestbook - guestbook

13. úno 2021 21:56 #143712
Odpověď od Cony
Moderátor
No ono to IF NOT EXISTS není součástí SQL standardu, např. Firebird to také nemá. Ten ale umí EXECUTE BLOCK, taková "uložená procedura", bez toho aby se ukládala do databáze, tak lze jedním dotazem zjistit existenci sloupce a druhým případně upravit / vytvořit. MySQL toto bohužel také neumí.

Na druhou stranu, mělo by se jednat v podstatě o extrémní situaci, zřejmě když někdo nainstaluje nějakou beta verzi nebo nějak zasáhne do databáze, takže je asi v zásadě zbytečné to jakkoliv řešit :)

Powered by Fórum