Arendus Drupal Views

Drupal Views – mis see on ja millal sellest ei piisa

🎧 Kuula kõiki artikleid järjest

Drupal Views võimaldab luua andmebaasipäringuid visuaalse liidese kaudu. See katab suure osa sisukuvamise vajadustest, kuid mitte kõiki.

Mis on Drupal Views?

Views on üks Drupali olulisemaid tuumfunktsioone. See võimaldab koostada andmebaasipäringuid visuaalse liidese kaudu ilma SQL-i kirjutamata.

Arendaja või sisuhaldur saab määrata:

  • millist sisu kuvada;
  • milliseid välju näidata;
  • kuidas tulemusi filtreerida;
  • kuidas neid sortida;
  • millises formaadis neid esitada.

Peaaegu iga Drupal-projekti puhul kasutatakse Views-i.

Näiteks:

  • uudiste nimekirjad;
  • blogi arhiivid;
  • sündmuste kalendrid;
  • seotud artiklid;
  • töötajate kataloogid;
  • toodete loendid;
  • otsingutulemused;
  • administraatorivaated.

Views ei ole lihtsalt nimekirjade tööriist. Seda kasutatakse ka plokkide, RSS-voogude, eksportide ja API-põhiste väljundite loomiseks.

Miks Views on Drupali üks suurimaid tugevusi?

Enne Views-i populaarsust tuli enamik sisuloendeid ehitada kohandatud PHP ja SQL abil.

Views võimaldab sama töö teha konfiguratsiooniga.

See tähendab:

  • vähem arendust;
  • vähem vigu;
  • kiiremat tarneaega;
  • lihtsamat hooldust;
  • väiksemat tehnilist võlga.

Paljud Drupal-projektid sisaldavad kümneid või isegi sadu Views-e, ilma et oleks vaja kirjutada ühtegi kohandatud päringut.

Mida Views hästi teeb?

Filtreerimine

Views võimaldab kuvada ainult soovitud sisu.

Näiteks:

  • ainult avaldatud artiklid;
  • ainult tulevased sündmused;
  • ainult kindla kategooria kirjed;
  • ainult konkreetse autori sisu.

Filtreid saab kombineerida väga paindlikult.

Sortimine

Tulemusi saab järjestada:

  • kuupäeva järgi;
  • pealkirja järgi;
  • populaarsuse järgi;
  • käsitsi määratud järjestuse järgi.

Contextual Filters

Contextual filterid võimaldavad kasutada URL-ist või kontekstist saadud väärtusi.

Näiteks:

text
/blog/kategooria/drupal

võib automaatselt kuvada ainult Drupaliga seotud artikleid.

See võimaldab luua dünaamilisi vaateid ilma eraldi Views-e dubleerimata.

Suhted (Relationships)

Views suudab kuvada seotud entity välju.

Näiteks saab artikli loendis kuvada:

  • autori nime;
  • autori pilti;
  • seotud kategooriaid;
  • viidatud sisu välju.

See võimaldab ehitada keerukaid andmemudeleid ilma SQL JOIN-e kirjutamata.

Cache ja jõudlus

Views kasutab Drupali cache-süsteemi.

Õigesti seadistatud cache võib vähendada andmebaasikoormust märgatavalt.

Probleemid tekivad siis, kui:

  • cache on täielikult välja lülitatud;
  • kasutatakse liiga palju dünaamilisi filtreid;
  • päringud ühendavad palju tabeleid;
  • vaadet kasutatakse suure liiklusega lehtedel.

Suuremates projektides tasub alati kontrollida:

  • SQL päringu keerukust;
  • cache seadeid;
  • renderduskiirust;
  • andmebaasi indekseid.

Millal Views ei piisa?

Keerukas äriloogika

Views on päringumootor, mitte äriloogika mootor.

Näiteks:

> kuva kõik tooted, mille lõpphind pärast kampaaniaid ja kliendipõhiseid allahindlusi on alla 50 euro.

Sellised dünaamilised arvutused ei sobi hästi Views-i.

Sellisel juhul on mõistlik kasutada kohandatud teenuseid või mooduleid.

Välised andmeallikad

Views töötab kõige paremini Drupali andmetega.

Kui andmed tulevad:

  • ERP-st;
  • CRM-ist;
  • välisest API-st;
  • teisest andmebaasist;

on vaja täiendavat integratsioonikihti või kohandatud lahendust.

Väga suured andmemahud

Views genereerib SQL päringud automaatselt.

Kui andmebaasis on sadu tuhandeid või miljoneid ridu, võivad keerukad vaated muutuda aeglaseks.

Sellistes olukordades kasutatakse sageli:

  • Search API-t;
  • Solr-it;
  • Elasticsearchit;
  • kohandatud päringuid.

Reaalajas andmed

Views ei ole mõeldud reaalajas uueneva info jaoks.

Näiteks:

  • aktsiahinnad;
  • live statistika;
  • chat süsteemid;
  • reaalajas monitooring.

Need lahendatakse tavaliselt API-de ja JavaScripti abil.

Millal kasutada Search API-t?

Kui eesmärk on otsing või suure mahu filtreerimine, on Search API sageli parem valik.

Koos Solr-i või Elasticsearchiga võimaldab see:

  • kiiret täistekstiotsingut;
  • keerukamaid filtreid;
  • paremat jõudlust;
  • suuremat skaleeritavust.

Paljud suuremad Drupal projektid kasutavad Search API tulemuste kuvamiseks siiski Views-i.

Kuidas Views-i jõudlust hinnata?

Drupal võimaldab vaadata Views-i genereeritud SQL päringuid.

Suuremate projektide puhul tasub kontrollida:

  • Query Preview väljundit;
  • andmebaasi EXPLAIN analüüsi;
  • aeglaste päringute logisid.

Sageli ei ole probleem Views-is endas, vaid puuduvates indeksites või halvasti modelleeritud andmetes.

Levinud vead

Liiga palju Views-e

Aastate jooksul koguneb sageli:

  • dubleerivaid vaateid;
  • kasutamata kuvarežiime;
  • aegunud konfiguratsiooni.

Liiga palju suhteid

Mida rohkem JOIN-e, seda aeglasem päring.

Cache ignoreerimine

Paljud jõudlusprobleemid lahenevad korrektse cache seadistamisega.

Views kui universaalne tööriist

Views ei pea lahendama kõiki probleeme.

Kui lahendus muutub keerulisemaks kui probleem ise, on aeg kasutada teist lähenemist.

Kokkuvõte

Views on üks põhjuseid, miks Drupal on nii tugev sisuhaldusplatvorm.

See võimaldab ilma koodi kirjutamata:

  • luua nimekirju;
  • ehitada arhiive;
  • kuvada seotud sisu;
  • filtreerida andmeid;
  • luua otsingutulemusi.

Enamiku projektide jaoks on Views esimene ja õige valik.

Kui mängu tulevad keerukad ärireeglid, välised andmeallikad või väga suured andmemahud, tuleb kasutada täiendavaid tööriistu nagu Search API, Solr või kohandatud arendus.

Praktiline rusikareegel on lihtne: alusta Views-ist. Kui Views muutub keerulisemaks kui probleem, otsi teine lahendus.

Kaido Toomingas, WebPro tehniline juhtWebPro Company OÜ Tehniline juht: Kaido Toomingas

Vajad Drupal abi?

Kui artikkel puudutab sinu olukorda, ei pea kõike lõpuni lugema. Sinuga suhtleb päris inimene ja aitab järgmise sammuni jõuda.