pokalbių asistentas WebEdge gidas

Kodėl sukūriau savo CMS vietoj Directus

Bandžiau Strapi, Directus, Sanity. Kiekvienas turėjo savo ribas. Štai kodėl galiausiai sukūriau WebEdge CMS ant Convex ir ko tai išmokė.

2026 m. kovo 26 d. 3 min. skaitymo

Šiame straipsnyje rasite

  • Problema su esamais sprendimais
  • Sprendimas: Convex kaip pagrindas
  • Ką tai davė, ko neduotų Directus
  • Kas buvo sunkiau nei tikėjausi
  • Kada verta kurti savo CMS

WebEdge komanda

Problema su esamais sprendimais

Prieš kurdamas WebEdge CMS, išbandžiau kelias alternatyvas:

  • Strapi — geras kaip startas, bet savarankiškai talpinamas diegimas sunkokas; atnaujinimai dažnai lūžo; pusiau komercinė licencija verčia galvoti ilgalaikėje perspektyvoje
  • Directus — artimiausia alternatyva. Lanksti duomenų modeliavimo schema, atviras kodas, normali UI. Tačiau realaus laiko sinchronizacija nėra stiprioji pusė, o diegimo sudėtingumas prideda nereikalingų sluoksnių
  • Sanity — puiki DX, bet debesinis, ir moka pagal naudojimą. Ilgalaikiai kaštai greitai auga esant dideliam kiekiui turinio
  • Payload CMS — moderni, TypeScript-first architektūra. Rimta galimybė, bet tuo metu trūko kai kurių funkcijų

Pagrindinis neišspręstas poreikis visose šiose platformose: realaus laiko duomenys be papildomos infrastruktūros. Klientai nori, kad sąsaja atsinaujintų iš karto, kai turinys pakeičiamas — be puslapio perkrovimo, be WebSocket serverio rankinio konfigūravimo.

Sprendimas: Convex kaip pagrindas

Convex išsprendė pagrindinę problemą: jis teikia reaktyvias užklausas ir realaus laiko sinchronizaciją kaip pirmojo lygio funkciją. Kai duomenys keičiasi — visi prisijungę klientai automatiškai gauna naują būseną.

Tai reiškia, kad WebEdge CMS administravimo sąsajoje redaktoriui nereikia spausti F5. Keitiniai matomi iš karto — tai svarbu komandose, kur vienu metu dirba keli žmonės.

Techninis rinkinys:

  • Convex (self-hosted) — duomenų bazė + realaus laiko sinchronizacija + funkcijų paleidimas
  • Vue 3 (Composition API, <script setup>) — administravimo UI
  • TailwindCSS — stiliai be papildomų CSS failų
  • REST API, suderinamas su Strapi formatu — kad esami Nuxt frontendai veiktų be pakeitimų

Ką tai davė, ko neduotų Directus

  • Visiškas valdymas — duomenų schema, API elgsena, vidinė logika yra mano. Nėra „tai neįmanoma su šia platforma" situacijų.
  • Integracija su savo produktais — WebEdge CMS jau integruotas su WebEdge Mail: generuoja PDF sąskaitas ir siunčia el. paštu tiesiai iš CMS. Tai su standartiniu sprendimu būtų atskiras projektas.
  • Multi-site iš karto — vienas CMS valdo kelis domenus su atskiru turiniu ir kalbomis. Strapi tai reikalavo sudėtingos konfigūracijos.
  • Realaus laiko UI — administravimo sąsaja jaučiasi kaip native aplikacija, ne kaip tradicinis CMS.

Kas buvo sunkiau nei tikėjausi

Realybė: kurdamas CMS palietei viską.

  • Autentifikacija ir RBAC — reikia apgalvoti roles, teises, vartotojų valdymą nuo nulio. Strapi tai duoda iš karto.
  • Turinio modeliavimas — kaip pavaizduoti bet kokios struktūros turinį dinamiškai? Tai nėra trivialus uždavinys.
  • Medijų valdymas — failų įkėlimas, pjūviai, URL generavimas, saugojimas. Su Convex Storage tai išsprendžiama, bet reikia laiko.
  • i18n — daugiakalbis turinys turi savo logiką: kurie laukai verčiami, kaip siejamos skirtingų kalbų įrašų versijos, kaip veikia rezervinis variantas.
  • Rich text redaktorius — integruoti Tiptap arba ProseMirror į savo UI ir išsaugoti HTML ar JSON duomenų bazėje — paprastas darbas, kol nereikia labai specifinių formatavimo poreikių.

Kiekvienas iš šių punktų yra atskiras produktas. Kai kurių kūrėjų tai sustabdo — ir teisingai. Tai didelė investicija.

Kada verta kurti savo CMS

Sąžiningai: daugeliu atvejų neverta. Directus, Payload arba Strapi tinka, jei:

  • Jums nereikia specifinių integracijų į savo produkto ekosistemą
  • Jūsų turinio modelis standartinis
  • Komanda maža ir nėra laiko palaikyti papildomą sistemą

Verta svarstyti savo CMS, jei:

  • CMS yra jūsų produkto dalis, ne tik turinio valdymo įrankis
  • Reikia gilios integracijos su savo infrastruktūra (el. paštas, sąskaitos, realaus laiko duomenys)
  • Planuojate valdyti kelis saitus su skirtinga logika iš vienos vietos
  • Ilgalaikis savarankiško talpinimo kaštų valdymas yra prioritetas

Išvada

WebEdge CMS nėra „geresnė Directus". Tai kita kategorija — sistema, skirta WebEdge produktų ekosistemą valdyti, o ne universali CMS platforma.

Jei ieškote CMS savo klientų projektams ar turinio komandai — žiūrėkite į Directus, Payload arba Sanity. Jie puikūs savo nišoje.

Bet jei jūsų situacija panaši į mano — kai standartinis sprendimas nesusijungia su tuo, ką jau turite — tada kurti savo yra pagrįstas pasirinkimas.

Tiesiog žinokite, į ką einate. 😄

W

WebEdge

Kuriame individualius DI sprendimus, automatizavimo sistemas ir web produktus Lietuvos įmonėms. BDAR atitiktis, serveriai ES.

Susisiekti

Pasiruošę diegti AI savo versle?

Užsiregistruokite nemokamam 30 min. pokalbiui — parodysime, ką verta automatizuoti pirmiausia jūsų verslo procese.

Susiję straipsniai

Grįžti į visus straipsnius