logo

Dodatni tipovi blokova (EBT) - Novo iskustvo rada sa Layout Builder-om❗

Dodatni tipovi blokova (EBT) – stilizovani, prilagodljivi tipovi blokova: slajdšouvi, kartice sa tabovima, kartice, akordeoni i mnogi drugi. Ugrađena podešavanja za pozadinu, DOM Box, javascript dodatke. Iskusite budućnost kreiranja rasporeda već danas.

Demo EBT moduli Preuzmite EBT module

❗Dodatni tipovi pasusa (EPT) – Novo iskustvo rada sa pasusima

Dodatni tipovi pasusa (EPT) – analogni skup modula zasnovan na pasusima.

Demo EPT moduli Preuzmite EPT module

Scroll
21/06/2025, by Ivan

Ažuriranje sajta Drupal je složen, zahtevan i skup proces. To je složen problem koji na prvi pogled deluje jednostavno — obezbediti sigurna i pouzdana ažuriranja koja daju poverenje vlasnicima sajtova i dostupnost za posetioce sajta.

Servis automatskog ažuriranja za Drupal ima za cilj da pojednostavi ovaj proces i obezbedi poverenje da će ažuriranje biti pravilno primenjeno.

Napomena: automatsko ažuriranje je strateška inicijativa za Drupal projekat. Inicijativa je još uvek u fazi implementacije, pa postoje neki važni elementi na koje treba obratiti pažnju:

  • Modul automatskog ažuriranja još nije deo jezgra. U početnom obliku dostupan je kao dodatni modul na https://drupal.org/project/automatic_updates.
  • Modul je trenutno kandidat za izdanje. Stabilno izdanje se očekuje uskoro.
  • U ovoj prvoj fazi, modul automatskog ažuriranja uključuje funkcije obaveštavanja o javnim bezbednosnim saopštenjima (PSA) i provere spremnosti, i može primenjivati ažuriranja na licu mesta ručno ili putem cron-a. Ažuriranja koja uključuju izmene baze podataka izazvaće rollback (povratak na prethodnu verziju).
  • Trenutno modul ne podržava ažuriranja modula contrib ili instalacije zasnovane na Composer-u. To je planirano za Fazu 2.

Glavne karakteristike modula automatskog ažuriranja

Javna bezbednosna saopštenja (PSA)

Obaveštenja o kritičnim bezbednosnim izdanjima za jezgro i dodatne module nisu česta. Kada se objavi PSA, vlasnici sajtova treba da provere svoje sajtove kako bi bili sigurni da su informisani o najnovijim izdanjima i da je sajt spreman za brzo ažuriranje nakon što se ispravke objave zajednici.

Provere spremnosti

Nisu svi sajtovi uvek spremni za ažuriranje. Provera spremnosti je automatski metod da se utvrdi da li je sajt spreman za automatsko ažuriranje nakon objave novog izdanja. Na primer, sajtovi sa neprimenjenim ažuriranjima baze podataka, montirani na samo za čitanje fajl sistem ili sa nedovoljno slobodnog prostora na disku ne mogu primati automatska ažuriranja. Ako vaš sajt ne prođe proveru spremnosti, a objavljeno je PSA, važno je rešiti probleme spremnosti da bi sajt mogao brzo da se ažurira.

Ažuriranja na licu mesta

Kada PSA servis obavesti vlasnika Drupal sajta o dostupnom ažuriranju, a provera spremnosti potvrdi da je sajt spreman, servis automatskog ažuriranja može primeniti ažuriranje.

Određeni sajt (ili agencija ili hosting provajder) može odlučiti da ponudi dodatne opcije za obradu baze podataka. Na primer, izvršiti dump baze podataka i sačuvati ga na S3 ili poslati e-poruke/obaveštenja. I na kraju, pokrenuti ažuriranja baze podataka.

Ako pravite sopstvene korisničke akcije, imajte na umu da sve akcije koje zahtevaju kod koji se može promeniti tokom ažuriranja treba da se izvršavaju kroz namenski komandni interfejs, inače će se izvršiti stara verzija koda — to je PHP ograničenje. Primeri kako to možete uraditi mogu se videti u execute_updates pluginu, koji poziva Symfony konzolnu komandu.

Instalacija

Trenutno je modul automatskog ažuriranja Drupal-a dostupan kao dodatni modul na Drupal.org. U kasnijim iteracijama i nakon značajnog testiranja zajednice, biće uključen u Drupal jezgro. Tada će vam biti dovoljno samo da ažurirate Drupal na verziju koja sadrži ovu funkcionalnost.

Za instalaciju contrib verzije modula Automatic Updates, pratite iste korake koje biste koristili za druge module sa Drupal.org:

  1. Važno: preuzmite modul preko tarball-a. Instalacija preko Composer-a trenutno nije podržana.
  2. Zatim instalirajte modul na željeni način.

 

Ovaj resurs trenutno nije namenjen sajtovima koji koriste Composer. Pretpostavlja se da je sajt instaliran i upravljan iz arhivskih fajlova. Takođe, podržava samo ažuriranja Drupal Core. Buduće verzije modula će imati bolju podršku za Composer instalacije.

Korišćenje modula

Interaktivno korišćenje

PSA funkcija prikazuje važeća bezbednosna obaveštenja sa Drupal.org direktno u Drupal administratorskom interfejsu, da bi korisnici bili obavešteni o predstojećim izdanjima.

Provera spremnosti se redovno izvršava da bi se osiguralo da nema problema koji bi sprečili primenu ažuriranja.

Na konfiguracionoj stranici modula korisnik može ručno pokrenuti ažuriranje na licu mesta.

Automatsko korišćenje

Da biste omogućili automatska ažuriranja, označite opciju na stranici za konfiguraciju modula za pokretanje ažuriranja putem cron-a. Ažuriranja će biti primenjena samo ako sajt prođe proveru spremnosti.

Proširenje automatskih ažuriranja

Ažuriranja baze podataka mogu biti komplikovana, i vlasnici sajtova mogu imati različite potrebe za načinom obrade ovih ažuriranja. U Drupalu 8, modul automatskog ažuriranja koristi arhitekturu plugina za obradu ažuriranja baze podataka, što omogućava proširivost sistema.

Podrazumevano, sajt se stavlja u režim održavanja, pokreću se ažuriranja baze, zatim se režim održavanja isključuje. Nema korisničkog interfejsa za menjanje ovog procesa (za sada). Redosled i tok ažuriranja baze konfiguriše se u automatic_updates.settings.yml. Takođe se može prebrisati u settings.php fajlu preko $config['automatic_updates.settings']['database_update_handling'] = ['rollback', 'alternative_plugin_id', 'yet_another_plugin']. To je niz identifikatora plugina.

Dostupni plugini u okviru modula su:

  • 'execute_updates'
  • 'ignore_updates'
  • 'maintenance_mode_activate'
  • 'maintenance_mode_disactivate'
  • 'rollback'

Kao vlasnik sajta ili pružalac usluga, možete napisati dodatne plugine za dalje proširenje funkcionalnosti, na primer, plugin za pravljenje rezervnih kopija baze podataka.

Arhitektura sistema automatskog ažuriranja

Glavne komponente

Javna bezbednosna saopštenja (PSA)

PSA se obrađuju koristeći kanal PSA.json sa Drupal.org i prikazuju kroz funkciju drupal_set_message() u administratorskom interfejsu.

Provera spremnosti

Provere spremnosti su sistem plugina koji omogućava različite provere i prikaz upozorenja ili grešaka u Drupal administratorskom interfejsu.

Ažuriranja na licu mesta

Ažuriranja na licu mesta koriste heširane i potpisane "quasi-patcheve" koje kreira Drupal.org. Ovi quasi-patchevi se proveravaju pomoću php-libsodium biblioteke, dostupne od PHP verzije 5.3.

Nakon verifikacije, quasi-patch se primenjuje jednostavnim prepisivanjem fajlova koji su izmenjeni ažuriranjem.

Test funkcionalnost

U trenutnoj verziji modula Automatska ažuriranja, korisnik može uključiti test verziju PSA JSON kanala, da vidi kako će PSA informacije biti prikazane.

Da biste to uradili:

1. Omogućite modul automatic_updates_test kroz Drupal administratorski interfejs ili komandnom linijom:

$ drush pm-enable automatic_updates_test

2. Postavite URL test kanala koristeći:

$ drush vset automatic_updates_psa_endpoint http://localhost/automatic_updates/test-json

Ako pravite sopstveni test kanal, zamenite URL svojim test adresom.

Da vratite kanal na zvanični PSA kanal Drupal.org:

1. Pokrenite:

$ drush vset automatic_updates_psa_endpoint https://updates.drupal.org/psa.json

2. Onemogućite modul automatic_updates_test preko administratorskog interfejsa ili komandnom linijom:

$ drush pm-disable automatic_updates_test

 

Infrastruktura Drupal.org

Automatska ažuriranja za Drupal podržana su infrastrukturom Drupal.org i finansirana od strane Drupal Association.

Javni sigurnosni oglasi (PSA)

Drupal.org pruža JSON feed za Drupal Public Security Announcements koji koristi modul automatskog ažuriranja.

Glavni URL ovog feeda je: https://updates.drupal.org/psa.json, a testni kanal je na adresi https://updates.drupal.org/psa-this-is-only-a-test.json, koji se koristi za testiranje funkcionalnosti po potrebi.

Feed sadrži listu aktivnih PSA sa sledećim informacijama:

  • title: Naziv PSA.
  • link: URL celog PSA na Drupal.org.
  • project: kratko ime projekta na koji se PSA odnosi.
  • type: tip projekta (jezgro, modul, tema, distribucija itd.).
  • is_psa: indikator da je poruka PSA, a ne neki drugi bezbednosni savet.
  • insecure: lista verzija projekta koje su trenutno ranjive. Ova lista se ažurira nakon izdanja bezbednosnog ažuriranja, uključujući i nove ranjive verzije.
  • pubDate: datum objave PSA.

 

Na primer, ako su izdanja Drupal 7 i 8 od 8. maja 2019. - PSA-2019-05-07 i različite ranjivosti trećih strana - PSA-2019-09-04 uključeni u psa.json, feed bi izgledao ovako:

[
   {
       "title" : "Drupal 7 and 8 release on May 8th, 2019 - PSA-2019-05-07",
       "insecure" : [
           "4.7.0-beta3",
           …
           "8.7.0-rc1",
           "8.7.0",
           "8.7.4"
       ],
       "link" : "https://www.drupal.org/psa-2019-05-07",
       "pubDate" : "2019-09-20T22:09:16+00:00",
       "project" : "drupal",
       "type" : "core",
       "is_psa" : "1"
   },
   {
       "project" : "securitydrupalorg",
       "pubDate" : "2019-09-12T21:35:55+00:00",
       "is_psa" : "1",
       "type" : "module",
       "insecure" : [],
       "title" : "Various 3rd Party Vulnerabilities - PSA-2019-09-04",
       "link" : "https://www.drupal.org/psa-2019-09-04"
   }
]

Zatim modul automatskog ažuriranja analizira ovaj feed i prikazuje ga u Drupal administratorskom interfejsu. Ostali moduli ili servisi takođe mogu koristiti i prikazivati ovaj feed.

Generisanje paketa

Drupal.org sistem pakovanja je odgovoran za pravljenje .tar.gz i .zip fajlova za preuzimanje projekata na Drupal.org. Istovremeno, dok sistem radi, on ažurira Composer facade i sa dodatkom sistema automatskog ažuriranja, generiše "quasi-patcheve" koji se koriste za ažuriranje sajta putem automatic_update modula.

Potpisivanje paketa i bezbednost

Da bi se osiguralo da su "quasi-patch" paketi sigurni i proverljivi, Drupal.org koristi sistem heširanja i potpisivanja paketa zasnovan na BSD Signify projektu BSD Signify.

Drupal zajednica je napravila PHP implementaciju Signify biblioteke, dostupnu na Drupal GitHub-u: https://github.com/drupal/php-signify.

Ova biblioteka se koristi za kreiranje SHA heša iz fajlova uključenih u heš kod projekta, koji se potom potpisuju parom javnog/privatnog ključa generisanih iz HSM infrastrukture Drupal.org.

Povratne informacije

Da biste dali povratnu informaciju o ovoj prvoj generaciji modula automatskog ažuriranja, kreirajte problem u redosledu izdanja automatskih ažuriranja.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.