Moduł Drupal Scheduler – czym jest i do czego służy?
Scheduler to jedno z wielu rozszerzeń społeczności Drupala, ułatwiające zarządzanie treścią na stronach zbudowanych w oparciu o ten CMS. System cechuje się niezwykle wysoką wydajnością przy dużej ilości zawartości i nierzadko jest wybierany przez rozbudowane serwisy. W związku z tym pojawiła się potrzeba na efektywniejsze i zautomatyzowane możliwości publikacji.
Moduł Scheduler – najważniejsze informacje
Moduł Scheduler – najważniejsze informacje
Szczególne daty
15.11.2006 (pierwsze wydanie Drupala 4),
12.03.2011 (wersja 7.x-1.0 Drupal 7),
14.11.2017 (wersja 8.x-1.0 Drupal 8),
07.07.2022 (wersja 2.0.0 Drupal 8, 9, 10),
- popularność – moduł jest obecnie wykorzystywany przez prawie 95 tys. stron,
- funkcja planowania publikacji/cofania publikacji treści,
- integracja z modułem Content Moderation przez submoduł,
- dostępność uprawnień pozwalających na zdefiniowanie, które role mają mieć dostęp do funkcji.
Wersja 1.0 vs 2.0
Wersja 1.0 vs 2.0
Wraz z publikacją najnowszej wersji modułu autorzy poza wsparciem podstawowego typu encji node wprowadzili obsługę taksonomii, mediów, elementów Drupal Commerce i indywidualnie tworzonych typów. Dodatkowo w związku z planowanym zakończeniem wsparcia Drupala 7 doszła możliwość migracji ustawień do nowszych wersji systemu.
Instalacja modułu
Instalacja modułu
Moduł możesz zainstalować ręcznie lub przy pomocy Composera (zalecana opcja). Szczegółowe informacje o rozszerzeniu znajdziesz na stronie modułu.
Wykonaj polecenie dostępne w sekcji Releases z poziomu wiersza poleceń: composer require 'drupal/scheduler:^2.0'.
Włącz moduł z poziomu panelu CMS (zakładka Extend).
Skonfiguruj uprawnienia.
Autorzy modułu bazowo przewidzieli trzy grupy uprawnień:
- administracja modułem (uprawnienia konfiguracji dla administratorów),
- podgląd planowanych treści (dostęp do listingów zawartości m.in. /admin/content/scheduled, /admin/content/media/scheduled),
- ustawienia czasu publikacji.
Jak korzystać z modułu Scheduler w Drupalu?
Jak korzystać z modułu Scheduler w Drupalu?
Pierwszym krokiem, jaki należy wykonać po pomyślnym zainstalowaniu modułu, jest konfiguracja zawartości, którą chcesz za jego pomocą kontrolować. Domyślnie obsługiwane są taxonomy, content types oraz media.
Załóżmy, że chcesz zaplanować publikację artykułów na blogu. W tym celu należy przejść do zarządzania typem zawartości Blog post (Administration -> Structure -> Content types -> Blog post) i z poziomu zakładki Scheduler masz możliwość włączenia opcji publikacji i jej cofania dla wybranej przez Ciebie treści.
Po zaznaczeniu interesującej Cię opcji pojawią się dodatkowe, np.:
- czy planowanie publikacji ma być wymagane?
- czy tworzyć nowe rewizje podczas publikacji?
Jeśli użytkownik ma uprawnienia umożliwiające dostęp do funkcji, w momencie dodawania/edycji treści będzie miał od teraz dodatkową opcję w zakładkach Scheduling options.
Pozostawienie tego miejsca bez wartości nie wpłynie w żaden sposób na dotychczasowy sposób publikacji, natomiast wpisanie daty i czasu spowoduje, że zawartość będzie dostępna dopiero w określonym terminie. Na załączonym zrzucie widać czas w formacie h:i:s. Należy jednak pamiętać, że moduł Scheduler działa w oparciu o cron. Oznacza to, że nawet jeśli redaktor zaplanuje udostępnienie danej treści na godzinę 18:00, to realnie zadanie zostanie zrealizowane dopiero w momencie kolejnego wywołania cyklu harmonogramu. Dlatego dokładność do sekund w tym wypadku nie jest pożądanym ustawieniem i jeśli powrócisz do podstawowych ustawień modułu, masz opcję zmiany tego zachowania w zakładce Time settings -> Hide the seconds.
Lightweight cron
Lightweight cron
Lightweight cron to szczególnie interesująca opcja, jeśli masz bardzo dokładne wymagania co do czasu publikacji. Jak wspomnieliśmy, moduł Scheduler działa w oparciu o cron. Zbyt częste wywoływanie wszystkich zadań Drupala może wiązać się z niepotrzebnym obciążeniem i pogorszeniem wydajności. W tym miejscu z pomocą przychodzi funkcja Lightweight cron. Jest to nic innego jak możliwość wywoływania jednego konkretnego zadania, odpowiadającego za realizację publikacji treści.
Konfiguracja jest dostępna jako druga zakładka w module (/admin/config/content/scheduler/cron) i wymaga od administratora ustawienia klucza dostępu, jaki będzie wymagany wraz z wysłanym zapytaniem wywołującym na adres scheduler/cron/{access key}.
W celu ułatwienia kontroli nad planowanymi treściami z perspektywy administratorów/redaktorów moduł zapewnia widoki przedstawiające podgląd treści mających zaplanowaną publikację. Wejdź na Content -> Scheduled Content lub bezpośrednio przez link /admin/content/scheduled.
Wygląd widoku powinien być znany wszystkim użytkownikom Drupala, ponieważ jest zbliżony do zwykłego listingu treści. Natomiast możesz w nim znaleźć dodatkowe kolumny – Publish on i Unpublish on. Włączając sortowanie, możesz podejrzeć zawartość w takiej kolejności, w jakiej będzie publikowana. Analogiczny widok jest dostępny dla mediów.
Moduł podrzędny Scheduler Rules Integration
Moduł podrzędny Scheduler Rules Integration
Domyślnie razem z modułem Scheduler administrator otrzymuje podmoduł umożliwiający integrację z również bardzo popularnym Rules. Podmoduł można wykorzystać w celu wykonywania zadań jako reakcję na zaistniałe zdarzenia w systemie. Ten element z pewnością doceni grono bardziej zaawansowanych użytkowników. Po jego włączeniu podczas tworzenia reguł będą dostępne dodatkowe opcje przedstawione na poniższym zrzucie ekranu.
Podsumowanie
Podsumowanie
Scheduler jest rozwiązaniem wyraźnie usprawniającym zarządzanie treścią na stronach internetowych opartych o Drupala. Rozszerzenie tak podstawowej funkcji CMSa, jak publikacja treści daje redaktorom dodatkową możliwość planowania i znacząco rozszerza sposoby interakcji z zawartością. Jest niezastąpiony w przypadku witryn publikujących duże liczby artykułów oraz tych, gdzie wymagany jest konkretny moment pojawienia się i usunięcia treści. Z modułu możesz skorzystać na przykład wtedy, kiedy chcesz trafić z publikacją na godziny, w których aktywność użytkowników jest statystycznie największa, co może pozytywnie wpłynąć na zasięg zawartości.
Kolejnym przykładem mogą być planowane kampanie marketingowe, gdzie częścią strategii będzie publikacja treści w określonym czasie. Ciężko wyobrazić sobie sytuację, w której redaktor jest zmuszony ręcznie włączać/wyłączać widoczność contentu o określonych porach. Jest to również obarczone małym marginesem błędu i wiąże się z prawdopodobnym opóźnieniem publikacji, jeśli zwyczajnie o niej zapomnisz. Z drugiej strony, cofanie zawartości z pewnością znajdzie zastosowanie w przypadku treści o określonym „terminie przydatności” – wszelkiego rodzaju zaproszeniami na wydarzenia, które po dacie eventu stają się nieaktualne, lub tymczasowymi komunikatami.
Podstawowa konfiguracja modułu jest w miarę prosta i każdy powinien sobie bez problemów poradzić z jej przeprowadzeniem, dzięki czemu jest to również przystępne rozwiązanie dla osób nieposiadających obszernej wiedzy technicznej. Jeśli jednak masz problemy z zainstalowaniem i skonfigurowaniem modułu, zwróć się o pomoc do ekspertów.