Portfolio blog

For teknisk interesserte...

Standarder, tekniske plattformer, teknologiske valg osv. er ikke interessant for alle. Vi har derfor samlet slik informasjon i dette dokumentet, som er myntet på dem som har behov for tekniske opplysninger. Ytterligere detaljer kan fås ved henvendelse til Fagbokforlaget.
tech_01.jpgPortfolio har integrert støtte for læringsobjekter produsert i Java og Flash. Dette gjør det mulig å lage avanserte programmer (plugins) som kan kommunisere direkte med Portfolio og utveksle informasjon med systemet. Portfolio har et veldokumentert API for dette.

Portfolio er utviklet mot databasemotoren PostgreSQL, men pga. god databasenøytralitet er det mulig å benytte enhver database som støttes av Perl DBI. Det eneste kravet til databasen er at den støtter subselects og transaksjoner. Alternative databasemotorer er eksempelvis MySQL5, Oracle og IBM DB2. Alle disse har støtte for den nødvendige funksjonaliteten.

Portfolio benytter Apache2 og mod_perl2 på GNU/Linux. Ubuntu 6.06 Server (eller Debian 3.1) anbefales som operativsystem for høyest stabilitet og best driftssikkerhet. Kombinasjonen Linux, Apache, MySQL og Perl (eventuelt PHP og/eller Pyton) blir ofte omtalt som LAMP i media. Fordi vi i Portfolio har valgt å ha hovedfokus på PostgreSQL (se forrige punkt), kan også betegnelsen LAPP benyttes. Mange tusen prosjekter på verdensbasis benytter samme teknologi som driftsplattform. Google og Wikipedia er bare to av mange prosjekter som benytter LAMP-løsninger.

Portfolio benytter det anerkjente makrospråket Template Toolkit som gjør det mulig å lage avanserte dynamiske dokumenter som tilpasser seg brukerens miljø. Template Toolkit gjør det også enkelt å lage tilpassede dokumentmaler for enkeltbrukere og institusjoner.

Portfolio leveres i første omgang med brukergrensesnitt på engelsk, bokmål, nynorsk og portugisisk. Flere språk legges til fortløpende ved behov og foregår raskt og enkelt f.eks. vha. poEdit. Portfolio benytter GNU gettext.

Portfolio har støtte for Secure Sockets Layer (SSL) i Apache2. Det innebærer at det også er mulig å lage nettsteder som støtter høy kryptering (128-bits kryptering) av data, noe som bør være et krav for alle systemer som kan inneholde sensitivt materiell.

Alle brukere, grupper og objekter i Portfolio benytter UUID (RFC4122) som identifikator. Dette gjør det enkelt å eksportere data fra en instans av Portfolio til en annen, uten at man trenger å være redd for duplisering av primærnøkler. Dette gjør det også meget enkelt å kommunisere med tredjeparter (f.eks. via AICC), fordi man kan være sikker på at nøkkelen man benytter er unik. UUID-er er umulig å gjette seg til og gjør uautoriserte forsøk på innhenting av data (hacking) svært vanskelig.

Portfolio er utviklet etter sikkerhetsprinsipper fra OWASP.