Artykuły

Rozwiązywanie problemów

Alternatywna wersja tytułu dla wegetarian i buddystów: Sztuka bycia sobą i rozwiązywania problemów (z Drupalem). Jeśli chcesz wyzbyć się pragnień takich jak te zilustrowane na poniższym obrazku, spróbuj skorzystać z opisanych tu wskazówek.

© blaugh.com. BY-NC-SA

Jeżeli masz problem z Drupalem, istnieje duże prawdopodobieństwo, że nie jesteś pierwszą osobą, której się on przydarzył. Może dawno temu ktoś sprytny już go rozwiązał. Może nawet rozwiązało go więcej użytkowników. Może każdy z nich zadawał wcześniej to samo pytanie… Zanim do nich dołączysz, skorzystaj z wyszukiwarki znajdującej się w tej witrynie i jeśli jeszcze nie znajdziesz odpowiedzi, pomóż sobie poniższym poradnikiem.

Taxonomy VTN - książkowy sposób prezentacji terminów

Jeśli korzystałeś kiedyś z kategorii (mam tutaj na myśli taksonomię i słowniki) w Drupalu, zapewne nie raz zadawałeś sobie pytanie: „Skoro jest taksonomia, są słowniki, terminy i segmenty, to dlaczego nie ma czegoś do wyświetlania tego wszystkiego jak w słowniku?”. Wychodząc naprzeciw temu i podobnym pytaniom, postanowiłem stworzyć to, co moim zdaniem dawno być powinno.

Pokrótce postaram się zaprezentować Wam moduł Taxonomy VTN.

Różny wygląd podstron - alternatywne szablony, arkusze i moduł Views

Pierwotna wersja tekstu została napisana w 2006 roku, a teraz doczekał się on zmian.

Przychodzi taki czas kiedy „rządca” drupalowej strony postanawia całkowicie zmodyfikować wygląd strony głównej lub stworzyć działy tematyczne. Istnieje specjalny moduł umożliwiający serwowanie użytkownikom innej strony głównej, jednak osobiście wolę korzystać z innych rozwiązań.

Wydajność witryn drupalowych

Ferrari Rossa
Ferrari Rossa

W tym artykule postaram się przedstawić garść metod na polepszenie wydajności witryn korzystających z Drupala. Chodzi w głównej mierze o szybsze ładowanie stron oraz mniejsze wykorzystanie zasobów serwera.

Jednym z narzędzi, które może pomóc zanalizować przyczynę problemów z wydajnością jest moduł Devel. Podaje on informacje o ilości zapytań, które na danej stronie kierowane są do bazy danych, a także jak dużo czasu zajęło ich wykonanie.

Moderowanie - przewodnik leniwego Drupalowicza

Militia, © Bartłomiej Stroiński
Militia, © Bartłomiej Stroiński

Powtarzane wciąż czynności moderacyjne nie należą do najbardziej ekscytujących obowiązków administratora drupalowej witryny. Jest ich dużo zwłaszcza wtedy, gdy prowadzimy forum. Najczęstsze problemy to:

  • zły temat wątku
  • nieprawidłowe formatowanie lub jego brak
  • niewłaściwe umieszczenie wątku lub odpowiedzi

Co zapewnia z kolei konieczność:

  • poinformowania autora o potrzebie wprowadzenia zmian
  • przeniesienia źle umieszczonej odpowiedzi w inne miejsce
  • wyedytowania segmentu
  • pozostawienia informacji o wprowadzonych przez administratora zmianach

Drupal, w swej standardowej konfiguracji, nie ułatwia żadnej z wymienionych czynności. Mam jednak zamiar to zmienić. Poniżej przedstawiam kilka sposobów. Jeśli możecie je ulepszyć, napiszcie o tym.

Edytor wpisów bezpieczny i wygodny

Możliwość formatowania tekstu przez użytkowników witryny jest cenna, na pewno jednak nie chcemy dawać każdemu dostępu do wszystkich znaczników. Drugą kwestią jest tag soup i niesemantyczny kod, co – w gruncie rzeczy – oznacza konieczność pozbycia się wybranego doctype ze źródła strony.

Filtry takie jak htmLawed czy HTML Purifier, mające zapewnić czysty kod, nie do końca spełniają swoje zadanie. Obydwa pomijają na przykład kwestię pustych elementów (puste znaczniki <ul></ul>) i w wielu przypadkach niepoprawnie rozpoznają intencje autora „zupy z tagów”. Wbudowany w Drupala filtr HTML jest jeszcze bardziej prymitywny.

Alternatywne systemy wyszukiwania

Magnify, © Davide Guglielmo
Magnify, © Davide Guglielmo

Search okazuje się być często zbyt zasobożernym, zwłaszcza w przypadku popularnych stron. Zapytania kierowane przez niego do bazy danych mogą trwać bardzo długo i obejmować wiele rekordów. Jeśli przyjdzie Wam z niego zrezygnować, oto kilka innych rozwiązań.

Fuzzy Search to stworzony specjalnie dla Drupala, alternatywny moduł wyszukiwawczy. Wyszukiwarka ta została przygotowana podczas Google Summer of Code 2007 i wprowadza kilka udogodnień, jak na przykład możliwość przeszukiwania pól CCK.

Obrazki + listy definicji + Drupal

Artykuł został zaktualizowany dla wersji 5.x-1.4 modułu Image.

Na łamach letwist pisałem już o wstawianiu grafik przy pomocy list definicji. Teraz opiszę jak „wdrożyć” ten pomysł do Drupala. Trzy podstawowe zalety tej modyfikacji to:

  • brak konieczności wprowadzania znaczników ręcznie
  • rozwiązanie problemu z walidacją kodu
  • rozwiązanie problemu z Internet Explorerem

Spam, spam, spam

Spam, © Hormel Foods Sales, LLC
Spam, © Hormel Foods Sales, LLC

Drupal, w opinii niektórych użytkowników, stał się niedawno obiektem szczególnego zainteresowania spamerów. Skoro, jak wieść gminna niesie, jest tak dobry pod względem przyjazności dla wyszukiwarek, warto na tym skorzystać i zaprzyjaźnic z wyszukiwarkami nasze strony – myślą pewnie. A potem już tylko obserwować przyrost bezsensownych wpisów wypełnionych odnośnikami reklamowymi, lub – jeśli spamerskie konto usuniemy – informacji w dzienniku Drupala o niemożności zalogowania się, ułomnego jednak, robocika.

Sposobów obrony przed spamem jest co najmniej kilka. Moduł Captcha każe odwiedzającym rozwiązać proste dodawanie (zaczaja się w wybranych przez administratora miejscach), a inna jego wersja prezentuje najpopularniejszy rodzaj testu – obrazek, przedstawiający znaki, które należy przepisać. Ten sposób walki z użytkownikiem zajmuje jedno z najwyższych miejsc na mojej liście uprzykrzaczy websurfingu, dlatego sam pozostaję przy teście dodawania – na letwist należycie spełnia swoje zadanie (dodatkowym utrudnieniem dla robotów spamerskich jest tu pewnie nie-angielska instrukcja do testu).

Tekst informacyjny przed formularzem komentarza

Stanąłem przed problemem umieszczenia tekstu informacyjnego wyświetlanego podczas wprowadzania komentarzy przy formularzu. Tekst taki miałby informować np. o moderacji lub regulaminie obowiązującym podczas komentowania artykułów.

Za wyświetlany tekst będzie odpowiedzialna konfiguracja skórki, a dokładniej zbiór template.php skórki. W katalogu skórki tworzymy ten zbiór lub jeśli istnieje edytujemy go i wprowadzamy nową funkcję o nazwie: nazwa-skórki_comment_form($form)

Własne profile w Drupalu

Zastanawiałeś się czasem jak uatrakcyjnić profile użytkowników na swojej stronie? Te które są dostępne w standardzie nie wyglądają specjalnie atrakcyjnie – a wystarczy godzinka pracy i kilka ciekawych pomysłów, aby nabrały całkiem innego wymiaru. W dodatku wszystko zrobimy z pomocą potężnego systemu drupalowych szablonów (a więc brzuszek – rdzeń – naszego kropelka pozostanie bez zmian, co jest ważną cechą tej metody w kontekście aktualizacji do nowszych wersji drupala).

Jak wyświetlić strukturę książki na stronie

Postanowiłem oprzeć czytelnię mojej strony dla gitarzystów basowych na module book (książka). Stworzyłem kilka książek (lekcje, recenzje, biografie, teoria). Wymyśliłem też, że ładnie by wyglądała strona, na której można by zobaczyć ileś tam ostatnich artykułów z każdej książki, tak aby dział „Czytelnia” był bardziej dla użytkowników przyjazny.

Jak wyświetlić listę terminów ze słownika

Właśnie stanąłem przed zadaniem, jak wyświetlić alfabetycznie listę terminów z konkretnego słownika (kategorii). Po przeszukaniu strony Drupal.org znalazłem rozwiązanie i trochę je zmodyfikowałem.

Na początku musimy znać numer naszego słownika, aby go poznać należy w Panelu Administracyjnym wybrać Kategorie z menu ZarządzajZarządzanie zawartością. Następnie po wybraniu Edytuj słownik przy naszym słowniku, w pasku URL dostaniemy jego numer.

Własne arkusze stylów

Drupal wyposaża witrynę w ogromną ilość reguł CSS. Jeśli chcemy załączyć dodatkowe arkusze stylów (na przykład dla poszczególnych działów witryny), należy skorzystać z rekomendowanej funkcji drupal_add_css.

Jednak dla twórcy, który chce sam zaprojektować cały wygląd witryny i uzależnić korzystanie z poszczególnych arkuszy stylów od, na przykład, adresu podstrony, nie jest to najlepsze rozwiązanie, ponieważ arkusze dodane w ten sposób zostaną umieszczone wraz z dziesiątkami arkuszy udostępnianych przez moduły.

Aktualizacja - łatanie i porównywanie plików

Artykuł został zaktualizowany 5 stycznia 2007 roku. Dodano opis skryptu ułatwiającego łatanie katalogów.

Nawet złowrogi Sith, przebywający na co dzień po ciemnej stronie mocy, musi sobie coś czasem załatać. Inaczej mówiąc: i użytkownik Windows musi (bądź chce) mieć czasem do czynienia z łatami (*.patch).

Omówione sytuacje

  1. Co pewien czas pojawiają się nowe wersje Drupala, których wydanie podyktowane zostało wykryciem luk bezpieczeństwa. Czy nie znudziło się już Wam wysyłanie od nowa całej paczki z Drupalem?
  2. Denerwuje Was jakiś mniej znany błąd lub chcecie skorzystać z łatki dodającej niestandardowe funkcje? Mozolnie ślęczycie nad edytorem, kopiując i wklejając odpowiednie linijki?
  3. A może chcecie stworzyć własną łatkę, by móc później automatycznie dodawać poczynione przez siebie modyfikacje do oryginalnych plików?