Systemet utvikles av en fast og dedikert utviklerstab i Norge. Dette gir høy grad av kontroll over kode og sikrer nærhet til basisutviklingen av systemet. Dermed kan vi, i motsetning til mange andre, garantere bakoverkompatibilitet ved oppgraderinger.

Plattform

CorePublish er laget med LAMP, en av verdens mest utbredte plattformer for webutvikling. Forkortelsen LAMP står for Linux (operativsystem), Apache (webserver), MySQL (database) og PHP (programmeringsspråk)

De viktigste årsakene til å benytte LAMP er at det er en raskt og effektiv utviklingsplattform. Utbredelsen gir god tilgang på kompetanse. CorePublish fungerer på de fleste Linux-distribusjoner som f.eks. Debian, Ubuntu, Redhat og CentOS, samt Windows Server.

SDK og utvikling

Som en av veldig få kommersielle CMS, er det mulig å kjøpe en SDK-lisens på CorePublish og utvikle løsninger selv. Det er både partnere og kunder som utvikler løsninger på CorePublish selv.

Klienter

CorePublish trenger ingen lokal installasjon og fungerer godt i alle de største nettleserne på markedet. Systemet kan administreres både fra nettbrett og mobil.

Vi benytter HTML5, CSS3 og andre moderne webteknologier. Det kreves ingen plugins, noe som gjør at det fungerer like bra på en Windows-PC som på Mac og Linux.

Utviklingsmetodikk

Vårt produktteam utvikler etter Scrum-metodikken, som sikrer en agil og smidig utviklingsprosess. Det benyttes kjente verktøy som GIT, PHPUnit, Jenkins og Fogbugz for å understøtte utviklingen.

CorePublish blir automatisk testet flere ganger daglig av flere hundre automatiske Unit-tester, som skal forhindre at det introduseres nye feil i videreutviklingen.

Videreutvikling

CorePublish blir kontinuerlig videreutviklet av en fast stab med norske utviklere, som har lang erfaring med webløsninger. Dette sikrer en god forvaltning, kontinuerlig videreutvikling og forbedring av produktet.

Det blir regelmessig lansert oppdateringer, både bug fix-versjoner og versjoner med ny funksjonalitet.

Skalering

CorePublish håndterer noen av de største nettstedene i Norge i forhold til mengde innhold og antall brukere. CorePublish er laget for å kunne skalere, både når det gjelder antall nettsteder, menypunkter, artikler, filer og brukere.

CorePublish håndterer også å bli installert på flere servere for lastbalansering, samlet bak dedikerte lastbalanserere som f.eks. Big-ip F5.

Sikkerhet

I utviklingen av CorePublish står sikkerhet i fokus. En rekke mekanismer sørger for beskyttelse mot kjente angrep som SQL Injection, XSS og XSRF. Produktet blir både automatisk og manuelt testet regelmessig for sikkerhet, og har bestått en rekke tester utført av tredjeparts sikkerhetsfirmaer.

Skulle det bli oppdaget sikkerhetshull, vil alle støttede versjoner av CorePublish raskt bli oppdatert, nye versjoner bli lansert og alle installasjoner bli oppgradert.

API og bakoverkompabilitet

CorePublish har sitt eget API (Application Programming Interface) som utviklere programmerer mot, kalt ”cplib”. Dette API’et er bakoverkompatibelt. Nettsteder laget på eldre versjoner fungerer fremdeles uten at man må kjøre dyre oppgraderingsprosesser for å oppgradere.

Caching og varnish

CorePublish har sin egen funksjonalitet for caching av innhold, for økt ytelse. Dette kan skje både ved filcaching, og ved bruk av APC eller memcached. Det er også laget en integrasjon med støtte for å bruke en Varnish-server i front av CorePublish.

Integrasjoner

CorePublish er fleksibelt og på mange områder kan man selv definere og overstyre funksjoner og integrere med tredjeparts systemer. Dette gjelder f.eks. autentisering, søk og caching, hvor man kan definere sine egne «plugins» som skal håndtere den gitte funksjonaliteten. Dette gjør det for eksempel enkelt å lage en ny autentisering mot en annen kilde. Det er også for eksempel mulig å lagre filer i multimediearkivet i Amazon S3 i stedet for å lagre dem lokalt.

Vi har også vårt eget API, ”cplib4j”, som gjør det mulig å hente innhold til andre applikasjoner via XML-feeds. Dette brukes i integrasjoner med eksterne søkemotorer.

Event og task-system

CorePublish har et innebygget Event-system som gjør det enkelt for utviklere å koble seg på hendelser. Det er enkelt å lage en tilpasset programkode som kjøres hver gang en artikkel blir publisert, uten å modifisere selve produktet.

Det er også et Task-system hvor man kan kjøre periodiske jobber på en trygg og effektiv måte.

Søk

CorePublish har flere måter å utføre søk på. I nyere utgaver benytter vi Elasticsearch som søkemotor. Denne er rask, gir gode treff og støtte en rekke relaterte funksjoner som ordstammer, synomymord etc.  Apache Tika benyttes for å trekke ut tekst fra filer slik at disse også blir indeksert.

Vi har også utviklet integrasjoner med flere eksterne søkemotorer, deriblant både Google, FAST, Virtualworks med flere. CorePublish har et eget API for enkelt å kunne integrere med eksterne søkemotorer.