Pinax er en samling av små applikasjoner som implementerer funksjonalitet som ofte er felles for sosiale nettsider. Pinax bygger på et prinsipp hvor man lager enkle løst koblede applikasjoner som håndterer et konsept på en god måte. Per i dag finnes det applikasjoner som støtter følgende funksjonalitet:
- OpenID støtte for en samlet digital identitet
- Epost kontroll (sjekke at brukeren virkelig eier en gitt adresse)
- Passord administrasjon
- Globale utlysninger
- Rammeverk for å sende beskjeder til brukere
- Bruker-til-bruker meldinger
- Invitasjon av venner (både eksternt og internt)
- Twitter mikroblogg klon
- Oembed støtte for å integrere objekter fra tredjeparts sider (Flickr bilder, Youtube videoer, presentasjoner fra 280slides, osv.)
- Gravatar støtte for globale avatarer bunnet til din epost adresse.
- Interessegrupper (tribes)
- Prosjekter med oppgaver og oppgavelister
- Diskusjoner
- Wiki
- Blogging
- Bokmerker
- Tagging
- Kontakt import fra vCard, Google eller Yahoo
- Bildeadministrasjon
- Geografisk plassering av brukere
Når man bruker Pinax kan man derfor velge hvilke av disse applikasjonene man vil bruke basert på hva slags funksjonalitet man ønsker å eksponere sine brukere for. Med en slik sammensying av applikasjoner vil man forhåpentligvis ha et godt utgangspunkt for å kunne implementere de elementene som skiller ditt sosiale nettsted fra alle andre.
I denne artikkelen vil vi gi en installasjonsbeskrivelse av Pinax og en beskrivelse av hva dette produktet tilbyr “out of the box”. I senere artikler vil vi kunne beskrive hvordan man både tilpasser Pinax og utvider plattformen.
Forutsetnginger
Pinax og dens avhengigheter installeres enklest på en UNIX-basert plattform. Vi vil i denne introduksjonen fokusere på Debian GNU/Linux, men plattformspesifike inststruksjoner kan lett oversettes til andre Linux distribusjoner eller operativsystem som Ubuntu, Fedora, FreeBSD eller OS X.
Man bør ikke være redd for kommandolinjen da mesteparten av installasjonsprosessen vil foregå her. I tillegg kan det være nyttig å kjenne til progammeringsspråket Python samt rammeverket Django som begge er brukt for å utvikle Pinax.
Installasjon
Pinax sin egen kode samt enkelte av dens avhengigheter finnes direkte i versjonskontrollsiloer. Man må derfor installere Subversion og Git:
apt-get install git-core subversion
Pinax krever at man har Python installert samt en database for å kunne lagre innhold. Sqlite er enklest å bruke under uttesting:
apt-get install python sqlite3
Deretter lager vi en folder (vi har kalt den pariter) hvor vi kan installere Pinax samt alle avhengigheter:
mkdr pariter
Deretter laster vi ned og starter installasjonen av Pinax ved hjelp av at bootstrap script:
cd pariter
http://svn.pinaxproject.com/pinax/trunk/scripts/pinax-boot.py
python bootstrap.py pinax
Dette har gitt oss Pinax (uten spesifikke applikasjoner) samt Django. Disse har blitt installert i et virtuelt miljø. For å bruke Pinax må man derfor aktivere dette miljøet for hver sesjon:
cd pinax
source bin/activate
Pinax bruker pip som verktøy for å installere eksterne pakker utenom Pinax selv og Django. Man bruker enkle tekstfiler som beskriver hvor disse avhengighetene finnes og eventuelt hvilke versjoner man vil bruke. Pinax kommer med en slik fil som er satt opp til å hente alle avhengigheter inklusive de ulike applikasjonene som bygger opp Pinax sin funksjonalitet. For å installere alle disse gjør man som følger:
pip install -r src/pinax/requirements/external_apps.txt
Installasjonen av alle avhengighetene kan ta en del tid. Hvis man får feilmeldinger underveis (mest sannsynlig på grunn av nettverksproblemer) er det bare å starte prosessen igjen. Den eneste avhengigheten som ikke blir installert med pip er PIL (Python Imaging Library). Dette gjøres heldigvis enkelt i Debian med apt-get:
apt-get install python-imaging
Pinax kommer med flere ferdiglagede prosjekter som setter sammen flere eller alle av Pinax sine applikasjoner. Man kan basert på disse prosjektene lage sine egne og velge akkurat hva slags funksjonalitet man velger å tilby.
Vi vil nå teste ut et fullstendig prosjekt som inkluderer alle applikasjonene til Pinax. Det kan være lurt å gjøre dette først for å danne seg et bilde av hva slags funksjonalitet Pinax kan tilby og dereter luke ut det man ikke har behov for. Dette fullstendige prosjektet finner man i Pinax sin kildekode som ble lastet ned i bootsrapp prosessen i begynnelsen av installasjonen:
cd src/pinax/pinax/projects/complete_project
I denne folderen finner man manage.py, et script som håndterer det meste av interaksjonen med Pinax. Denne filen er standard for alle Django prosjekter. Siste steget vi må utføre før vi kan starte opp Pinax er å sette opp databasen med initiell data og tabellstrukturer:
python manage.py syncdb
Man vi bli spurt om man vil opprette en superbruker for denne installasjonen av Django/Pinax. Skriv yes og følg instruksjonene for å gjøre dette.
Når databasen er ferdig satt opp er det bare å starte Pinax. Vi bruker en HTTP server som kommer med Django for å lett teste ut prosjektet vi nå har satt opp:
python manage.py runserver
Serveren lytter nå på port 8000. Åpn opp din favoritt nettleser og gå til http://localhost:8000. Under vil du finne utvalgte skjermskudd av en standard Pinax installasjon.

Man kan logge på eller registrere både med tradisjonelt brukernavn og passord eller OpenID

Etter registrering blir man tatt til en velkomstside som informerer deg om de neste stegene du kan ta for å involvere deg i siden

Navigasjonen med alle applikasjoner installert har en tendens til å bli litt uryddig

Man får beskjed om forskjellige hendelser som bruker av nettsiden og har også mulighet til å styre hva man vil bli påminnet om

Man kan laste opp bilder samt gi de tagger og kommentarer

En liten Twitter klon har også fått plass i standardapplikasjonene

Man har mulighet for å indentifisere hvor man befinner seg geografisk ved hjelp av søk og kart

Pinax er i varierende grad oversatt til en håndfull språk
One Comment
Flott å sjå ein norsk artikkel om Django og Pinax. Eg ser fram til fleire!