Python Buildout på Snow Leopard og nye indholdstyper

Jeg arbejder med webudvikling, og primært til Plone CMS, og en af udfordringerne med den nuværende stabile version af Plone er at den er baseret på Python 2.4 og ikke de aktuelle Python 2.6 eller 3.x

For almindelig udvikling er det ikke noget problem med de forskellige versioner af Plone, da Plones Unified Installer sørger for at der bliver hentet den korrekte version af Plone til den aktuelle Plone/Zope installation man installerer. Udfordringen med Python kommer når man skal lave nye indholds typer eller mere special udvikling til Plone. Der kan det være en god ide at have en udviklings build.

Til nye indholdstyper er det nemmest at arbejde med ArchgenXML og ArgoUML, førstnævnte kræver en anden Zope opsætning end den der bliver leveret med Plones Unified Installer.

Efter noget søgen på nettet omkring dette fandt jeg frem til Jim B’s Blog, hvor der var en meget simpel vejledning til hvordan man kan få de rigtige Python versioner hentet til Plone uden at man er afhængig af Unified Installer eller at man skal ændre på Mac OS’s standard Python Installation. Herunder kommer jeg med en gengivelse af installationen, som jeg selv har kørt den.

For at kunne køre med dette setup så er det nødvendigt at man har installeret Apples Developer Tools

Python Buildout

Jeg har i mit home dir oprettet en Plone folder hvor jeg har det meste af mit Plone arbejde (jeg gemmer dog en del filer i Dropbox, så jeg har adgang til det på de maskiner jeg typisk har med i min udviklingsproces)

I denne folder opretter jeg endnu en folder:

$ cd ~/Plone
$ mkdir python_buildout

Herefter hentes den seneste version af buildout ud af SVN

$ cd python_buildout

$ svn co http://svn.plone.org/svn/collective/buildout/python/ .

Herefter køres bootstrap.py

$ /usr/bin/python bootstrap.py


Efter bootstrap har opsat de foldere og filer der er nødvendige for at køre er vi klar til at køre buildout

$ ./bin/buildout

Mens den kommando kører kan man fint snuppe sig en kop kaffe, Te eller Øl for det tager noget tid da der er en del filer der skal downloades og kompileres

ArchgenXML buildout

Der er lige kommet en ny bog på gaden omkring Plone 3 Product Development fra den er der et godt eksemple på hvordan man laver et ArchgenXML buildout, så man har rammerne på plads til at kunne lave nye indholdstyper.

Vi starter med at oprette en ny folder i vores Plone folder

$ cd ~/Plone

$ mkdir archgenxml_buildout

$ cd archgenxml_buildout

Herefter hentes den almindelige bootstrap fra http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py som gemmes i vores nye archgenxml_buildout folder.

Vi skal nu lave en ny buildout.cfg fil som indeholder følgende:

[buildout]
parts =
archgenxml
agx-profile

[archgenxml]
recipe = zc.recipe.egg:scripts
eggs = archgenxml

[agx-profile]
recipe = iw.recipe.cmd
on_install=true
on_update=false
cmds =
mkdir ${buildout:directory}/profiles
cd ${buildout:directory}/profiles
${buildout:directory}/bin/agx_argouml_profile

Når vi har gemt den kan vi køre bootstrap.py og buildout

$ ../python_buildout/python-2.4/bin/python2.4 bootstrap.py

$ ./bin/buildout

Herefter vil der i “profiles” folderen ligge en archgenxml_profile.xmi som vi kan bruge i ArgoUML.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *