U razvoju rješenja za upravljanje informacijama o proizvodu (PIM), digitalnom imovinom (DAM), web sadržajem (CMS) i e-trgovinom - virovitički Factory odabrao je Pimcore - saznajemo što ih je osvojilo kao inženjere i koje su mu specifičnosti?
Osnovan 2013. godine u Austriji, Pimcore sa svojom platformom temeljenom na otvorenom računalnom kodu u tržišnoj je utakmici s divovima kao što su Oracle, SAP i Informatica. Bez obzira na to, zahvaćaju značajan dio tržišta. Njihove usluge koristi više od 110 tisuća tvrtki diljem svijeta, među kojima su IKEA, Audi, Burger King, Vespa, T-mobile, Krka, AirSerbia, Knuth, Kenty Adria, Plodine i Laticrete.
U pitanju je platforma koja služi za centralizirano upravljanje digitalnim podacima, posebno dizajnirana za poduzeća koja se bave upravljanjem informacijama o proizvodu (PIM), digitalnom imovinom (DAM), web sadržajem (CMS) i ecommerceom. Fleksibilna je i skalabilna, što ju čini pogodnom za digitalizaciju poslovanja, odnosno pojednostavljivanje upravljanja podacima i digitalnim sadržajem.
Kako je Netokraciji rekao Marko Čučković, Tech Lead i Senior Full Stack Developer iz virovitičke razvojne agencije Factory, Pimcore je vrlo lako prilagoditi poslovnim potrebama i integrirati s novim tehnologijama ili sustavima.
Pimcore ima izuzetan potencijal za prilagodbu velikoj većini projekata na tržištu, osobito u svijetu upravljanja podacima. Njihova rješenja omogućavaju nama, i klijentima za koje radimo, direktan fokus na poslovna rješenja i ciljeve klijenata što povećava efikasnost digitalizacije poslovnih rješenja klijenata.
Primjerice, korištena je za gotova rješenja za ecommerce, rješenja za upravljanje velikim skladištima, cjelovita rješenja za farmaceutske tvrtke (digitalizacija od registracije do proizvodnje lijekova), rješenja za obogaćivanje proizvoda i distribuciju na povezane kanale, sustave za upravljanje medicinskim nalazima, sustave za konfiguratore proizvoda…
Objedinjeno sučelje za rukovanje raznolikom digitalnom imovinom
Temelji se na frameworku Symfony PHP, a ključne su joj prednosti prilagodljivost za složene modele podataka, mogućnost integracije s drugim sustavima preko API-ja te podrška za višejezični i višekanalni sadržaj.
Pruža objedinjeno sučelje za rukovanje raznolikom digitalnom imovinom, uključujući opise proizvoda, slike, videozapise, dokumente i još puno toga. Također omogućava i interkonekcije među različitim tipovima podataka. Time poboljšava produktivnost jer smanjuje potrebu za višestrukim alatima i smanjuje rizik od dupliranja ili nedosljednosti podataka. Kako svi imaju pristup istim informacijama, timovi mogu raditi na ažuriranjima u stvarnom vremenu.
Na Pimcoreu je također moguće raditi web sučelje koristeći standardne Symfony rute, kontrolere i twig templating sustav. Isto tako je moguće i razvijati headless rješenja koristeći API sustav i GraphQL sustav s kojim Pimcore dolazi, pojašnjava Marko.
Bazu podataka moguće je puniti iz drugih sustava (recimo, ERP), kao i omogućiti dohvat podataka iz Pimcorea za druge sustave, koristeći REST API i GraphQL.
Sustav koji programerima olakšava da prebace fokus na bitnije stvari na projektu
Uz sve navedeno framework Symfony PHP, poznat je po stabilnosti, modularnosti i performansama. To znači kako raspolaže dobro dokumentiranim komponentama i praksama za programiranje aplikacija. U pozadini developeri koriste sve što Symfony pruža: standardni routing, containere i servise, controllere, komande, firewall…
Svemu se pristupa putem administracijskog sučelja koje podržava MDM, PIM, DAM, ecommerce, CDP i CMS, navodi Marko. Uz svaku od tih stavki dolaze i dodatni alati, kao što su Data Quality checks, ili Workflows za bilo koje podatke.
Prednost razvijanja projekta na Pimcoreu je sve ono što dobijemo od platforme “out of the box”. To direktno omogućava developerima, ali i cijelom projektnom timu, da fokus odmah stave na digitalno poslovanje klijenta te tako efikasno počnu pridonosti vrijednosti u digitalizaciji poslovanja klijenta.
U Pimcoreu modeliramo tablične podatke putem grafičkog sučelja, a ujedno i definiramo kako će izgledati administracijsko sučelje za određeni model. Kroz takvo sučelje možemo definirati gotovo sve što možemo definirati kroz obične mysql tablice, primjerice možemo definirati relacije, multi relacije između podataka, ali i još mnoštvo drugih tipova podataka koje pruža mysql te posebnih tipova podataka koja Pimcore pruža, kao i stvaranje vlastitih tipova podataka.
Pimcore tako u pozadini kreira i programski kod za tablice s već popunjenim funkcijama za manipulaciju podataka. Svaka tablica dobije svoju klasu koju je također moguće nadograditi kako bi se dodale dodatne funkcionalnosti.
Iako svaki projekt dolazi sa svojim izazovima, svi imaju barem neku zajedničku komponentu (primjerice, manipulaciju podacima).
Umjesto da developer mora razmišljati kako će tu stranu riješiti od projekta do projekta, fokus se odmah stavlja na rad onoga što je zapravo unikatno svakom projektu. Programeri se uglavnom bave rješavanjem novih problema s kojima se još vjerojatno nisu susreli, a to je ono što programeri vole.
Modularan dizajn koji se temelji na načelima SOLID
Zahvaljujući svom modularnom dizajnu, Pimcore omogućuje developerima dodavanje novih značajki i funkcionalnosti bez narušavanja postojećeg sustava. Primjerice, Pimcore ima funkcionalnost uvoza podataka (iz csv-a, Excela itd.), ali omogućuje developerima da vrlo lako dodaju i novi tip datoteke. Pimcore omogućuje implementaciju programskog sučelja kroz koje se ti novi podaci mogu registrirati kao novi dio funkcionalnosti, prateći pravila koja su definirana kroz SOLID principe.
Također, većina funkcionalnosti podržava standardni sustav Symfony Event, što omogućava praćenje različitih događanja i odrađivanje pojedinih funkcionalnosti na temelju nekog događaja u Pimcore sustavu.
Pimcore ima aktivnu i rastuću zajednicu developera i stručnjaka koji redovito doprinose platformi. Ovo osigurava stalne nadogradnje, poboljšanja kao i podršku kroz dokumentaciju i Github, ali i Pimcore akademiju gdje polaznici mogu dobiti certifikat na tri razine (junior, senior, enterprise).
Nudi sve što i drugi, i onda još malo
Platforme kao što su WordPress, Magento ili Shopify nedvojbeno su kvalitetne i imaju velike potencijale – ali, upozorava Marko, njihove najveće prednosti vide se kada se koriste na projektima za koje su primarno namijenjeni.
To ne znači da se s nekom od ovih platforma ne može napraviti nešto za što inicijalno nije bila namijenjena, ali će proces biti kompleksniji i duži.
Pimcore nudi sve što i te platforme, ali i puno više funkcionalnosti. Primjerice, pogodan je za velike web shopove s velikom količinom proizvoda te omogućuje obogaćivanje sadržaja i informacija o proizvodima kroz specificirane workflow korake koji se mogu definirati za bilo koje tipove proizvoda.
Onboarding uz stalnu podršku
Kako je u pitanju specifična platforma i framework, sa svojim pravilima i osobitostima, potrebno je uložiti nešto vremena i truda kako bi ju se savladalo.
U Factoryju zaposlenici prolaze kroz onboarding i plan učenja u trajanju od otprilike mjesec dana. Od prvog dana imaju podršku mentora koji prilagođava plan učenja individualno svakom kandidatu, uzimajući u obzir njegovo predznanje i iskustvo te brzinu kojom usvaja novo znanje. Svaki programer ima točno određene materijale i zadatke za pomoć pri učenju, a mentori su stalno dostupni za konzultacije i podršku, ističe Marko.
Iako može varirati ovisno o predznanju i iskustvu tima, onboarding tipično uključuje nekoliko ključnih koraka. Prvenstveno se moraju steći znanja o frameworku Symfony, što će olakšati razumijevanje što je u sferi Pimcorea, a što u Symfonyja.
Nakon toga slijedi uvod u platformu i njena instalacija.
O Pimcoreu naši kolege uče prvo kroz našu internu bazu znanja, a uz to preporučamo još službenu dokumentaciju, Udemy materijale te Pimcore academy na službenim stranicama same platforme.
Za sve koji sami žele ući u Pimcore, glavno je zagrijati stolicu prvih par dana i odrediti si cilj – izrada vlastite web stranice, sustava za logiranje, webshopa… – pa kroz praktični i teorijski rad doći do do rezultata.
Naravno, nije moguće odmah naučiti sve, dodaje Marko. Bitno je proći dokumentaciju od početka do kraja te se upoznati s mogućnostima koje platforma pruža, dok će praktičan zadatak dati jasnu osnovu, kako za rad u timu, tako i prvi pravi komercijalni projekt.
Užitak je vratiti zajednici znanje
U Factoryju, koji je jedini Pimcoreov strateški partner u Hrvatskoj, pomno prate razvoj te platforme kroz sve dostupne kanale.
Kao partneri, imamo priliku uvijek prvi dobiti relevantne informacije vezano za nove značajke, sudjelujemo u godišnjim online prezentacijama, redovito pratimo novosti kroz newslettere…
S više od 300 drugih developera također sudjelujemo i u Pimcore Inspireu, najvećem godišnjem događanju te platforme, gdje doznajemo novitete, fokus kompanije, vrijednosti na koje se mi trebamo orijentirati, pregled tržišta i svih noviteta, odnosno promjena koje Pimcore donosi.
Osim što je uključen u razvoj i optimizaciju funkcionalnosti same platforme, Factory također ima i posebnu bazu znanja na svojoj web stranici, gdje nude vodiče i druge sadržaje korisne onima koji žele u ući u svijet Pimcorea.
Uvijek je užitak vratiti zajednici znanje, osnažiti je, ali i dobiti određeno priznanje za rad i dijeljenje znanja kad nam se netko javi i pohvali/podijeli sadržaj.
Ako vam se Pimcore čini zanimljiv ili ste već o njemu istraživali i zanima vas razvoj karijere u tom smjeru, svakako bacite ono na Factoryjeve otvorene pozicije.
