EMBRAPA MONITORAMENTO POR SATÉLITE, GUIA RÁPIDO, JAN~2013 1 Abstract Guia rápido de operação do catálogo de imagens do Núcleo de Comunicação Organizacional da Embrapa Monitoramento por Satélite. Index Terms Catálogo de imagens, Gestão do Conhecimento, Gestão da Informação EMBRAPA MONITORAMENTO POR SATÉLITE, GUIA RÁPIDO, JAN~2013 2 Catálogo de imagens - Núcleo de Comunicação Organizacional Embrapa Monitoramento por Satélite I. BACKGROUND O Núcleo de Comunicação Organizacional possui um repositório de aproximadamente 200G de fotos e imagens não catalogados. Com o objetivo de organizar esse repositório, foram realizadas adaptações no pacote django-photologue e criadas ferramentas para upload automático das fotos do repositório. Também foram desenvolvidos templates básicos para consulta de imagens, por tags e conteúdo descritivo. Neste contexto, uma galeria de fotos é uma coleção de fotos. Galerias podem ser públicas ou privadas e podem ter tags. As fotos não são restritas a uma única galeria, podem possuir legendas, descrição, autor e tags. II. I MPLEMENTAÇÃO A. Requisitos de software 1) 2) 3) 4) 5) 6) 7) 8) 9) 10) Apache Python 2.7 Django 1.4.3 Postgresql (v > 8.2) PIL (pre-requisitos: zlib-devel freetype-devel libjpeg-devel) Pygments django-tagging psycopg2 mod_wsgi virtualenv B. Intalação 1) Criar ambiente virtual usando virtualenv sudo mkdir diretorio_do_sistema cd diretorio_do_sistema mkvirtualenv -no-site-packages -p path_to_python2.7 catalogo 2) Editar /̃.bash_aliases conforme o modelo A 3) Entrar no ambiente virtual cdw catalogo 4) Instalar os pré-requisitos pip install -upgrade django pip install -upgrade django-tagging pip install -upgrade django-photologue pip install -upgrade psycopg2 pip install -upgrade PIL 5) Criar banco de dados e perfil de usuário do banco sudo -u postgres dropdb catalogo sudo -u postgres createuser -S -D -R -E -P catalogo sudo -u postgres createdb -E utf8 -O catalogo catalogo 6) Copiar arquivos da pasta catalogo contida neste cd para o diretorio_do_sistema 7) Trocar o arquivo models.py do djago-photologue, i.e., diretorio_do_sistema/lib/python2.7/site-packages/photologue/models.py, pelo contido na pasta diretorio_do_sistema/catalogo/photologue 8) Criar banco e configurar o sistema python manage.py syncdb python manage.py plinit 9) Configurar Apache Copiar conteúdo de catalogo/apache/catalogo.conf para o fim do arquivo /etc/httpd/conf/httpd.conf sudo /etc/init.d/httpd restart sudo chkconfig httpd on 10) Habilitar diretorio_do_sistema/catalogo/media para receber as imagens sudo chmod -R 777 diretorio_do_sistema/catalogo/media EMBRAPA MONITORAMENTO POR SATÉLITE, GUIA RÁPIDO, JAN~2013 3 C. Modo de uso O sistema está instalado em um servidor virtual (sananduva - 192.168.157.61). As imagens estão sendo armazenadas em outro servidor (murta - 192.168.157.49), i.e., a pasta diretorio_do_sistema/catalogo/media tem um linki simbólico para outro servidor. 1) http://192.168.157.61/admin/: página de administração do catálogo 2) http://192.168.157.61/photologue/gallery/nome_da_galeria: página referente a uma galeria 3) http://192.168.157.61/search-form: procura todas as fotos que contém o termo de busca em quaisquer dos campos (legenda, descrição, autor, tag) 4) http://192.168.157.61/tag/nome_da_tag: página com todas as fotos com determinada tag A PPENDIX BASH _ ALIASES Modelo de /̃.bash_aliases usado especificamente no servidor sananduva. ########## # Django # ########## # To be run on a project’s directory (where settings.py lives) # Sets DJANGO_SETTINGS_MODULE and PYTHONPATH to current project function setdsm() { # adds the current directory and the parent directory to PYTHONPATH export PYTHONPATH=$PWD/..:$PWD/../lib/python2.7/site-packages:$PWD echo $PYTHONPATH # sets DJANGO_SETTINGS_MODULE if [ -z "$1" ]; then x=${PWD/\/[^\/]*\/} export DJANGO_SETTINGS_MODULE=$x.settings else # adds the current directory and the parent directory to PYTHONPATH export PYTHONPATH=$PWD/..:$PWD/../lib/python2.7/site-packages:$PWD echo $PYTHONPATH # sets DJANGO_SETTINGS_MODULE if [ -z "$1" ]; then x=${PWD/\/[^\/]*\/} export DJANGO_SETTINGS_MODULE=$x.settings else export DJANGO_SETTINGS_MODULE=$1 fi echo "DJANGO_SETTINGS_MODULE set to $DJANGO_SETTINGS_MODULE" } # Configures virtualenv & virtualenvwrapper export PIP_RESPECT_VIRTUALENV=true export WORKON_HOME=/opt/embrapa/python-environments export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenv source /usr/bin/virtualenvwrapper.sh # Django aliases alias mng=’django-admin.py’ alias run=’mng runserver’ alias cdh=’cd ~/; unset PYTHONPATH; unset DJANGO_SETTINGS_MODULE; deactivate’ alias cdw=’workon catalogo; cd $VIRTUAL_ENV/catalogo; setdsm’ alias python=’/opt/python27/bin/python’ alias python2.7=’/opt/python27/bin/python’