Į ką atsižvelgti, kuriant savo turinio valdymo sistemą

Sukurti savo TVS – anksčiau ar vėliau tokia mintis ar poreikis kyla beveik kiekvienam pažengusiam web-programuotojui. Kai reikia štampuoti dešimtis projektų, kurių esmė yra kažkiek panaši, o imti jau paruoštą nemokamą variantą nėra galimybių (dažnai tai būna tiesiog „ne lygis“), tada ir atsiranda mintis sukurti savo TVS. Nediskutuosiu dėl amžino klausimo „kam žmonės išradinėja dviratį“, o tiesiog papasakosiu, į ką reikėtų atkreipti dėmesį, jei jau pasiryžote šiam svarbiam žingsniui ir norite sukurti sistemą, kurią galėsite vėliau taikyti daugeliui savo projektų.

Skirkite: jums reikia TVS ar Framework‘o?

Nepakankamai patyrę web-programuotojai kartais neskiria šių dviejų sąvokų.
Turinio valdymo sistemos paskirtis išplaukia iš pavadinimo – sistema skirta tam, kad tinklalapio savininkas galėtų valdyti turinį, neturėdamas praktiškai jokių programavimo žinių. Kitaip tariant, sistema skirta daugiau klientų naudojimui, o ne paties programuotojo reikmėms. Žinomiausias turinio valdymo sistemas jau paminėjau: Joomla, Drupal, Wordpress.

Framework‘as (nežinau kaip jį pavadinti lietuviškai) – tai funkcijų, klasių ir kitų struktūrų rinkinys, iš kurio susidaro web-projekto karkasas. Bekuriant dešimtis projektų, visada galima įžvelgti, kurios funkcijos ar kurie veiksmai kartojasi projektas iš projekto. Būtent juos galima iškelti į „aukštesnį lygį“ ir padaryti tą karkasą, kurio jau reikia ne klientui, kad valdytų turinį, o programuotojui, kad valdytų projektą. Vieni iš žinomiausių framework‘ų: CodeIgniter, CakePHP, Symfony, Zend Framework.

Taigi, susimąstykite, ko jums būtent reikia iš šitų dviejų.

Gerai, kuriame TVS. Nuo ko pradėti? Nuo popieriaus ir pieštuko.

Kaip ir bet kuris tinklalapis ar programa, turinio valdymo sistema turi būti pradžioje suprojektuota. Jūs turite suprasti ir nubraižyti, kas bus sistemos vartotojai, kokios bus pagrindinės sistemos funkcijos, kaip atrodys duomenų bazė ir kt. Kartais gali atrodyti, kad galvoje ir taip viskas aišku, bet jei turėsite popierinius brėžinius, jie neleis jums nukrypti nuo kurso ar pamiršti ko nors svarbaus.

Kas bus jūsų TVS naudotojai?

Iš karto nuspręskite, kam bus skirta jūsų sistema. Kokie gali būti variantai: vienas dalykas, kad sistemą naudosite tik jūs pats, ir jos pagrindu štampuosite tinklalapius pagal gaunamus užsakymus, kitas variantas – kad jūs atiduosite TVS kažkieno naudojimui, ir jos pagrindu kurs tinklalapius jau kiti žmonės. Ir dar globalesnis variantas – padaryti viešai prieinamą sistemą, kurią galės parsisiųsti ir naudoti bet kas, mokamai arba nemokamai. Nuo to vėlgi priklausys, kaip reikės programuoti.

Jeigu darote kažką „sau“, tada galima kažkiek mažiau dėmesio skirti kai kurioms smulkmenoms, stabilumo užtikrinimui, saugumo patikrinimams ir kt., o jeigu jūsų sistema eis į platų pasaulį, tada jau darbo laikas kaip minimum dvigubėja. Atsižvelkite ir į tai, kad jeigu nuspręsite daryti kažką sau, tai po to bus sunku persiorientuoti į globalų projektą, o jei padarysite iš pat pradžių universalią sistemą, tada bus lengviau ją pritaikyti savo poreikiams. Kita vertus, universalios sistemos pagaminimas užtrunka ilgiau ir reikalauja gilesnių programavimo bei web-projektų kūrimo žinių.

Viskas, kas genialu – paprasta

Vienas iš bet kurios turinio valdymo sistemos privalumų ir siekių – naudojimo paprastumas bei suprantamumas. Grubiai tariant, kad turinį valdyti galėtų ir sekretorė, kuri kompiuteryje yra mačiusi tik Wordą ir Solitaire pasjansą. Taigi, nepamirškite, kad jūsų kuriama sistema skirta iš esmės ne jums, kaip programuotojui, o klientams, kaip NE programuotojams. Kuo draugiškesnė bus aplinka, tuo geriau bus visiems.

Kitas dalykas – pačiame kode irgi reikėtų laikytis paprastumo principų. Pažvelkite kiek į ateitį ir susimąstykite, ar galėsite suprasti savo paties dabar rašomą kodą po pusmečio ar po metų. Nes jeigu planuojate su šia TVS nugyventi ilgesnį laiko tarpą, tai ją reikės modifikuoti tikrai ne kartą ir ne du.

Katalogų struktūra – svarbus dalykas

Iš karto suskirstykite visą savo sistemą į katalogus, kurie kuo aiškiau nusako, kas yra laikoma tame kataloge. Be abejo, gali būti painiavos tarp „pics“, „images“ ir „photos“, arba tarp „modules“, „includes“, „classes“ ir „libraries“, tačiau bet kuriuo atveju turi būti suprantama jums pačiam kaip sistemos kūrėjui, o ir kiti žmonės turi nesunkiai susigaudyti failų struktūroje.

Kokias bibliotekas, klases ar pagalbinius įrankius naudoti?

Čia yra irgi svarbus momentas. Jau seniai praėjo tie laikai, kai programuotojai viską daro „rankutėmis“ nuo A iki Z. Dabar tam tikroms funkcijoms atlikti yra krūva paruoštų sprendimų, tik imk ir taikyk. Pavyzdžiai būtų klasė darbui su duomenų baze, šablonų varikliukas (Smarty ar pan.) ar PEAR įvairių paskirčių klasės. Tikrai patariu naudoti bent kažką iš išorės – sutaupysite laiko. Kita vertus, nepatartina grūsti visko, kas tik įmanoma. Pasibandykite ir pasirinkite tas klases, kurios būtent jūsų TVS yra tinkamos ir patogios. Nes, kaip sakoma, kažkokio produkto naudojimas pasiteisina tik tada, kai jis sutaupo laiko, o ne naudojamas vien tam, kad būtų panaudojamas.

Lengvas dizaino pakeitimas, neprogramuojant

Vienas iš kertinių bet kurios TVS akmenų – skirtingų dizainų pritaikymas. Imant idealiausią variantą, dizaineris turi sugebėti paimti jūsų TVS ir be jūsų pagalbos „užmauti ant jos“ naują dizainą. Be abejo, tam reikės HTML žinių – bet save gerbiantys dizaineriai bent kažkiek jų turi. Tam labai praverčia tokie šablonų varikliukai, kaip mano jau minėtas Smarty – su jo pagalba galima atskirti jūsų projekto logiką nuo atvaizdavimo, ir būtent atvaizdavimą galima koreguoti atskirai be programavimo žinių. Natūralu, kad tokių „varikliukų“ yra begalė, tik reikia paieškoti.

Žinokite, kokie duomenys bus saugomi / vaizduojami jūsų sistemoje

Kitaip tariant, kokio pobūdžio bus turinys ir jo užpildymas. Nes tai gali būti straipsniai (tada sistema tampa panaši į Wordpress), naujienos, nuotraukos, video failiukai, e-parduotuvės katalogas, forumas, apklausų klausimai-atsakymai, ir dar N visokių variantų. Tai turite iš anksto apsibrėžti rėmus, nes vėliau bus labai sunku nušauti daugiau nei vieną zuikį.

Turėkite kantrybės

Na ir paskutinis patarimas. Savo TVS kūrimas yra geriausias pavyzdys to programavimo dėsnio, kad pirmieji 90 procentų darbo užima 10 procentų laiko, o likęs darbas užima 90 procentų laiko. Iš pirmo žvilgsnio, gali atrodyti, kad čia nėra ką veikti – pakurti kelioliką formų, jų atvaizdavimą išorėje, šiokį tokį valdymą, ir pirmyn. Bet patikėkite, pakeliui atrandama dar uoj kiek daug nemalonių „smulkmenų“. Taigi, kantrybės tikrai prireiks.

 

Šaltinis: www.skaityk.lt