Přihlásit se

Jak poznat, co vic zatezuje Joomlu?

08. bře 2015 15:55 #120737
Jak poznat, co vic zatezuje Joomlu? od radek
Zkušený uživatel
Ahoj,

potrebuju nainstalovat neco, co bude zobrazovat grafy. Nasel jsem si dve pro me zajimavy rozsireni. Jedno je plugin a druhy modul. Co vic zatezuje Joomlu? Pokud me pamet neklame, tak plugin se nacita na kazde strance, i tam, kde neni zobrazen a modul pouze na strance, kde je zobrazen nebo se pletu?

Jde to nejak necim zmerit? Ale tak, aby to zvladl clovek neprogramator.

dik za tipy

08. bře 2015 20:43 #120741
Odpověď od H13
Admin
Ahoj, spíš záleží na tom jak je to napsaný.

Jinak:

- modul se načte pouze, když se zobrazí
- content plugin se načte pouze v článku, který se zobrazuje
- system plugin pracuje neustále.

Řekl bych že, content plugin (tedy článkový plugin), který se načte pouze, když se zobrazí článek (nebo je ten článek v nějakým blogu) bude asi nejšetrnější (za předpokladu, že modul i plugin obsahují stejný kód)

Ale pokud se modul načte např. na jedné stránce pak je to v podstatě jedno - jestli modul nebo plugin pouze na jedné stránce.

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

09. bře 2015 05:54 - 09. bře 2015 05:55 #120746
Odpověď od radek
Zkušený uživatel
Ahoj, diky moc za odpoved.

Jeden je modul a druhy je content plugin. Je to graf ve flashi od nejakeho neznameho vyrobce a funguje to pekne. Prekvapilo me, ze se zda, ze zatezuje stranku min, nez graf od joomlart, ktery neni ve flashi a je to maly modul v zipu, o velikosti cca 60kb.

Jak je to napsano nevim, to nemam sanci zjistit.

Jak se da zjistit, jestli se modul nacita na 1 strance? Cim se tyto veci zjistuji? Me napadly jedine weby jako je webpagetest apod., kde to vypisuje pocet skriptu apod.

09. bře 2015 11:09 #120751
Odpověď od Cony
Moderátor
Modul se vykreslí jen na těch stránkách na kterých je aktivovaný, tj. když bude přiřazen jedné jediné stránce (resp. položce menu), vykreslí se jen tam.

09. bře 2015 11:39 - 09. bře 2015 11:41 #120753
Odpověď od radek
Zkušený uživatel
To trosku odporuje tomu, co napsal H13

Ahoj, spíš záleží na tom jak je to napsaný.

i tomu, co jsem si zjistil na tech testovacich strankach. Ja jsem zkousel Roksprocket od RT a pokud me pamet neklame, tak jeho JS se nacitaji i na hlavni strance, kde by nemel byt, ale uz je to hodne dlouho, co jsem to zkousel a mozna se pletu.

Nicmene obecne to asi plati tak, jak jsi to napsal ty i H13. Sakra, jak teda poznat, co zatizi Joomlu min? Ten flashovy graf ma jako instalacni balik cca 0.5mb a ten graf od Joomlartu je jako modul a ma jen tech 60kb. I kdyz programovani nerozumim ani zbla, tak si myslim, ze velikost instalacniho souboru na to nebude mit moc vliv, co?

09. bře 2015 11:49 #120754
Odpověď od H13
Admin
Tady jse spíš o to podívat se do debugu (zapnout debug informace), kolik se při načtení zabere paměti a jak dlouho se script vytvářel (je nutný to vyzkoušet víckrát, protože čas se může měnit podle různých podmínek)

Druhá věc je, co se tvoří v prohlížeči u uživatele a co se provádí na serveru.

Např. s tím flashem, pokud není zase tak velký, tak pro server to zátěž neznamená: Server jen nahraje (poskytne) ten flash soubor a k němu nějaké propojení (link na soubor, pár řádků javascriptu pro rozjetí flashe) a vše ostatní se už děje v uživatelově prohlížeči.

Tedy kolikrát je těžký určit, jak moc je co náročný, protože např. složitá věc může např. všechno tahat z externích serverů (např. jquery z jiného serveru, další script z jiného serveru) a pak v podstatě dochází k minimální zátěži serveru.

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

09. bře 2015 12:00 #120755
Odpověď od radek
Zkušený uživatel
Aha, takze to nema smysl se v tom babrat, protoze to stejne nezjistim. Debug jsem zkousel, ale nic z toho nepoznam. Jediny me prave prekvapilo, ze pocitove je ten flash na webu rychlejsi, nez ten graf od Joomlartu. Ten modul od JA umoznuje tahat data z Googlu, ale ja mu je dal primo, takze se nikde na nic nepta.
Joomlu mam na Nginxu, jestli to ma vliv i na tohle netusim.

Zatim jsem to vyresil tak, ze jsem si na zkusebni instalaci udelal graf ve flashi, udelal z toho fotku a na web dal screen. Pritom mne stacil jen obycejnej progres bar nebo jak se tomu v tom bootstrapu rika, ale Rockettheme to nema nikde popsany pro blbecky.

09. bře 2015 12:32 #120757
Odpověď od H13
Admin
Ahoj, no právě, pocitově - záleží na tom, jak rychle se např. zpracuje javascript a flash v uživatelově prohlížeči, to v podstatě nemá s tvým serverem co společnýho.

Jde o to jakej je cíl:

a) snížit zátěž serveru - pak přes debug mode - jednou nahrát ten script v pluginu - zjistit údaje o MB a čase a pak ho nahrát z modulu a porovnat to (vícektrát) - to se bavíme jen o zátěži serveru - vlastně jen o tom, kolik toho musí poslat. Např. když se pár věcí tahá z externího sereru, někdo to může být rychlejší, někdy pomalejší ale pro server je to úleva. Příklad s fonty: tahat fonty z google font directory může významně šetřit server - otázka je, jestli to je rychlejší nebo ne - záleží, kterej server v daný chvíli bude rychlejší

b) co nejrychleji uživatelovi nahrát kompletní script - pak opravdu záleží na testech v prohlížeči, ale to už je v podstatě hodně těžko měřitelný (připojení k internetu, server, externí server, nějaká chyba na cestě, prohlížeč, výkon PC (např. pro běh javascriptu nebo flashe), program pro běh flashe, atd. atd.)

Pokud a) pak debug mode prostě řekne: v tomhle případě jsem musel poslat tolik a tolik MB a stálo mě to tolik a tolik času a v druhým případě to bylo o nějakej ten KB míň a časově o pár setin míň. Atd.

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

09. bře 2015 12:37 #120758
Odpověď od Cony
Moderátor
Nemyslím že si odporujeme :)

Modul se vykresluje pouze tehdy, je-li aktivní pro právě zobrazenou položku menu. Druhá věc je, jestli se pak vykreslí nebo ne. Může mít v sobě nějakou další zabudovanou logiku, která jeho obsah vykreslí v závislosti na právě zobrazeném obsahu (typicky např. související články, články z kategorie v dynamickém módu, nebo vlastně i modul nabídky).

Oproti tomu Content plugin dostane vždy a pro každý článek jeho obsah, a má možnost tento obsah upravit. Pokud jej upraví a jak, je už v jeho pravomoci.

Myslím že tedy hlavně záleží na tom, kde chcete příslušný obsah zobrazit.

Já bych se spíše ale klonil k modulu, protože Content plugin vždy bude muset dělat navíc nějakou kontrolu, zda obsah upravit nebo ne. Navíc pro stránky typu blog se Content plugin spustí tolikrát, kolik je na stránce článků, popř. i modulů se zapnutou možností Připravit obsah. Ano v něm být nějaká triviální kontrola, zda obsah upravovat nebo ne (podle kontextu nebo rychlým hledáním tagu v obsahu), ale vždy je to o trochu "zátěžovější" než modul (i když minimální).

Vyjímkou by pak mohl být např. plugin čerpající informace z právě zobrazeného článku - tam by modul musel provádět další akce a dotazy do databáze aby měl stejné informace jako plugin - v takovém případě by plugin byl asi vhodnější.

09. bře 2015 12:47 #120759
Odpověď od radek
Zkušený uživatel
No ja myslim, ze staci:), uz v tom mam hokej a to jsem to radsi nezkousel. Uz toho na me zacinate poustet moc:)

H13

Jaky je cil? Oba. Snizit zatez serveru a rychle to zobrazit uzivatelovi. Vypada to, ze se to asi vylucuje. Nicmene, toto uz je fakt mimo me. Uz ted se v Joomle motam jak mantak a delat jeste tohle, tak si muzu vzit rovnou i dovolenou. Takze diky za vysvetleni, ale k akci asi nedojde.

Cony

Mne prave prislo, ze jste si odporovali, protoze H13 napsal, ze zalezi, jak je to napsany a ja si vydedukoval, ze to muze byt napsany tak, ze se sice modul ma zobrazit pouze na dane strane, ale ze pokud je nejakym zpusobem napsany, tak se klidne muzou napriklad jeho CSS nebo JS nacitat i tam, kde neni zobrazenej. Proste globalne, ale to je jedno. Na to uz kaslu, protoze to uz neni v mych silach.

Ptal ses, kde chci obsah zobrazot. Netusim, cos tim myslel. Myslis tim stranku? Protoze ja to chci zobrazit jen na strance, do ktere se vlozi kod ke spusteni.

Znamena to teda, ze content plugin funguje takto? Zkusim to polopate.

Na web mne prijde najednou 10 lidi. Z toho 2 se dostanou na stranku, kde se ma spustit ten plugin. On bude ale spustenej i na tech zbyvajicich 8 strankach, ale jen nezobrazi obsah, protoze v clanku nenajde kod ke spusteni?

09. bře 2015 13:41 #120763
Odpověď od Cony
Moderátor
No tak nějak, modul spouští šablona (ve vzácných případech, jako je např. loadmodule plugin se spustí i jinak, ale to bych do toho nemotal). Šablona se mrkne na konkrétní pozici a vybere si moduly, podle jejich nastavení, které by se měly zobrazit. Pak je jeden po druhém zavolá.

Modul se pak sám rozhodne, jestli něco vykreslí, přidá nějaké CSS nebo JavaScript a apod. Zde už záleží na tom jak je modul napsán, ale první omezení lze zaručit již v Joomle, tím že se nastaví pro vykreslení jen někde.

Content plugin oproti tomu spouští komponenty (tedy většinou :) ). Např. komponenta pro články, při zobrazení jednoho článku si načte údaje pro článek nějak si je předzpracuje a pak je pošle všem Content pluginům, které jsou aktivní.

Content plugin dostane informaci o článku, o tom že se jedná o zobrazení jednoho článku (tzv kontext) a pak si může zase dělat co chce. Měl by správně obsahovat kontrolu na kontext (tj. aby se opravdu spouštěl jen tam kde má a nezatěžoval systém) a obvykle (pokud se jedná o plugin typu nahraď {graph} za můj graf) rychlou kontrolu na výskyt hledaného tagu (např. {graph}). Aź pak by měl provádět složitější záměny, přidávání JS a CSS apod. Zde už opět záleží na tom jak je napsaný.

Oproti modulu, který se na jedné stránce spustí jen jednou (resp. tolikrát, kolikrát tam je zveřejněn) se Content plugin spustí pro každý obsah na stránce, tj. pro zobrazení typu Blog se spustí např. 10 krát - nemusí to být však na škodu, tady by už se to muselo asi opravdu zkoumat detailně přes debug.

S tím dotazem "Kde zobrazovat" jsem myslel spíš umístění na stránkách (v pozici pro modul, v hlavním obsahu apod.) i když, když o tom přemýšlím je to v podstatě jedno, modul v obsahu lze zobrazit pomocí loadmodule, plugin v modulu zas pomocí "Připravit obsah".

09. bře 2015 13:47 #120767
Odpověď od radek
Zkušený uživatel
Aha.
No tak modul jsem chtel zobrazit v clanku. Je to lepsi. Na druhou stranu je docela dost blby, ze pokud budu mit na webu rekneme 30 grafu, tak budu muset mit 30 modulu. Kdezto s tim pluginem mam porad 1 plugin.

Ono by asi bylo fakt nejlepsi pouzit nejakej kod z Bootstrapu a nemusim mit ani plugin, ani modul. Jenze s tim moc neumim a hlavne cisty kody primo z Bootsrap vetsinou nefunguji v RT sablonach. Zase by se asi muselo neco upravovat. Uz me u RT stvou, nemaji zadny shortcodes apod, jaok ostatni.

09. bře 2015 14:22 #120768
Odpověď od Cony
Moderátor
Jasně 30 grafů - pak je lepší plugin, myslel jsem že se bavíme o jednom grafu. Otázkou ale je kde pak budou zadaný data, to už je na komponentu :)

Bootstrap žádný grafy nepodporuje pokud vím, existujou ale např. Google grafy, nebo rozšíření pro jQuery - myslím že cokoliv jiného než Flash by bylo přínosem :)

09. bře 2015 16:50 #120777
Odpověď od radek
Zkušený uživatel
30 grafu jsem jen placl, ale uz ted jich mam urcite aspon 10, tak jsem neco pridal do budoucna. Ad Komponenta - dostal jsem vcera dost dobrou nabidku na jedno rozsireni, ktery je i komponenta. Nicmene nevim, jak kvalitni to je.

Bootstrap - mne staci takovy ten progress bar nebo jak se tomu rika. Akorat by bylo dobry to mit vertikalne, ne horizontalne. www.w3schools.com/bootstrap/bootstrap_progressbars.asp
Ale jak jsem psal, tak ty kody proste v RT sablone nejedou.

Powered by Fórum