Jak poznat, co vic zatezuje Joomlu?

radek
08. bře 2015 15:55 #120737
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

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od H13
08. bře 2015 20:43 #120741
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 Gallery - http://www.phoca.cz/phocagallery - obrázková galerie (Joomla!)
Phoca Guestbook - http://www.phoca.cz/phocaguestbook - kniha návštěv (Joomla!)
Phoca Download - http://www.phoca.cz/phocadownload - stahování souborů (Joomla!)
Phoca Cart - http://www.phoca.cz/phocacart - e-shop,...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od radek
09. bře 2015 05:54 - 09. bře 2015 05:55 #120746
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.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
09. bře 2015 11:09 #120751
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.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od radek
09. bře 2015 11:39 - 09. bře 2015 11:41 #120753
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?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od H13
09. bře 2015 11:49 #120754
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 Gallery - http://www.phoca.cz/phocagallery - obrázková galerie (Joomla!)
Phoca Guestbook - http://www.phoca.cz/phocaguestbook - kniha návštěv (Joomla!)
Phoca Download - http://www.phoca.cz/phocadownload - stahování souborů (Joomla!)
Phoca Cart - http://www.phoca.cz/phocacart - e-shop,...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od radek
09. bře 2015 12:00 #120755
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.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od H13
09. bře 2015 12:32 #120757
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 Gallery - http://www.phoca.cz/phocagallery - obrázková galerie (Joomla!)
Phoca Guestbook - http://www.phoca.cz/phocaguestbook - kniha návštěv (Joomla!)
Phoca Download - http://www.phoca.cz/phocadownload - stahování souborů (Joomla!)
Phoca Cart - http://www.phoca.cz/phocacart - e-shop,...

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
09. bře 2015 12:37 #120758
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ší.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od radek
09. bře 2015 12:47 #120759
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?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
09. bře 2015 13:41 #120763
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".

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od radek
09. bře 2015 13:47 #120767
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.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
09. bře 2015 14:22 #120768
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 :)

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od radek
09. bře 2015 16:50 #120777
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.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.