Porady
Informowanie o aktualizacjach stron
Na niektórych stronach Drupal Polska
(na przykład tutaj; w przyszłości będzie ich więcej) dostępne są specjalne kanały RSS z informacjami o aktualizacjach.
Nie widzę sensu w tworzeniu osobnych wpisów tylko po to, by poinformować odwiedzających o aktualizacji danej strony, dlatego stworzyłem moduł umożliwiający wygodne tworzenie kanałów informacyjnych dla każdego z wpisów witryny.
Własny patch do nowej wersji Drupala
Z każdym wydaniem nowej wersji Drupala, oprócz archiwum tar dostarczany jest patch
pozwalający szybko uaktualnić system.
Prawdopodobnie większość z nas podczas archiwizacji, najpierw usuwa zbiory i katalogi z wyjątkiem konfiguracyjnych, katalogu files, własnych skórek itp. Następnie rozpakowuje nowe archiwum tak aby zastąpiło usunięte zbiory. Taki proces aktualizacji może nieść za sobą ryzyko usunięcia potrzebnych danych (administratorzy dobrze wiedzą, że archiwizacja danych i bezpieczne podejście do tematu aktualizacji niestety nie jest powszechne) i w przypadku aktualizacji wielu stron jest nieco kłopotliwe.
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.
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.
Wydajność witryn drupalowych
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
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.
Aktualizowanie modułów
Okresowo sprawdzaj, czy nie pojawiły się nowe wersje zainstalowanych modułów. Mogą one wnosić istotne poprawki, także te z zakresu bezpieczeństwa witryny.
By zaktualizować moduł, pobierz nową wersję i umieść pliki na serwerze. Następnie odwiedź podstronę update.php swojej witryny, by sprawdzić, czy nie należy dokonać aktualizacji tabel bazy danych.
W przeważającej liczbie przypadków aktualizacja nie stanowi zagrożenia dla danych utworzonych przez moduł ani jego ustawień.
Alternatywne systemy wyszukiwania
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
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
UWAGA – artykuł odnosi się do Drupala w wersji 4.7.3!
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ądzaj
→ Zarządzanie zawartością
. Następnie po wybraniu Edytuj słownik
przy naszym słowniku, w pasku URL dostaniemy jego numer.



