<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Oneshot Solutions Blog &#187; SEO</title>
	<atom:link href="http://oneshot-solutions.pl/blog/tag/seo/feed" rel="self" type="application/rss+xml" />
	<link>http://oneshot-solutions.pl/blog</link>
	<description>Blog o Joomla! i innych systemach open-source</description>
	<lastBuildDate>Wed, 08 Sep 2010 07:24:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Jak ukryć Joomla</title>
		<link>http://oneshot-solutions.pl/blog/jak-ukryc-joomla.html</link>
		<comments>http://oneshot-solutions.pl/blog/jak-ukryc-joomla.html#comments</comments>
		<pubDate>Thu, 23 Oct 2008 15:16:38 +0000</pubDate>
		<dc:creator>Jacek Kowalczyk</dc:creator>
				<category><![CDATA[Tutoriale]]></category>
		<category><![CDATA[404]]></category>
		<category><![CDATA[administrator]]></category>
		<category><![CDATA[drukuj]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ikony]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[kodowanie]]></category>
		<category><![CDATA[komponenty]]></category>
		<category><![CDATA[moduły]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[override]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[powiadom]]></category>
		<category><![CDATA[Pozycjonowanie]]></category>
		<category><![CDATA[przyjazne adresy]]></category>
		<category><![CDATA[restricted access]]></category>
		<category><![CDATA[sef url]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[szablony]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://onejoomla.org/?p=77</guid>
		<description><![CDATA[Joomla! jest świetnym systemem.  Jednak zdarzają się czasem sytuacje, w których chwalenie się, że korzysta się z darmowego oprogramowania open-source... <a class="more-link" href="http://oneshot-solutions.pl/blog/jak-ukryc-joomla.html">czytaj całość</a>]]></description>
			<content:encoded><![CDATA[<p>Joomla! jest świetnym systemem.  Jednak zdarzają się czasem sytuacje, w których chwalenie się, że korzysta się z darmowego oprogramowania open-source jest nie na miejscu. Dodatkowo, ze względów bezpieczeństwa lepiej nie rozpowiadać o tym jakiego się używa systemu.</p>
<p>Nie ma się oczywiście co oszukiwać, wprawiony użytkownik nie powinien mieć problemów z rozpoznaniem z jakiego systemu korzystamy, wydaję mi się jednak, że warto się pokusić o &#8222;przykrycie&#8221;  chociaż tych najbardziej rzucających się w oczy elementów.</p>
<p><span id="more-77"></span></p>
<p>Zacznynamy od pytania: po czym można poznać, że strona jest oparta o CMS Joomla!? Ja mogę podać od razu co najmniej kilka odpowiedzi, które postaram się opisać poniżej. Może Wy macie jakieś pomysły? Po czym poznajecie strony na Joomla? Czy zdarzyło Wam się kiedyś maskować swoją Joomle?</p>
<h2>Standardowe lub popularne darmowe szablony</h2>
<p>Sprawa dość oczywista, ale warto o niej o chociaż wspomnieć. Jeżeli po załadowaniu strony oczom użytkownika ukaże się Beez, MilkyWay albo <a href="http://forum.joomla.org/viewtopic.php?t=215367">JA_PURITY</a>, to nie będzię on miał żadnych wątpliwości na jakim systemie oparta jest strona.</p>
<p>Punkt ten można jednak rozszerzyć do nieco mniej oczywistego przypadku. Mianowicie, większość dostępnych szablonów do Joomla, wygląda dość podobnie: w miarę ładne, w miarę czyste, poskładane z kwadratowych modułów w dwóch lub trzech kolumnach. Taki wygląd, wskazuje na Joomla, lub chociaż jakiś CMS modułowy, a tego w założeniu chcemy uniknąć. Warto więc próbować niestandardowych rozwiązań graficznych, wyszukiwać ciekawe moduły, ciekawe templaty. Warto również wybrać sobie jakiś gotowy szablon graficzny i zakodować go sobie do Joomla. W razie problemów polecam się.</p>
<h2>Charakterystyczne adresy URL</h2>
<p>Jeżeli po wejściu na stronę, w pasku adresu przeglądarki widzimy coś w stylu &#8222;index.php?option=com_costam&amp;&#8230;&#8221;, to znaczy, że nasza Joomla stoi wystawiona na postwe losu. Jeżeli chcemy ją ukryć musimy stosować jakąś formę SEF URLi (<em>search engine friendly URLs &#8211; adresy przyjazne dla wyszukiwarek</em>). Nawiasem mówiąc czytając ten post, można nabrać wątpliwości czy tego typu adresy są faktycznie przyjazne dla wyszukiwarek, no ale dla użytkowników są na pewno użyteczniejsze.</p>
<p>Dla Joomla 1.5 mamy na tym spory wybór. Ja osobiście zazwyczaj ograniczam się do core&#8217;owej funkcjonalności w tym zakresie + <a href="http://extensions.joomla.org/component/option,com_mtree/task,viewlink/link_id,3778/Itemid,35/">SEO patch</a>. <a href="http://www.pajmon.com/2008/09/25/sh404sef-dla-joomla-15/">Pajmon poleca sh404sef</a>. Nie będę się w tym miejscu rozpisywał o SEFURLach, bo nie ma to sensu. Kiedyś może popełnię osobnego posta na ten temat.</p>
<h2>Ikony PDF/Drukuj/Powiadom znajomego</h2>
<p>Ikony PDF/Drukuj/Powiadom znajomego wyglądają dość podejrzanie i joomlowato. Joomla oczywiście nie jest jedynym systemem posiadającym takie ikony, ale opisuję jak pozbyć się wszystkiego co może wzbudzić podejrzenia.</p>
<p>Ja tych ikon nie lubię, raczej nie stosuję i polecam je po prostu wyłączyć. Obecna generacja przeglądarek powinna dawać sobie radę z drukowaniem i generowaniem PDFów. Poza tym, zawsze lepiej jest dołączyć osobny plik css do wydruku.</p>
<h2>Standardowe pliki JavaScript</h2>
<p>W tym momencie kończymy z rzeczami oczywistymi, i przechodzimy do chowania się przed bardziej wprawionymi userami, tzn. takimi którzy zaglądają od czasu do czasu w źródło stron, albo posiadają nieco bardziej zaawansowane narzędzia typu Firebug, YSlow albo JSView.</p>
<p>Joomla!1.5 standardowo ładuje zawsze dwa pliki JavaScript: caption.js i mootools.js. Ja we wszystkich realizowanych projektach tych plików się pozbywam, a jeśli okażą się potrzebne dokładam je do plików JS templatki. Często okazuje się że pliki te nie są potrzebne, i samym opisywanym tu manewrem możemy zaoszczędzić 73 kb wagi strony.</p>
<p>Żeby nie ładować tych plików w sekcji &lt;head&gt;, jeszcze przed &lt;jdoc:include type=&#8221;head&#8221; /&gt;, taki fragment kodu:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$user</span> <span style="color: #339933;">=&amp;</span> JFactory<span style="color: #339933;">::</span><span style="color: #004000;">getUser</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>if <span style="color: #009900;">&#40;</span><span style="color: #000088;">$user</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'guest'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #000088;">$headerstuff</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;;</span>getHeadData<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$headerstuff</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'scripts'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setHeadData</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$headerstuff</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Rozwiązanie to zostało zaczerpnięte z <a href="http://forum.joomla.org/viewtopic.php?f=433&amp;t=255433">tego tematu forum Joomla</a>. To samo rozwiązanie pojawiło się <a href="http://b-12.blogspot.com/2008/05/remove-mootoolsjs-and-captionjs-from.html">też tutaj</a>.</p>
<h2>Ścieżki dostępu do komponentów strony (js/css/obrazki)</h2>
<p>Wszystkie pliki składowe naszej strony mają standardowo ścieżkę typu &#8222;http://domenamojejjoomli.pl/templates/nazwatemplatu/css/plik.css&#8221;. Jest standardowa ścieżka, a wszystko co standardowe w naszych rozważaniach jest złe.</p>
<p>Proponuje skopiować całą zawartość foldery &#8222;templates/nazwatemplatu&#8221; oprócz plików index.php i templateDetails.xml do głównego folderu Joomla. Następnie w pliku index.php naszego templayu zmieniamy wszystkie odniesienia do plików css, js i obrazków z takich</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;link rel=&quot;stylesheet&quot; href=&quot;templates/<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">template</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>/css/template_css.css&quot; type=&quot;text/css&quot; /&gt;</pre></div></div>

<p>na takie:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;link rel=&quot;stylesheet&quot; href=&quot;css/template_css.css&quot; type=&quot;text/css&quot; /&gt;</pre></div></div>

<p>Oczywiście warto tu wspomnieć, że jeżeli chcemy ukryć system Joomla! plik o nazwie template_css.css nie jest najlepszym pomysłem.</p>
<h2>Kod HTML generowany przez komponenty/moduły Joomla!</h2>
<p>Składniki jądra Joomla takie jak com_content, com_search a także większość standardowych modułów, generują kod który jest łatwo rozpoznawalny, ze względu na charakterystyczne nazwy klas i wartości atrybutów ID różnych elementów.</p>
<p>Jeżeli chodzi o moduły, to przede wszystkim zalecam używanie atrybutu style=&#8221;none&#8221; w pliku tamplatki, np. &lt;jdoc:include type=&#8221;modules&#8221; name=&#8221;top&#8221; style=&#8221;none&#8221; /&gt;</p>
<p>Kolejną rzeczą jest stosowanie tzw. <em>template overrides</em> (nadpisań szablonu?). Więcej o tej technice można dowiedzieć się na <a href="http://forum.joomla.org/viewforum.php?f=469">oficjalnym forum</a> lub w tym <a href="http://www.scribd.com/doc/2300107/Joomla-v-1-5-Getting-Started-with-Template-Overrides">dokumencie</a>. Ponownie nie chciałbym w tym poście zagłębiać się zbytnio w jeden konkretny temat, dlatego napisze tylko to co najważniejsze.</p>
<p>Zmieniając kod szablonów poszczególnych komponentów i modułów, należy przedewszystkim pousuwać klasy bardzo charakterystyczne dla Joomli t.j. &#8222;contentpaneopen&#8221;, &#8222;contentheading&#8221;, &#8222;componentheading&#8221;. Dokładną listę wszystkich klas CSS wykorzystywanych przez core Joomla można znaleźć <a href="http://docs.joomla.org/List_of_Joomla!_generated_core_CSS_classes">tutaj</a>.</p>
<p>Nie trzeba oczywiście zmieniać wszystkich, żeby uzyskać zadowalający efekt. Na tym etapie wszystko zależy już od konkretnego projektu, i wykorzystanych w nim dodatków i architektury.</p>
<h2>Folder &#8216;administrator&#8217;</h2>
<p>Nawet jeżeli wykonamy wszystkie powyższe kroki, i na pierwszy rzut oka (a nawet po zerknięciu w źródło), nie widać że nasza strona jest oparta o J!, to i tak każdy cwany odwiedzający może wpisać w przegladarkę &#8222;http://naszadomena.pl/administrator&#8221;. Ekran logowania do panelu administracyjnego nie pozostawia żadnych złudzeń co do użytego systemu.</p>
<p>Problem ten można dość łatwo rozwiązć wykorzystując jeden z dwóch znanych mi sposobów: albo instalujemy <a href="http://extensions.joomla.org/component/option,com_mtree/task,viewlink/link_id,5809/Itemid,35/">bardzo zgrabny dodatek jSecure Authentication</a>, albo <a href="http://forum.joomla.org/viewtopic.php?f=432&amp;t=320692">wykorzystujemy to rozwiązanie</a> (dla bardziej zaawansowanych).</p>
<h2>Strony z błędami</h2>
<p>Ukrycie Joomli wymaga zastosowania ładnych stron z błędami.</p>
<p>Strony z błędami 404 to temat który często przewija się przez rózne fora i blogi dotyczące Joomli (chociażby <a href="http://forum.joomla.org/viewtopic.php?f=199&amp;t=251089">tu</a> i <a href="http://www.pathos-seo.com/joomlablog/please-give-me-a-404-page/">tu</a>). Mamy też oficjalny <a href="http://docs.joomla.org/Custom_error_pages">artykuł w dokumentacji</a> na ten temat.</p>
<p>Oto moje autorskie rozwiązanie. W systemie tworzymy artykuł,  który będzie wyświetlany na stronie z błędem. Zapamiętujemy ID artykułu. W katalogu &#8222;templates/nazwatemplata&#8221; tworzymy plik error.php o następującej treści:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// no direct access</span>
<span style="color: #990000;">defined</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'_JEXEC'</span> <span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'Restricted access'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">error</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">code</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'404'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'http://{twoja domena}/index.php?option=com_content&amp;amp;id={numer id twojego artykułu}'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HTTP/1.0 404 Not Found&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Uważam, że jest to dobre rozwiązanie. Strona z błędem będzie wyglądała ładnie (załaduje się cały template), nie zmieni się adres w pasku przeglądarki oraz strona będzie miała prawidłowy status (404).</p>
<h2>Restricted accessy</h2>
<p>Według mnie pozostał tylko jeden sposób rozpoznania Joomli, po wykoaniu wszystkich powyżej opisanych czynność, mianowicie &#8222;Restricted Accessy&#8221;. Każdy (no prawie każdy) plik składowy instalacji Joomla zawiera linię:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">defined</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'_JEXEC'</span> <span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'Restricted access'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Oznacza to tyle, jeżeli ten plik jest ładowany przez przeglądarkę bezpośrednio, wyświetl komunikat &#8222;Restricted Access&#8221; i zakończ działanie skryptu. Działanie tego mechanizmu możemy podejrzeć wpisując w przgądarkę np. http://adresmojejjoomli.pl/CHANGELOG.php.</p>
<p>Według mnie jest to dość dziwne, że treść tego komunikatu jest ustawiona na sztywno w każdym pliku. Nie można go zmienić ani w konfiguracji, ani nawet plikami językowymi.</p>
<p>Można to rozwiązać według mnie tylko w jeden sposób: podmienić wspomnianą linię we wszystkich plikach Joomla. Można tego dokonać np. przy użyciu <a href="http://www.pspad.com/">PSPad</a>, który to program ogólnie polecam. Moja propozycja kodu który można wstawić zamiast tej linii:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">defined</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'_JEXEC'</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;HTTP/1.0 404 Not Found&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'http://{twojadomena}/index.php?option=com_content&amp;id={id}'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">exit</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Oczywiście, wstawiamy ID artykułu błędu który wcześniej stworzyliśmy.</p>
<p><strong><span style="text-decoration: underline;">UWAGA</span> &#8211; podany sposób jest bezczelnym core hackiem, który może narazić twoją stronę na niebiezpieczeństwa. Jeżeli zdecydujesz się go stosować, to na własną odpowiedzialność. Podane czynności będziesz musiał powtarzać po każdej aktualizacji systemu.<br />
</strong></p>
<h2>Podsumowanie</h2>
<p>Pokazałem kilka cech ujawniających użytkownikom, że strona jest oparta na Joomla, i metody jak te cechy &#8222;przykryć&#8221;. Nie twierdze, że ta lista jest kompletna, na pewno nie jest. Mam nadzieję, że coś z podanych tu informacji Wam się przyda. Oczywiście zapraszam do wypisywania w komentarzach innych sposobów poznania stron na J!.</p>
]]></content:encoded>
			<wfw:commentRss>http://oneshot-solutions.pl/blog/jak-ukryc-joomla.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Dlaczego nienawidzę Joomla?</title>
		<link>http://oneshot-solutions.pl/blog/dlaczego-nienawidze-joomla.html</link>
		<comments>http://oneshot-solutions.pl/blog/dlaczego-nienawidze-joomla.html#comments</comments>
		<pubDate>Mon, 01 Sep 2008 07:10:27 +0000</pubDate>
		<dc:creator>Jacek Kowalczyk</dc:creator>
				<category><![CDATA[Opinie]]></category>
		<category><![CDATA[ACL]]></category>
		<category><![CDATA[nienawiść]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://onejoomla.org/?p=31</guid>
		<description><![CDATA[W poprzednim poście wyjaśniałem dlaczego kocham Jooma!. Przyszedł czas żeby wyjaśnić dlaczego jej nienawidzę. Nienawidzę Joomla, ponieważ: Prawie każda funkcjonalność... <a class="more-link" href="http://oneshot-solutions.pl/blog/dlaczego-nienawidze-joomla.html">czytaj całość</a>]]></description>
			<content:encoded><![CDATA[<p>W poprzednim poście wyjaśniałem dlaczego kocham Jooma!. Przyszedł czas żeby wyjaśnić dlaczego jej nienawidzę.</p>
<p>Nienawidzę Joomla, ponieważ:</p>
<ol>
<li>Prawie każda funkcjonalność jaką chciałbym dodać do Joomla wymaga komponentu.</li>
<li>Joomla! jako system, powinien być domyślnie bardziej zorientowany na tzw. Web2.0, czyli dostarczać wraz z podstawową instalacją funkcje niezbędne do budowania strony opartej o większą czy mniejszą społeczność, w tym:
<ul>
<li>możliwość komentowania artykułów &#8211; wiem oczywiście, że mogę sobie doinstalować zawsze jakiś zestaw dodatków dający możliwość zostawiania komentarzy, ale czy na prawde system zarządzania treścią w dzisiejszej fazie rozwoju Internetu, nie powinien gwarantować mi takich możliwości? zwłaszcza że nie wydaje, się to być jakieś wielkie przedsięwzięcie programistyczne.</li>
<li>tworzenie profili użytkowników &#8211; również zdaję sobie sprawę z istnienia dodatku CommunityBuilder, ale to nie chodzi o to, argumentacja jak wyżej.</li>
<li>dodawanie tagów do treści</li>
<li>integracja z typowymi usługami dzisiejszego internetu &#8211; chodzi mi tutaj o rzeczy takie jak GoogleMaps, YouTube, GoogleAdSense, wszelkiego rodzaju SocialBookmarking (Digg, Del.icio.us, Gwar, Wykop) czy Light / Lyte / Slim / Thick Box&#8217;y</li>
</ul>
</li>
<li>Nie posiada praktycznie żadnego ACL (Access Control Level), czyli możliwości konfiguracji uprawnień poszczególnych użytkoników. Jedyne co dostajemy to kilka stworzonych za nas grup, do których możemy przypisywać poszczególne podstrony naszego serwisu. Jeżeli chcemy osiągnąć jakiś bardziej konkretny efekt musimy edytować pliki php. Ta sprawa jest szczególnie irytując ponieważ Joomla już od dawno posiada teoretyczną możliwość wprowadzenia bardziej zaawansowanego ACL, ponieważ wewnątrz Joomla został osadzony projekt <a href="http://phpgacl.sourceforge.net/">phpGACL</a>, brakuje tylko komponentu po stronie administracyjnego pozwalającego tym zarządzać.</li>
<li>Nie znoszę obowiązkowej hierarchii artykułów typu Sekcja &gt; Kategoria, bez możliwości tworzenia własnej struktury zagnieżdzonych kategorii. To też irytuje ponieważ od dawien dawna w bazie danych Joomla w tabeli categories istnieje pole parentID, dzięki któremu tworzenie zagnieżdzeń jest możliwe, co niektóre komponenty już wykorzystywały (np. <a href="www.joomla-addons.org/components/easy-gallery/easy-gallery.html">EasyGallery</a> już w Joomla 1.0.x!!!)</li>
<li>Generuje artykułu po stronie witryny w postaci tabel HTML, zamiast ładnego, czystego kodu XHTML / CSS. Następstwem tego jest niewystępowanie praktycznie w kodzie generowanym przez Joomla znaczników &lt;hx&gt;, tak ważnych przy pozycjonowaniu.</li>
<li>W dalszym ciągu dalekie od ideału pozostaje tworzenie przyjaznych adresów i zarządzanie meta-tagami, co w dużej mierze rozwiązuje <a href="http://www.joomlatwork.com/products/free-downloads/seo-patch-joomla-15.html">SEO Patch</a>, który mam nadzieję zostanie szybro włączony to głównego projektu.</li>
<li>Nie posiada możliwości automatycznej aktualizacji zainstalowanych komponentów, brak automatycznych aktualizacji jądra Joomla, a tego typu rzeczy są już standardem w nowoczesnych aplikacjach internetowych</li>
</ol>
<p>Troche się tego uzbierało. W podsumowaniu chciałem powiedzieć, że większość z tych problemów można rozwiązać instalując odpowiednie komponenty, czy wykonując niewielkie hacki kodu źródłowego. Sporą część z nich już sam kiedyś rozwiązywał i będę wkrótce publikował swoje rozwiązania na tym blogu.</p>
<p>Jestem ciekawy co wy o tym wszystkim sądzicie, i dlaczego wy nienawidzicie Joomla!.</p>
]]></content:encoded>
			<wfw:commentRss>http://oneshot-solutions.pl/blog/dlaczego-nienawidze-joomla.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
