Lo siguiente será crear una carpeta donde almacenar todas las aplicaciones de terceros que necesita Zoook. Esto será útil para poder actualizarlas con git, mercurial, svn, etc. en caso de necesitarlo.
La carpeta elegida para almacenar las aplicaciones de terceros será:
/home/roberto/django-projects/zoook-external
{code lang:bash title:"Crear la carpeta:"}cd ~/django-projects
mkdir zoook-external
{/code}
A continuación usaremos esa carpeta para almacenar las dependencias.
2.1.- OOOP ( Open Object On Python )
{code lang:bash title:"Para instalar OOOP:"}cd ~/django-projects/zoook-external
git clone https://github.com/zikzakmedia/ooop.git
cd ooop
sudo python setup.py install{/code}
2.2.- Pyro3 ( Python Remote Objects )
Buscar la descarga en su web:
http://pypi.python.org/pypi/Pyro/
en este artículo se usará la última versión disponible a día de hoy que es:
http://pypi.python.org/packages/source/P/Pyro/Pyro-3.15.tar.gz
{code lang:bash title:"Instalar Pyro3:"}cd ~/django-projects/zoook-external
wget pypi.python.org/packages/source/P/Pyro/Pyro-3.15.tar.gz
tar xvzf Pyro-3.15.tar.gz
cd Pyro-3.15
sudo python setup.py install{/code}
2.3.- Paramiko
en este artículo se usará la última versión disponible a día de hoy que es:
http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz
{code lang:bash title:"Para instalar Paramiko:"}cd ~/django-projects/zoook-external
wget http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz
tar xvzf paramiko-1.7.7.1.tar.gz
cd paramiko-1.7.7.1
sudo python setup.py install{/code}
2.4.- recaptcha-client
http://pypi.python.org/packages/source/r/recaptcha-client/
en este artículo se usará la última versión disponible a día de hoy que es:
http://pypi.python.org/packages/source/r/recaptcha-client/recaptcha-client-1.0.6.tar.gz
{code lang:bash title:"Para instalar recaptcha-client:"}cd ~/django-projects/zoook-external
wget http://pypi.python.org/packages/source/r/recaptcha-client/recaptcha-client-1.0.6.tar.gz
tar xvzf recaptcha-client-1.0.6.tar.gz
cd recaptcha-client-1.0.6
sudo python setup.py install{/code}
2.5.- inplaceditform
{code lang:bash title:"Clonar e instalar el fork de inplaceeditform mantenido por Zikzakmedia:"}cd ~/django-projects/zoook-external
git clone https://github.com/zikzakmedia/django-inplaceeditform.git
cd django-inplaceeditform
sudo python setup.py install{/code}
2.6.- django-localeurl
En caso de no tener instalado el control de versiones Mercurial hay que instalarlo.
{code lang:bash title:"Instalar Mercurial:"}sudo apt-get install mercurial{/code}
Después clonar el repositorio oficial de django-localeurl e instalarlo.
{code lang:bash title:"Clonar django-localeurl e instalarlo:"}cd ~/django-projects/zoook-external
hg clone https://bitbucket.org/carljm/django-localeurl
cd django-localeurl/
sudo python setup.py install{/code}
2.7.- django-transmeta
En caso de no tener instalado SVN hay que instalarlo.
{code lang:bash title:"Instalar SVN:"}sudo apt-get install svn{/code}
Después clonar el repositorio svn de django-transmeta e instalarlo.
{code lang:bash title:"Clonar django-localeurl:"}cd ~/django-projects/zoook-external
svn checkout http://django-transmeta.googlecode.com/svn/trunk/ django-transmeta
cd django-transmeta
sudo python setup.py install{/code}
2.8.- django-maintenancemode
{code lang:bash title:"Clonar e instalar el fork de django-maintenancemode mantenido por Zikzakmedia:"}cd ~/django-projects/zoook-external
git clone https://github.com/zikzakmedia/django-maintenancemode.git
cd django-maintenancemode
sudo python setup.py install{/code}
3.- Corregir rutas con prefijo "zoook".
Por defecto Zoook trae ciertas rutas en los import que incluyen "zoook.". Entendemos que deben tener agregado al PYTHONPATH la ruta de los proyectos y el prefijo "zoook" implica buscar dentro del proyecto zoook.
La solución propuesta es convertir esas urls en relativas al proyecto actual de zoook. Esto es, eliminar el prefijo "zoook." de las llamadas que lo contienen.
Será necesario realizar las siguientes modificaciones:
{code lang:python title:"Editar /zoook-app/settings.py y cambiar:"}ROOT_URLCONF = 'zoook.urls'{/code}{code lang:python title:"por:"}ROOT_URLCONF = 'urls'{/code}
{code lang:python title:"Editar /zoook-app/tools/cms/templatetags/imageslider.py y cambiar:"}from zoook.tools.cms.models import ImageSlider, ImageSliderItem{/code}{code lang:python title:"por:"}from tools.cms.models import ImageSlider, ImageSliderItem{/code}
{code lang:python title:"Editar /zoook-app/tools/cms/templatetags/menubuilder.py y cambiar:"}from zoook.tools.cms.models import Menu, MenuItem{/code}{code lang:python title:"por:"}from tools.cms.models import Menu, MenuItem{/code}
{code lang:python title:"Editar /zoook-app/tools/cms/templatetags/modules.py y cambiar:"}from zoook.tools.cms.models import Modules{/code}{code lang:python title:"por:"}from tools.cms.models import Modules{/code}
Dada la extensión de este artículo hemos decidido dividirlo. En la próxima parte estableceremos las conexiones con OpenERP y parametrizaremos Zoook.
