Uus rakendus - Kanali andmebaas Lite

Kanali andmebaas on alati olnud oluline osa minu veebisaidist ning nüüd, 2024. aastal, olen ma selle nullist uuesti kirjutanud Yii2 raamistikus. Põhjuseid selle tegemiseks on mitmeid, kuid üks olulisimaid on see, et vanad kanali andmebaasi rakendused kirjutasin ma 2020. aastal, kui mul ei olnud praeguseid teadmisi PHP rakenduste kirjutamise osas.

Selle tagajärg on see, et kanali andmebaasi koodi on nüüd üsna keeruline lugeda ja aastate jooksul on tekkinud kanali andmebaasi palju erinevaid bugisid. Arhitektuuriliselt oli probleem selles, et 90% kanali andmebaasi koodist asus ühes failis ja igal pool olid kasutusel globaalsed muutujad. Olukord oli natuke parem kõige esimestes versioonides, aga seal oli väga suur osa koodist duplikeeritud, mistõttu tekkis olukord, kus näiteks põhilise vaate muutmisel ei läinud näiteks muudatused üle ideekasti ja galeriisse.

Asi muutus veel hullemaks, kui avastasin väga tõsised haavatavused ilma Bootstrap-ita pärandversioonides (seepärast muutsin nad ligipääsmatuks).

Kanali andmebaas Lite lahendab need probleemid erinevate meetodite kaudu. Esiteks, projekt kasutab nüüd MVC (model-view-controller) mustrit. See teeb sisu leidmise lihtsamaks (nt andmebaasiga suhtlemine models kaustas, vaated views kaustas, kontrollerid controllers kaustas jne).

Teiseks kasutab Kanali andmebaas Lite kasutab Yii2 raamistikku. See on PHP raamistik, mis kasutab turvalisi vaikeseadeid, sisaldab kasulikke abifunktsioone ja paremat silurit, automatiseerib erinevaid tegevusi jne.

Kolmandaks, Kanali andmebaas ei tee midagi üleliigset. Selle rakenduse kaudu ei saa uusi kirjeid lisada ega midagi andmebaasis muuta, ainult üksuseid vaadata, isegi kui olete sisse logitud. Andmebaasi üksuste haldamine toimub eraldi admin keskkonnas markusmaal.ee kodulehel.

Kanali andmebaas Lite kasutab endiselt Bootstrap 5 stiiliraamistikku, kuid nüüd kasutab see ka kohandatud värve, mis on midagi, mida vana kanali andmebaasi versioon ei teinud.

Peaaegu kõik senised kanali andmebaasi avalikult kättesaadavad funktsioonid, sh videote otsimine, erinevad filtrid, galerii, ideekast, raporti koostamine ja alla laadimine, sorteermine, arhiveeritud kommentaarid jpm, on endiselt Lite versioonis alles. Erandiks on kaks funktsiooni - raporti eksport CSV formaati ja pärandbrauseri režiim. Viimast ma ei pidanud vajalikuks, sest Bootstrap 5 juba iseenesest ei toeta vanemaid brauserid, kuid CSV eksportimise eemaldasin, selle jaoks on niivõrd palju implementatsioone ning JSON-i teisendamine teile sobivaks CSV formaadiks ei tohiks olla liiga keeruline.

Kuid viimasena võite küsida - mis saab vanematest kanali andmebaasi versioonidest? Viimane versioon, mis oli kättesaadav (v.a. arhiveeritud kommentaarid) enne Lite versiooni avaldamist, jääb 1. aprillini avalikult kättesaadavaks. Pärast 1. aprilli eemaldan selle rakenduse enda veebisaidilt. Vanemad versioonid, mis ei kasutanud Bootstrap stiiliraamistikku ei ole enam avalikkusele kättesaadavad.

Kommentaarid

Populaarsed postitused

© 2015-2023 Markus Maal