<?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; komponenty</title>
	<atom:link href="http://oneshot-solutions.pl/blog/tag/komponenty/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>Sat, 19 Mar 2011 13:24:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>8 komponentów, które MUSISZ znać</title>
		<link>http://oneshot-solutions.pl/blog/8-komponentow-ktore-musisz-znac.html</link>
		<comments>http://oneshot-solutions.pl/blog/8-komponentow-ktore-musisz-znac.html#comments</comments>
		<pubDate>Mon, 25 May 2009 11:33:46 +0000</pubDate>
		<dc:creator>Jacek Kowalczyk</dc:creator>
				<category><![CDATA[Recenzje]]></category>
		<category><![CDATA[community builder]]></category>
		<category><![CDATA[DocMAN]]></category>
		<category><![CDATA[JCE]]></category>
		<category><![CDATA[JED]]></category>
		<category><![CDATA[JoomlaPack]]></category>
		<category><![CDATA[komponenty]]></category>
		<category><![CDATA[Kunena]]></category>
		<category><![CDATA[lista]]></category>
		<category><![CDATA[SOBI2]]></category>
		<category><![CDATA[TinyMCE]]></category>
		<category><![CDATA[VirtueMart]]></category>

		<guid isPermaLink="false">http://onejoomla.org/?p=391</guid>
		<description><![CDATA[Poniżej przedstawiam listę ośmiu komponentów które według mnie powinien znać każdy Joomlowiec. Są to komponenty bardzo popularne, często wykorzystywane i... <a class="more-link" href="http://oneshot-solutions.pl/blog/8-komponentow-ktore-musisz-znac.html">czytaj całość</a>]]></description>
			<content:encoded><![CDATA[<p>Poniżej przedstawiam listę ośmiu komponentów które według mnie powinien znać każdy Joomlowiec. Są to komponenty bardzo popularne, często wykorzystywane i otrzymujące wysokie noty na JED.</p>
<p>Jeżeli coś pominąłem, albo może jakiś komponent przeceniłem wpisując go na listę, zapraszam do komentowania.</p>
<p><span id="more-391"></span></p>
<h2>1. JoomlaPack</h2>
<p><a href="http://extensions.joomla.org/extensions/access-&amp;-security/backup/1606/details">Zobacz JoomlaPack na JED</a> | <a href="http://joomlapack.net/">Oficjalna strona JoomlaPack</a></p>
<p>Jeden z najlepiej zaprojektowanych, przemyślanych,  a co najważniejsze przydatnych komponentów. Nie próbuję udawać, że robi wszystko i jeszcze więcej. Robi jedną rzecz. Konkretną rzecz i robi to wyśmienicie. Mowa oczywiście o <strong>kopiach zapasowych</strong>, <strong>kopiach bezpieczeństwa</strong>.</p>
<p>Przy pomocy JoomlaPack z łatwością wykonamy kopię całej naszej strony postawionej na Joomla! &#8211; zarówno plików jak i bazy danych. Kopie możemy później przywracać, oraz możemy je odtwarzać na innym serwerze &#8211; absolutne zbawienie dla developerów prznoszących strony z serwerów testowych na produkcyjne.</p>
<p>Oprócz oczywistego wykorzystania, JoomlaPack można również używać (a przynajmniej ja używam) do tworzenia spersonalizowanych wersji Joomla!. Jeżeli postawiłeś już kilka stron Joomla, prawdopodobnie już zmęczyło Cię wgrywanie paczek instalacyjnych na serwer tradycyjną metodą. Wykorzystyjąc JoomlaPack możesz zainstalować sobie lokalnie Joomla! wgrać wszystkie swoje ulubione rozszerzenia, następnie zrobić kopię, i zamiast wgrywać na serwer kilka tysięcy plików wystarczą dwa: paczka .zip i magiczny kickstart.php.</p>
<h2>2. JCE</h2>
<p><a href="http://extensions.joomla.org/extensions/edition/editors/88/details">Zobacz JCE na JED</a> | <a href="http://www.joomlacontenteditor.net/">Oficjalna strona JCE</a></p>
<p>Edytor do Joomla! składający się w głównej części z komponentu administracyjnego do zarządzania, oraz z wtyczki typu &#8222;editor&#8221;.</p>
<p>Komponent oparty jest na tym samym skrypcie co ten domyślnie wbudowany w Joomla! (<a href="http://tinymce.moxiecode.com/">TinyMCE</a>). Jego wyższość polega przede wszystkim na systemie dodatków, systemie zarządzania uprawnieniami, oraz bardzo przyjaznym i intuicyjnym okienkom do wstawiania zdjęć oraz linków do treści artykułów.</p>
<p>Aboslutnie obowiązkowy jeżeli budujemy np. portal z kilkoma grupami użytkowników, którym chcemy przypisywać różne prawa co do możliwości edycji artykułów (np. jedna grupa może wstawiać zdjęcia, inna nie może).</p>
<p>Jedyną wadą tego komponentu, aczkolwiek dość uciążliwą jest brak polskiej wersji językowej. Na <a href="http://forum.joomla.pl/">polskim forum joomla</a> wielu próbowało, nikt jeszcze nie doprowadził sprawy do końca.</p>
<h2>3. Joom!Fish</h2>
<p><a href="http://extensions.joomla.org/extensions/languages/multi%252dlingual-content/460/details">Zobacz Joom!Fish na JED</a> | <a href="http://www.joomfish.net/">Oficjalna strona Joom!Fish</a></p>
<p>Joom!Fish to komponent pozwalający na prowadzenie serwisu w kilku językach jednocześnie. Pozwala na zarządzanie językami i tłumaczenie poszczególnych elementów strony. Jeżeli chcemy tłumaczyć niestandardowe elementy strony, np. obiekty należące do jakiegoś rozszerzenia, musimy się zaopatrzeć w odpowiednią wtyczkę do Joom!Fisha. Na stronach większości producentów rozszerzeń znajdziemy takie wtyczki, ale nie na wszystkich. Planując serwis warto to sprawdzić.</p>
<p>Osobiście uważam, że Joom!Fish jest rozwiązaniem dość dalekim od ideału, mimo to, jest najlepszy z obecnie dostępnych. Znać trzeba go obowiązkowo.</p>
<h2>4. SOBI2</h2>
<p><a href="http://extensions.joomla.org/extensions/directory-&amp;-documentation/directory/1113/details">Zobacz SOBI2 na JED</a> | <a href="http://www.sigsiu.net/sobi2.html">Oficjalna strona SOBI2</a></p>
<p>SOBI2 (Sigsiu Online Business Index 2) to komponent służący do tworzenia złożonych katalogów (np. firm albo produktów). Dzięki olbrzymiej ilości dodatków i wtyczek jest bardzo elastyczny i daje się go zastosować w różnych niestandardowych sytuacjach &#8211; nieźle sprawdza się między innymi jako galeria zdjęć.</p>
<h2>5. CommunityBuilder</h2>
<p><a href="http://extensions.joomla.org/extensions/communities-&amp;-groupware/communities/210/details">Zobacz CommunityBuilder na JED</a> | <a href="http://www.joomlapolis.com/">Oficjalna strona CommunityBuilder</a></p>
<p>CommnityBuilder to najbardziej rozpowszechniony komponent służący do budowanie wirtualnej społeczności w oparciu o Joomla!. Dzięki niemu każdy użytkownik będzie posiadał własny profil z możliwością edycji. W komponencie można ustawić jakie informacje będą znajdowały się w profilu.</p>
<p>CB posiada bardzo dużo wtyczek integrujących go z różnymi innymi popularnymi komponentami. Dzięki temu w profilu naszych użytkowników będziemy mogli prezentować dodane przez nich wpisy na forum, zdjęcia, pliki, artykuły i co tam dusza zapragnie.</p>
<p>Jak dla mnie sporą wadą CB jest to, że posiada on własny framework programistyczny, który jest nieco obok frameworka Joomla!. Ma to swoje zalety, bo dzięki temu stosunkowo łatwo można tworzyć do niego swoje dodatki i modyfikacje. Możliwości CommunityBuildera nie da się przecenić, ale jeżeli chcemy w oparciu o niego tworzyć oryginalne i zaawansowane społeczności będziemy potrzebowali sporo umiejętności z zakresu PHP/XHTML/CSS.</p>
<h2>6. DocMAN</h2>
<p><a href="http://extensions.joomla.org/extensions/82/details">Zobacz DocMAN na JED</a> | <a href="http://www.joomlatools.eu/products/docman.html">Oficjalna strona DocMAN</a></p>
<p>DocMAN to komponent do zarządzania plikami, czy po prostu działem download strony. Jedne z najdłużej dostępnych kompoentów tego typu. Udostępnia sporo opocji takich jak umieszczenie dodatkowych informacji o plikach, dzielenie plików na kategorie itp. Oprócz podstawowych opcji dostępnych jest sporo wtyczek integrujących go z innymi popularnymi komponentami. Sporym minusem tego komponentu, jest przechowywanie wszystkich dodanych do systemu plików w jednym fiyzcznych katalogu na serwerze.</p>
<p>Nie jestem wielkim entuzjastom tego rozwiązania, natomiast rozszerzenie to jest na tyle popularne, że na tej liście musiało się znaleźć.</p>
<h2>7. VirtueMart</h2>
<p><a href="http://extensions.joomla.org/extensions/82/details">Zobacz VirtueMart na JED</a> | <a href="http://virtuemart.com/">Oficjalna strona VirtueMart</a></p>
<p>&#8222;Komponent&#8221; to trochę małe słowo jak na tak złożony i rozbudowany system jakim jest VM, no ale jakoś klasyfikować trzeba. VirtueMart to kompletny system sklepu internetowego, katalogu produktów i koszyka zakupów. Uwzględnia takie rzeczy jak: różne metody płatności, wiele sposobów wysyłki, definiowane przez użytkownika parametry produktów, wiele zdjęć na produky itp itd. Dystrybuowany w zestawie z kilkoma bardzo przydatnymi modułami.</p>
<p>VirtueMart to bardzo potężne rozwiązanie w mojej ocenie nie odstępujące od niezależnych open-source&#8217;owych platform e-commerce (t.j. osCommerce). Szkoda (podobnie jak w większości pozostałych komponentów na tej liście), że w tak małym stopniu wykorzystuje możliwości elastyczność nowego frameworka Joomla! 1.5. Z tego powodu stworzenie sklepu wyglądającego inaczej niż tysiące innych sklepów wykorzystujących VM jest nie lada wyzwaniem programistyczno-koderskim.</p>
<p>Warto zainteresować się również polską paczką zawierającą Joomla!, VM, spolszczenie a także kilka drobnych modyfikacji sprowadzających cały system do polskich realiów.</p>
<h2>8. Kunena</h2>
<p><a href="http://extensions.joomla.org/extensions/communication/forum/7256/details">Zobacz Kunena na JED</a> | <a href="http://www.kunena.com/">Oficjalna strona Kunena</a></p>
<p>Kunena to następca FireBoarda, który z kolei był następcą JoomlaBoarda. Według mnie jest w dalszym ciągu najlepsze dostępne pod Joomla! forum. Rozwija się dość dynamicznie, można więc mieć nadzieję, że aktualizacje będą się ukazywać i wszystko będzie działało coraz lepiej.</p>
<p>Kunena udostępnia szereg funkcji których moglibyśmy się spodziewać po skrypcie tego typu, jednocześnie nie przeraża ilością różnorakich ustawień i parametrów, i zachowuje (na ile to możliwe) interfejs Joomla!.</p>
<p>Zdecydowanie warto się z tym komponentem zapoznać.</p>
]]></content:encoded>
			<wfw:commentRss>http://oneshot-solutions.pl/blog/8-komponentow-ktore-musisz-znac.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<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>Extend &#8211; nowy pomysł na zarządzanie treścią</title>
		<link>http://oneshot-solutions.pl/blog/extend.html</link>
		<comments>http://oneshot-solutions.pl/blog/extend.html#comments</comments>
		<pubDate>Thu, 04 Sep 2008 16:31:02 +0000</pubDate>
		<dc:creator>Jacek Kowalczyk</dc:creator>
				<category><![CDATA[Recenzje]]></category>
		<category><![CDATA[extend]]></category>
		<category><![CDATA[komponenty]]></category>

		<guid isPermaLink="false">http://onejoomla.org/?p=17</guid>
		<description><![CDATA[Tutaj można znaleźć informacje dotyczące jednego z projektów z tegorocznego Google Summer of Code. Projekt nosi nazwę Extend, a dotyczy... <a class="more-link" href="http://oneshot-solutions.pl/blog/extend.html">czytaj całość</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://developer.joomla.org/gsoc2008/content-type-management/">Tutaj</a> można znaleźć informacje dotyczące jednego z projektów z tegorocznego Google Summer of Code.</p>
<p>Projekt nosi nazwę Extend, a dotyczy bardzo szczególnego zagadnienia jakim jest Content Type Management, czyli zarządzanie typami treści. Sam pomysł nie jest nowy, ponieważ został już jakiś czas zaimplementowany w komercyjnym komponencie <a href="http://extensions.joomla.org/component/option,com_mtree/task,viewlink/link_id,4021/Itemid,35/">JoomSuite Content</a>. Jak da się zauważyć chociażby w komentarzach nie jest to komponent idealny, a największą jego wadą jest brak dostępu do źródeł które zostały zaszyfrowane przez IonCube.</p>
<h2>Dlaczego ten pomysł jest interesujący?</h2>
<p>Extend rozwiązuje jeden z podstawowych problemów dotyczących Joomla: do wszystkiego potrzebny jest komponent. Z czystą instalacją Joomla 1.5.x daleko nie zajdziemy. Jeżeli potrzebujemy galerii zdjęć, formularza czy nawet najprostszego katalogu produktów, będziemy zmuszeni przeglądać stosy dostępnych dodatków szukając jednego który spełni nasze wymagania nie dodając 10 niepotrzebnych plików .js. Dzięki Extend, będziemy mogli definiować nowe rodzaje treści, i zarządzać nimi tak jak standardowymi artykułami Joomla.</p>
<p>Dla przykładu, moglibyśmy stworzyć nowy typ treści &#8222;Zdjęcie&#8221;, który zawierałby dwa pola: URL zdjęcia oraz opis HTML. Następnie dla stworzonego typu treści tworzymy kilka kategorii, i nasza galeria gotowa, bez potrzeby instalowania żadnych dodatków.</p>
<p>Nie ukrywam, że ten komponent bardzo mi się podoba. Mam tylko nadzieję, że autor dostarczy wkrótce odpowiednią ilość pól (Field Types), aby można było się nim sprawnie posługiwać. Jak na razie musimy się zadowolić obiecującą, choć niezbyt funkcjonalną wersją beta 2. Oby dalej się rozwijał i został wkrótce włączony do jądra Joomla. Trzymam kciuki!</p>
]]></content:encoded>
			<wfw:commentRss>http://oneshot-solutions.pl/blog/extend.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

