Web izstrāde

Jūsu mājaslapa darbojas uz CodeIgniter, bet izstrādātājs pazuda — kas jādara

CodeIgniter izstrādātājs pazuda, bet mājaslapa vēl strādā — ko darīt tālāk un kā novērst lielākas problēmas.

FSM Studio · · 5 min lasīšanai · Atjaunināts:

Sieviete rāda ar roku uz datora ekrānu ar CodeIgniter logu, otra roka stiepjas pretī, zili un terakota toņi

Pagājušā gada rudenī pie mums vērsās uzņēmums no Rīgas. Viņu mājaslapa bija uzbūvēta uz CodeIgniter 2, strādāja kopš 2013. gada, integrācija ar 1C, pasūtījumu apstrāde, klientu portāls. Izstrādātājs, kurš to visu uzbūvēja, pārcēlās uz citu valsti un praktiski beidza atbildēt uz e-pastiem. Servera PHP versija bija 5.6. Hostings draudēja to atslēgt līdz gada beigām.

Šāda situācija nav retums. Es to esmu redzējis desmitiem reižu 20 gadu laikā, ko strādāju web izstrādē.

Ko darīt pirmajā dienā

Ja izstrādātājs tikko pazuda un mājaslapa vēl strādā, pirmā prioritāte ir nodrošināt, ka jūs nekļūstat atkarīgi arī no hostinga. Pārbaudiet šīs lietas paši vai lūdziet kādam tehniski saprotošam palīdzēt:

  • Vai jums ir pieejas dati pie hostinga paneļa? Ne tikai mājaslapa, bet arī SSH vai FTP?
  • Vai jums ir datubāzes dublējumkopija? Kāda ir pēdējā zināmā backup datums?
  • Vai domēns ir reģistrēts uz jūsu vārda vai izstrādātāja vārda?
  • Kāda PHP versija tiek izmantota? (To var redzēt hostinga panelī)

Domēns ir kritisks. Gadās, ka izstrādātājs reģistrēja domēnu uz sava vārda un tagad jūs nevarat to pārvaldīt. Ja tā ir, vērsieties pie domēna reģistratora ar pierādījumiem, ka esat uzņēmuma īpašnieks.

Kāpēc CodeIgniter mājaslapa joprojām strādā, bet jūs esat ievainojami

CodeIgniter kā ietvars nav miris. Tā jaunākā versija (4.x) aktīvi tiek uzturēta. Problēma ir tā, ka lielākā daļa pamesto CodeIgniter projektu Latvijā ir uzbūvēti uz versijām 2.x vai 3.x, bieži vien ar PHP 5.6 vai 7.0, un tos uztur neviens.

Kas notiek, ja neko nedara:

Hostingi pakāpeniski atslēdz atbalstu vecajām PHP versijām. PHP 5.6 zaudēja atbalstu jau 2018. gadā. PHP 7.4 — 2022. gadā. Kad jūsu hostings pārtrauc atbalstīt jūsu PHP versiju, mājaslapa var vienkārši pārstāt strādāt bez brīdinājuma. Vai arī tajā tiks atrastas drošības ievainojamības, kuras neviens vairs nelabo.

Otrais risks ir integrācijas. Ja jūsu mājaslapa saņem datus no 1C, Jumis vai Moneo, šīs integrācijas var pārstāt strādāt jebkurā brīdī, ja netiek uzturētas.

Kā novērtēt, kas jūsu mājaslapā ir svarīgs

Pirms domājat par migrāciju vai pārtaisīšanu, ir jāsaprot, kas sistēmā patiesībā darbojas. Lūk, kā es pieeju šim uzdevumam:

Vispirms skatos, cik aktīvi tiek izmantota mājaslapa. Ja tai ir 20 apmeklētāji dienā un tā ir galvenokārt informatīva, situācija ir atšķirīga no tādas, kur notiek aktīvs pasūtījumu plūsma.

Pēc tam identificēju visas funkcionālās daļas: kas ir tikai statisks saturs, kas ir dinamiska loģika, kas savienojas ar ārējām sistēmām. Tas parāda, cik sarežģīta ir pāreja.

Visbeidzot pārbaudām kodu kvalitāti. Reizēm CodeIgniter projekts ir rakstīts tīri un ar komentāriem, un ar to var strādāt. Reizēm tas ir 8 gadu sēdināts haoss, kuru labāk pārtaisīt no nulles.

Trīs iespējas, no kurām izvēlēties

Stabilitātes uzturēšana. Ja mājaslapa strādā un nav steidzamu draudu, ir iespējams nodrošināt tās uzturēšanu esošajā stāvoklī — atjaunot PHP versiju tiktāl, cik CodeIgniter versija to atļauj, nodrošināt regulārus backupus, uzraudzīt serveri. Šis variants ir lētākais īstermiņā, bet nav risinājums uz ilgu laiku.

Pakāpeniska migrācija. Lieliem projektiem ar sarežģītām integrācijām mēs dažkārt veidojam jaunu sistēmu blakus vecajai, pakāpeniski pārnesot funkcionalitāti. Uzņēmums strādā bez pārtraukuma, bet katru mēnesi tiek pārnesta vēl kāda daļa. Šis process parasti ilgst 6–12 mēnešus.

Pilnīga pārtaisīšana. Ja kods ir ļoti novecojis vai logika ir sarežģīta un vairs nav dokumentēta, dažkārt ātrāk un lētāk ir uzbūvēt no nulles ar mūsdienīgu arhitektūru. Mēs izmantojam Laravel kā galveno ietvaru jaunajiem projektiem — tas atbilst tiem pašiem standartiem, ko lieto lielākie Eiropas uzņēmumi.

Lēmums starp šiem variantiem atkarīgs no konkrētā projekta. Nav universālas atbildes.

Ko nozīmē ilgtermiņa sadarbība ar izstrādes komandu

Viens no biežākajiem iemesliem, kādēļ uzņēmumi nonāk šādā situācijā, ir tas, ka mājaslapa tika uzticēta vienam izstrādātājam freelancer statusā. Kad viņš pazuda, pazuda arī viss zināšanu kapitāls par sistēmu.

Mēs strādājam atšķirīgi. FSM Studio ir komanda no 2006. gada, un mums ir klienti, ar kuriem sadarbojamies jau vairāk nekā 10 gadus. Tas nozīmē, ka mēs zinām viņu sistēmas no iekšpuses, vēsturi, kāpēc kāds lēmums tika pieņemts 2015. gadā, un ko nedrīkst pieskarties bez testēšanas.

Kad jūs strādājat ar mums, jūsu kods dzīvo mūsu versiju kontroles sistēmā ar dokumentāciju. Ja kāds no mūsu komandas maina darbu, projekts netiek zaudēts — tas paliek pie mums.

Mūsu projektu sākuma izmaksas ir no €3 000, atkarībā no apjoma. Tas nav lētākais variants tirgū, un mēs to apzināmies. Bet mēs arī neesam tie, no kuriem jāzvana divi gadi vēlāk ar jautājumu “kur ir mans kods?”

Praktiskas darbības šodien

Ja jūs lasāt šo rakstu un atpazīstat savu situāciju, lūk konkrēti soļi:

  1. Lejupielādējiet visu mājaslapa failus un datubāzes eksportu tagad, šodien. Backups ir pirmais un svarīgākais solis.
  2. Noskaidrojiet, kas kontrolē domēnu un hostingu, un pārliecinieties, ka jūs varat tos pārvaldīt patstāvīgi.
  3. Pārbaudiet hostinga paneļā, kāda PHP versija tiek izmantota un cik ilgi hostings to vēl atbalstīs.
  4. Ja nepieciešama palīdzība novērtēt situāciju, sazinieties ar izstrādes komandu, kas pieredz web izstrādē ar mantotām sistēmām.

Mēs regulāri saņemam pieprasījumus no uzņēmumiem, kuri ir nonākuši tieši šajā situācijā. Lielākā daļa no tiem bija gaidījusi par ilgu pirms sazināšanās. Jo ātrāk sākat, jo vairāk iespēju ir novērst lielākas problēmas.

Kā mēs varam palīdzēt

Es personīgi apskatīšu jūsu situāciju un pastāstīšu, kas ir reāli darāms un par kādu cenu. Mēs varam palīdzēt ar CodeIgniter projektu uzturēšanu, migrāciju uz modernu platformu, vai pilnīgu pārtaisīšanu, ja tas nepieciešams. Mēs piedāvājam arī SEO un e-komercijas risinājumus, ja jūsu projekts aug.

Visi mūsu pakalpojumi ir pielāgoti konkrētam klientam. Nebūs situācijas, ka jūs saņemat standarta piedāvājumu, kas neatbilst jūsu realitātei.

Ja jūsu situācija ir līdzīga — rakstiet mums un apspriedīsim konkrētus soļus.