Opencart OCMOD/VQMOD, kas tai ir kam to reikia?
Klientai mus rado internete jog galime atlikti opencart svetainių priežiūra, atnaujinimą. Diskusija buvo tokia jog klientas yra įtikintas jog tvarkyti svetainę per/su ocmod ar vqmod sistema yra žymiai geriau negu dirbti tiesiogiai failuose ar per opencart modifications funkcionalumą. Tad šiuo straipsniu pameginsime atsakyti kodėl išvis buvo išrasti šie būdai ir kam to reikia ir kada naudoti jas.
Kaip veikia opencart ocmod/vqmod sistemos
Tikslas perrašyti esamus opencart failus nepaliečiant originalių failų ir jų struktūros. Tai reiškia jog įsirašius vieną iš šių sistemų opencart’as tikrina pradžioje vqmod/ocmod sugeneruotus failus kurių pagrindas yra XML failai ir jeigu randa pakeitimus, sugeneruoja php failus kurie naudojami vietoje originalių. Tai reiškia jog galime XML failų pagalba rašyti pakeitimus analizuojant originalius failus ir taip juos redaguoti. Originalūs failai nėra paliečiami, jie paliekami taip kaip buvo įrašyti, tačiau padaromos jų kopijos ant viršaus, uždedami xml failuose nurodyti pakeitimai ir sugeneruojami nauji failai kuriuos kraus opencart sistema vietoje originalių.
Kam reikalinga opencart vmod/ocmod sistema
Šios sistemos išrastos tam jog teoriškai pabrėžiu teoriškai, atnaujinant opencart iš vienos versijos į kitą Jūsų pakeitimai lieka, jie nėra perrašomi originaliais failais ir teoriškai (ironiška tiesa?) turėtų veikti po visų atnaujinimų opencart. Na paimkime pavizdį: Turime opencart v3.0.3.8 ir išėjo atnaujinimas v3.0.3.9 ir mes norime atsinaujinti, atsisiunčiam failus, paleidžiame atnaujinimą (jeigu to reikalauja sistemos kurėjas) ir tikimės jog viskas veiks. BET jeigu failuose pasikeitė struktūra, pasikeitė bent vienas žodelis, raidė kurią XML failas ieško tam jog įdėtų savo pakeitimą po/prieš eilute - jau nebeveiks. Tuomet gali griūti ne tik viena funkcija, tačiau ir kitos su ja susijusios ar netgi nesusijusios, nes klaidos atvėju gali nesigeneruoti kiti XML failai kurie irgi daro sistemoje pakeitimus. Tad ar Jūs patys galėsite lengvai atnaujinti OpenCart be programuotojo? Manau, kad ne. Ar tai padeda greičiau atnaujinti OpenCart? Tam tikrais atvėjias TAIP, bet vėlgi be programuotojo darbo ir be visiško ištestavimo (kas gali trukti ir dieną darbo) - niekaip. Ir čia mes kalbame tik apie versijos peršokima vienu atnaujinimu. Įsivaizduokite jeigu turime v2 ir norime atnaujinti į v3 ar v4 ? Visiškas krahas ir atnaujinimas vyktų ne valandomis, o dienomis ar savaite norint išlaikyti tą patį nekalbant apie ateities perspektyvas rasti dar nepatvarkytas vietas kurios plika akimi nėra matomos.
Atrodytų gana sudėtingas procesas skaitant, tačiau taip tikrai nėra. Sudetingesnis procesas yra, analizė kodo, nurodymas kur turėtų būti norimas pakeitimas, kodo skaitymas XML failuose. Taip pat nesuformatuotas kodas kurį žymiai sunkiau programuotojams skaityti ir atlikti savo pakeitimus.
Ar apsimoka naudoti Šias perrašymo sistemas?
Apsimoka naudoti jeigu turite programuotoją kuris pats Jums rašė perrašymus, naudojo labai mažai modulių ir gali atnaujint sistemą kiekvieną kartą išėjus naujam opencart atnaujinimui. Dažnu atvėju klientai nenori mokėti už sistemos atnaujinimą kartą ar du į metus, nes sistema veikia, o atnaujinimui skiriama dėmėsys tik po kelerių metų ir tai jeigu programuotojas ar įmonė jau indikuoja kad sistema per sena ir jau reikėtų imtis priemonių norint ją tobulinti. Kitu atvėju tai laiko švaistymas, nes darbo procesas prailgėja ieškant kodo dalių kurios atsakingos už tam tikras funkcijas. Bandant atnaujinti didelius sistemos pasikeitimus nuo senos iki naujausios versijos yra begalo sunku padaryti pakeitimus kad visas procesas nesugriūtų.
Ir klausimas ar tikrai tarkime turint v2/v3 versijas, norite likti su tuo pačiu dizainu, tuo pačiu funkcionalumu ir tik atnaujinti versiją? Dažniausiai klientai jau nori atsinaujinti iš esmės, tiek dizainą tiek funkcionalumą, tad nėra prasmės žaisti su pačios sistemos atnaujinimais, imama naujausia versija ir išpildomi visi kliento poreikiai su kuo mažiau modulių (o dar geriau be jų) ir tik tuo funkcionalumu kurio klientui tikrai reikia.