Zašto su WordPress i ‘open source’ aplikacije odlično rješenje za državne online projekte

Linije 'open source' koda su dugo kucale na zatvorena vrata državnih institucija. Svileni prodavači zatvorenog softvera potpirivali su glasine o otvorenim rješenjima, uključujući i alate za web razvoj. Jedan od tih alata je i WordPress, a prikazati ćemo da su takve otvorene aplikacije odlično rješenje za razvoj državnih internetskih sjedišta i komunikaciju interaktivnih informacija.

Ovaj članak napisan je u okviru rubrike i konferencije WordCamp Croatia.

Krajem 2012. godine, jedna državna institucija objavila je natječaj za produkciju novog web portala. Njihovo postojeće (domaće) rješenje se pokazalo kao tehnološki zastarjelo, urednički komplicirano i zatvoreno za smislene nadogradnje. Poznata #VendorLockIn situacija, klasično udomljena kod važnijih državnih adresa. Tim naših dizajnera i programera pozvan je na konzultacije gdje smo trebali analizirati stanje i predložiti moderno rješenje, skrojeno po novonastalim potrebama.

Inicijalni sastanak tekao je u odmjeravanju IT snaga, potvrdnim kimanjem glava na spomen 2FA, CMS, DMS, SSL, GIT i ostalih pitkih tehno-kratica. Fitilj se zapalio kod daleko životnijih pitanja – “Tko će odobravati sadržaj kada smo na godišnjem?”/“U kojoj sobi će biti smješten server(!)?”/“Želimo kontrolirati veličinu logotipa”… U to smo vrijeme radili s više CMS platformi pa smo s njihovim marketing odjelom usuglasili sve oko načina objava i uredničkog tijeka online sadržaja. No bomba je odjeknula tek kad smo njihovom IT-u predložili da radimo na open source tehnologijama i da je upravo WordPress najbolja platforma za novi državni projekt. U tom trenutku su se kimanja pretvorila u zabrinuta pogledavanja, popraćena baražom subjektivnih pitanja proizašlih iz mitova open source svijeta.

Uhodavanje klijenta u svijet open source tehnologija

Iskreno, nismo se snašli u vatrenom kontekstu uz očitu nepripremljenost za takvu vrstu razgovora. Problem s naše strane je bio što smo moderno internetsko izdavaštvo uzimali zdravo za gotovo, bez potrebe za uhodavanjem klijenta u cijeli svijet otvorenih tehnologija.

Izdržite još malo kroz ovaj uvod, jer doticaj s ostalim zatvorenim (proprietary) CMS alatima je bio presudan…Počeli smo programirati 2007. godine kao ekipa koja prvenstveno razvija prilagođena digitalna rješenja na tada zatvorenoj Microsoft ASP.NET tehnologiji. Nakon tog začetka smo radili s DotNetNuke i Umbraco da bi tijekom 2010. godine počeli eksperimentirati s LAMP (Linux, Apache, MySQL, PHP) slojevima i njegovom djecom kao što su Joomla, Typo3 te naposljetku s WordPress.

Orchestre de Jazz, Béla Vörös, bronze, 1927.

WordPress – dovoljno fleksibilan, otvoren i kvalitetan

Motiv za prelazak na WordPress bio je jednostavan, ali vrlo značajan. Nismo više htjeli rekreirati iste funkcije sa svakim projektom: definiranje rola korisnika, autentifikacija, autorizacija, kreiranje arhitekture sadržaja i upravljanje s cijelim (ponajviše eCommerce) sadržajem. Sve navedene funkcije WordPress odrađuje maksimalno kvalitetno, a znali smo i iz prve ruke da alternativni popularni CMS alati doista tehnološki kaskaju (uz to što imaju trošak ograničavajućih licenci). Takav put od vlastitog ili tuđeg zatvorenog CMS-a do open source rješenja bio je evolucijski – WordPress je jedini bio dovoljno fleksibilan, otvoren i kvalitetan da realiziramo sve što klijent poželi, a da dizajneri i programeri razviju moderno web rješenje – bilo da se radi o kompleksnoj eCommerce platformi (kao što je WooCommerce), medijskom portalu ili pak pozadinskom BaaS (Backend-as-a-service) REST API sloju za mobilnu aplikaciju.

Najvažnije, velika skupina entuzijasta počela se okupljati oko WordPressa, zauzimajući epske proporcije s 50% CMS kolača. Odlična dokumentacija, bezbrojne nadogradnje (pluginovi) i srdačna podrška zajednice samo su neki od benefita proizašlih iz otvorenog ekosustava, jednom riječju opisanog čak i kao “pokret”.

Neuralab
Čestita i velika zajednica temelj je svakog open source projekta (WooConf 2016, Austin, Texas).

Što je bio kamen spoticanja?

Država u to vrijeme nije, nažalost, uvidjela sve prednosti takve open source platforme i cijeli natječaj je na kraju dodijeljen drugom izvođaču s proprietary rješenjem. Gledajući unatrag, kamen spoticanja bile su četiri sveprisutne teme:

1. Zašto uopće koristiti open source unutar institucija

2. Sigurnosni koncepti i mitovi oko otvorenih aplikacija

3. Razvoj i mogućnosti interaktivnog sadržaja

4. Dizajn open source online aplikacija

Te su nam teme ujedno i kostur cijelog teksta. Kroz svaku od njih ćemo u sljedeća dva nastavka obrazložiti prednosti open source platformi i zašto su otvorene tehnologije kvalitetnije rješenje od razvikanijih enteprise-grade sustava. Ipak, država je tijekom 2016. godine napravila svojevrstan pomak i realizirala tri projekta na WordPress platformi – Enu.Hr, Ncvvo.Hr i HBOR.Hr. Upravo će nam ti projekti poslužiti kao praktični primjeri, a počet ćemo s temeljima open source aplikacija i kako njihovi razvojni koncepti idu ruku pod ruku sa željenim razvojem državnih institucija.

Open source alati unutar institucija

“Softver izjeda svijet” izlizano bliješti sa svih konferencijskih powerpoint prezentacija, a ta tvrdnja je izraženija u kontekstu otvorenih tehnologija – open source softver je taj koji jede svijet. Šarena ekipa iz Black Duck Software i North Bridge napravila je u travnju 2016. još jednu tradicionalnu godišnju studiju koja je uključivala preko 1300 (senior level) ispitanika. Rezultati su pokazali da 65% IT organizacija aktivno razvija ili potpomaže open source tehnologije. Značajan pomak vidi se i u razlozima odabira otvorenih rješenja – u 2015. godini, primarni razlog odabira open sourcea bila je mogućnost prilagodbe i fleksibilnosti alata, no fokus se u 2016. godini prebacuje na izbjegavanje ranije spomenutih Vendor-Lock-In situacija. U svakom slučaju, 90% ispitanika implementira raznovrsna open source rješenja te smatraju da otvorene tehnologije poboljšavaju učinkovitost, inovacije i posebno bitno za ovaj tekst – suradnju.

OpenSource projekti posjeduju 4 temeljna svojstva kojima omogućuju takve procese (i anketna mišljenja). Karakteristike ćemo opisati nadalje u tekstu, a nadam se da ćete neke od njih prepoznati i kao poželjna ponašanja samih državnih institucija. Cilj mi je pokazati da open source ima potrebno logično mjesto u jednoj modernoj državi, načelno radi istih razvojnih temelja:

  • Konsenzus i demokracija, a ne autoritet

Otvoreni “kod” je kvalitetniji pošto je usuglašavan, a ne diktiran. Na taj se način u aplikaciju ugrađuje znanje i kvaliteta više suradnika programera. Iako je takav proces šumovitiji od jednostavnijeg direktnog upravljanja, dugoročno dovodi do tržišno “jačeg koda” u koji je ugrađeno objektivno više iskustva i znanja. Hvaljeni WordPress editor i lakoća uređivanja sadržaja je tipičan primjer ugrađenog znanja cijele zajednice blogera, programera i dizajnera, kolega koji imaju široko i duboko znanje oko svih aspekata online izdavaštva.

  • Decentraliziranost povrh centraliziranosti

Decentraliziranost je Sancho Panza konsenzusa. Njome omogućavamo da taktika i strategija razvoja projekta ostaje slojevita, duboka i bazirana na znanju većeg broja programera. Decentraliziranost također omogućava pogled iz više rakursa te obraćanje pažnje na tržišne detalje neprimjetne iz skrivenih kutaka uske centralizacije. Decentraliziranošću se postiže jača dinamika projekta te brži odaziv na potrebe tržišta, kako s dizajnerske, programerske ili poslovne strane. Konkretno, WordPress je sustav koji se na tržištu razvija već 14 godina – više od Facebooka, Twittera ili Ubera.

Dvostruko stariji Linux, kao drugi primjer, pleše na tržištu otvorenog koda već 28 godina, a i cijelo to vrijeme osluškuje ostale takmace u svijetu operativnih sustava. Decentralizirani i usuglašavani “kod” je kičma obrane i od sigurnosnih prijetnji, teme koju ćemo više obraditi u drugoj temi ovoga teksta.

  • OpenSource izgrađuje cijelo tržište, a ne jednu kompaniju

Nastavno na decentralizaciju, jedna od glavnih značajki realnih open source projekata je da više razvijaju cijelo tržište nego samo jednu kompaniju. Linux, Apache i WordPress demokratizirali su i ojačali internetsko izdavaštvo u najširem smislu. WooCommerce čini isto za eCommerce i web prodaju putem digitalnih kanala. Svi ti otvoreni alati obogaćuju cijelo tržište jer WordPress mogu implementirati mali trgovci sa svega par artikala, no to također mogu napraviti i veliki državni portali s milijunima korisnika. Potonji pak zahtijevaju prilagođeni pristup i trebaju pomoć zajednice vanjskih stručnjaka. Njih je omanja vojska, a upravo nas to dovodi i do zadnjeg svojstva…

  • WordPress tj. open source, neovisan je i prenosiv

Otvoreni kod voli rasti, evoluirati i iskakati iz vlastitih okvira. Čim je otvoreniji, veća je šansa da za vašu poslovnu potrebu možete naći kvalificiranog programera, implementatora ili konzultanta. Drugu stranu ove medalje, tzv. Vendor-Lock-In, iskusili su svi subjekti koji su temeljili poslovanje na sustavima koji održavaju “nezamjenjivi” programeri. Hrvatsko tržište i ovdašnji načini sklapanja poslova bili su plodno tlo upravo za takve integratore, a takvo stanje dovodi do programskog koda koji je teško održiv i u biti ne evoluira.

Iskakanje iz vlastitog okvira je, na kraju, najveće svojstvo open source softvera. Kontinuirani razvoj projekata od strane velike zajednice je koncept kojeg bi država trebala prigrliti. Android, Linux, WordPress i ostale slične platforme idu bok uz bok državnoj strategiji, a upotrijebimo li prave alate na pravi način, ideje se pretvaraju u korisne projekte od kojih cijelo tržište ima koristi, pogotovo javnost željna kvalitetnih online usluga. U narednim sekcijama teksta ćemo se osvrnuti na operativne teme implementacije open source alata (WordPress) unutar klasičnih državnih institucija – sve s ciljem pružanja upravo takvih kvalitetnih online usluga.

Sigurnosni aspekti open source aplikacija

WooCommerce i WordPress, udio na tržištu, svibanj 2017.

WordPress je popularna platforma. Zadnji podaci s početka 2017. prikazuju impresivne brojke za jednu distribuciju softvera:

  • WordPress je implementiran na 27,3% svih svjetskih web sjedišta
  • Od najvećih 1000 web sjedišta, WordPress pogoni njih 30,3%
  • Udio u web sjedištima koji imaju barem neku vrstu CMS-a je 58,5 % (za potrebe i kontekst članka, ovo je najvažnija brojka jer podrazumijevamo upotrebu sustava za upravljanje sadržajem (CMS))
  • WooCommerce (eCommerce platforma za WordPress) pogoni 42% svih web dućana na ovom svijetu (U Hrvatskoj 55%)

No, WordPress svoju popularnost plaća u vidu netočnih mitova i zabluda. Kao i kod Windowsa ili Flasha, napadačima je isplativije pisati maliciozni “kod” za popularne platforme. To ne znači da su te platforme a priori nesigurne, jednostavno je volumen napada na njih veći.

Mjerljivi broj detektiranih sigurnosnih prijetnji kod WordPress platforme je relativno malen. MacOS, Windows, razne distribucije Linuxa, Adobe Flash pa čak i PDF format imaju daleko veći broj prijavljenih sigurnosnih prijetnji od WordPressa, a to su alati koji se koriste na svakodnevnoj bazi. Na primjer, Debian ima cca 7.500 prijavljenih CVE (Common Vulnerabilities and Exposures) sigurnosnih povijesnih prijetnji dok Joomla, Drupal i WordPress imaju svaki oko 1000. Naravno, ta brojka ne govori puno o ozbiljnosti i stupnju prijetnji, no ona je zanimljiv podatak kada pričamo o sigurnosti open source alata poput WordPressa – njegov “core” sustav sam po sebi nije više ili manje siguran od običnog softvera kojeg ćete koristiti za svakodnevni rad.

Trik je u implementaciji i svakodnevnoj brizi, a upravo je brza i efikasna zajednica, glavni zamašnjak sprječavanju sigurnosnih propusta.

Neuralab
Proaktivna zajednica je prvi stup sigurnosne obrane kod OpenSource projekata (WordCamp Europe, Vienna, lipanj 2016.)

Više stotina aktivnih distribuiranih programera već 13 godina polira svaki aspekt WordPress srži. Sam sustav se automatski nadograđuje ako se pojavi sigurnosni rizik, a vrijeme potrebno za primjenu patcha je maksimalno unutar jednog dana (od trenutka prijave problema). Potencijalni realni sigurnosni problemi se nalaze u dva dodatna stupa: vanjski moduli (plugins) i vanjski vizualni predlošci sadržaja (themes).

Vanjski open source moduli

Najveća sigurnosna prijetnja za bilo kakav open source projekt su opcionalni vanjski programski moduli tzv. pluginovi. Oni programerima omogućuju ugradnju gotove funkcionalnosti – izrade formulara, kompleksnih izbornika, alata za upravljanje forumima ili pak cijelih eCommerce funkcionalnosti. Sve se to realizira pomoću dodatnih pluginova kako bi WordPress “core” ostao fokusiran samo na bazične CMS funkcije.

Plugin se može napraviti unutar developerskog tima koji radi na projektu i time ne predstavlja dodatni sigurnosni rizik. No vrag leži u detaljima. Naime, plugin možete preuzeti i od nepoznatog vanjskog autora (besplatno ili za određenu svotu ako se radi o premium pluginu) i s time kao “bonus” dobijete dodatni sigurnosni problem budući da se na programskom kodu mora napraviti security audit i detaljna provjera funkcionalnosti. Izazov provjere je ogromna količina gotovih pluginova – trenutno na WordPress repozitoriju postoji oko 48.488 besplatnih pluginova i isto toliko vanjskih autora. Kvaliteta njihovog programskog koda i sigurnosnih postavki poprilično oscilira tako da budite oprezni s kojim autorima surađujete.

Dva su glavna pravila kod uključivanja 3rd party plugina – koristite premium plaćene pluginove koji imaju službeni support s jasnim SLA pravilima. Ukoliko koristite besplatne pluginove od vanjskih autora bez SLA ugovora – utoliko uvijek koristite samo dobrano provjerene module i njihove autore poput Yoast SEO, Akismet, iThemes security i Google XML sitemaps. Ovo je ujedno i preporuka za implementaciju pluginova koje trebate imati na svakoj WordPress instalaciji. Kada u projekt treba ugraditi dodatne funkcionalnosti, razvijte ih unutar vlastitog developerskog tima, uz eventualnu iznimku višejezičnosti sustava. Tada slobodno koristite premium plugin WPML (WordPress MultiLanguage) koji se pokazao kao stabilno i robusno rješenje u WordPress ekosustavu.

Vanjski (open source) vizualni predlošci sadržaja

Izgled i interaktivnost WordPress projekta se definira pomoću tzv. “teme”. Isto kao i kod pluginova, imate tri opcije – temu možete napraviti unutar vlastitog tima, preuzeti besplatno s repozitorija gotovih tema ili ju kupiti od (kvalitetnog, premium) vanjskog programera. Pravila vrijede kao i za pluginove, no ipak, izrada teme je drugačije naravi – cijeli dizajn i interaktivnost se definiraju pomoću nje pa je preporuka da krenete s internim razvojem i da ne kupujete gotova rješenja.

Svi veći državni projekti na WordPressu – NCCVO, HBOR, ENU imaju vlastitu WordPress temu produciranu isključivo za njihove potrebe, a osmišljenu na temelju dizajnerskog procesa – nešto o čemu ćemo više pričati u drugom dijelu ovoga teksta.

Serveri i skalabilnost

Velik dio sigurnosnih postavki je vezan i uz Linux operativni sustav, FTP/GIT dopuštenja, značajke MySQL enginea ili Apache/NGINX web servera. Te stavke nisu direktno vezane uz WordPress pa ćemo ih samo okrznuti.

Važan faktor kod “hostinga” je skalabilnost i opsluživanje korisnika uz vječno pitanje – podržava li WordPress velik broj posjeta? Ukratko, odgovor je “da”, WordPress podržava ogroman broj korisnika, a točan podatak ovisi upravo o odabiru hostinga i kvaliteti implementacije. TechCrunch, New Yorker, Reuters, BBC i NewsCorp Australia opovrgavaju glasinu da se WordPress ne može skalirati. Čak i iznenadni rast prometa nije problem – XeroShoes je nakon nastupa na Shark Tanku 2013. počeo dobivati milijune upita na njihovu AWS infrastrukturu, a WordPress i WooCommerce implementiran povrh EC2 je uspješno realizirao sve zaprimljene narudžbe. Taj interesantan događaj možete detaljnije proučiti na WordPress TV-u i WooConf 2016 izvještaju.

Sva ta web sjedišta uspješno opslužuju milijune korisnika dnevno, dok primjerice NewsCorp Australia ima bazu od 7 milijuna objavljenih članaka u WordPress (MariaDB) bazi podataka. Članci, objave i količina sadržaja su također vezani uz pitanje skalabilnosti, pogotovo kod državnih aplikacija, a upravo je i arhitektura sadržaja sljedeća tema teksta.

 

Stay tuned! U sljedećem nastavku ovoga tjedna govorimo o razvoju i mogućnostima interaktivnog sadržaja, a zatim i o dizajnu open source online aplikacija. Također, ovogodišnje najveće hrvatsko okupljanje WordPress zajednice, WordCamp Zagreb, održat će se od 1. do 3. rujna sa središnjim konferencijskim danom u Muzeju suvremene umjetnosti. Prijavite se!

Komentari

  1. Borna Filipovic

    Borna Filipovic

    02. 06. 2017. u 10:57 am Odgovori

    Pozdrav,
    Navodite primjere kompleksnih implementacija WP open sourcea CMS-a u svijetu pa me zanima da li imate slicnu implementaciju u HR. Odnosno koliko ste takvih kompleksnih projekata odradili ili za njih znate? Nažalost HBOR, NCCVO i sl. mi izgledaju prilicno jednostavni webovi.

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Tehnologija

Svoj novčanik od sada i u Hrvatskoj možete zamijeniti – aplikacijom!

Za Google Pay ste vjerojatno već čuli, ali ako nemate račun u nekoj stranoj banci, niste ga mogli niti koristiti u Hrvatskoj. To se sada mijenja - ali samo za neke.

Kultura 2.0

Zašto je HRT ukinuo HD čim je završilo Svjetsko prvenstvo (i tek onda predstavio novi HRTi app?!)

Nova HRTi aplikacija stigla je tek nakon završetka Svjetskog prvenstva u nogometu, a nakon prvenstva se čini kako trebamo i zaboraviti da ćemo zemaljskim signalom dobiti HD programe u skorije vrijeme. Zašto?

Startupi i poslovanje

Good Gameov žiri odlučit će kojem hrvatskom startupu ide 100 tisuća kuna!

Nakon uspješnog trećeg izdanja Good Gamea ove godine, od kotizacija timova prikupljeno je 100 tisuća kuna, a taj novac će se investirati u jednu poslovnu ideju. Koja će to biti saznat ćemo na Good Game Liftoffu u rujnu ove godine, ali za sada znamo imena članova žirija koji će tu odluku i donijeti.

Što ste propustili

Startupi i poslovanje

Zakon o doprinosima: Uključite se u javnu raspravu za spas malih tvrtki!

Jedno od rijetkih povećanja plaća kojima se mnogi neće veseliti. Tisuće malih i mikro poduzeća, a među njima brojna iz IT industrije, mogli bi se naći na rubu propasti ako prođe nova Vladina izmjena i dopuna Zakona o doprinosima.

Kultura 2.0

Živjeti od glazbe u Hrvatskoj: Svirali su u garažama, a sada produciraju za video igre

Donosimo priču četiri glazbenika, producenta i kompozitora kroz put nekonvencionalne glazbene karijere: kako se sklada za gaming blockbustere?

Digitalni mediji

Infowars dokazuje da su društveni mediji – mediji bez odgovornosti (čak i kod nas)

Društveni mediji ne žele imati odgovornost kakvu imaju mediji, njihovi novinari, urednici. A opet, imaju je.

Društvene mreže

Trebamo li ‘out of office’ za Facebook, LinkedIn i Instagram (i kako ga postaviti)

Je li vrijeme da postavimo 'out of office' i na društvene mreže, ne samo službeni email?

Internet marketing

Kako Poreznoj upravi dokazati da doista obavljate digitalne, a ne fiktivne usluge?

Kako dokazati da je digitalna usluga koju ste prodali klijentu zapravo digitalna usluga, a ne samo nešto fiktivno osmišljeno samo kako biste zgrabili te pare, pitanje je koje postaje sve aktualnije u vremenu kada sve više tvrtki posluje isključivo ovim putem, a posebice kad ovakvi slučajevi postaju predmet istrage USKOK-a.

Društvene mreže

Sad kad znate koliko trošite Facebook i Instagram, blokirajte ih (znamo da ne-će-te)

Godinama nakon što smo se počeli time opterećivati, Facebook nam je predstavio (pre)jednostavan alat koji nam otkriva koliko točno godi… minuta trošimo, ne samo na njemu, nego i Instagramu. Je li ovo znak da konačno blokiramo društvene mreže - ili možemo biti iskreni sami sa sobom kako ih koristimo?