mirror of https://github.com/interlegis/sigi.git
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							458 lines
						
					
					
						
							16 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							458 lines
						
					
					
						
							16 KiB
						
					
					
				| % $Id$ | |
| % --------------------------------------------------------------------------- | |
| % | |
| %  This is part of the SIGI. | |
| %  Copyright (C) 2008 Interlegis | |
| %  See the file relatorio.tex for copying conditions. | |
| % | |
|  | |
| \section{Anexo - Arquivo LEIA-ME} | |
| \label{sec:a1} | |
| \verbatiminput{../../../../LEIA-ME} | |
| 
 | |
| \section{Anexo - Arquivo visaogeral.txt} | |
| \label{sec:a2} | |
| O \textbf{SIGI} é um projeto para um Sistema de Informações Gerenciais do | |
| \href{http://www.interlegis.gov.br/}{Interlegis}, escrito na linguagem de | |
| programação \href{http://www.python.org}{Python} com o framework para | |
| desenvolvimento web \href{http://www.djangoproject.org}{Django}. | |
| \begin{description} | |
| %[visit_definition_list_item] | |
| \item[{Página do projeto}:] %[visit_definition] | |
|  | |
| \href{http://colab.interlegis.gov.br/wiki/ProjetoSigi}{http://colab.interlegis.gov.br/wiki/ProjetoSigi} | |
| 
 | |
| %[depart_definition] | |
| %[depart_definition_list_item] | |
| \end{description} | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{caracter-sticas}{} | |
| \pdfbookmark[0]{Características}{caracter-sticas} | |
| \subsection*{Características} | |
| 
 | |
| Lista das principais características do SIGI: | |
| \begin{itemize} | |
| \item {}  | |
| Serviço web cliente/servidor, podendo ser disponibilizado tanto na | |
| internet quanto na intranet; | |
| 
 | |
| \item {}  | |
| Multi-plataforma; | |
| 
 | |
| \item {} Baseia-se na interface de administração nativa do Django | |
|   (\verb|django.contrib.admin|, maiores informações em | |
|   \href{http://docs.djangoproject.com/en/dev/ref/contrib/admin/}{http://docs.djangoproject.com/en/dev/ref/contrib/admin/}); | |
| 
 | |
| \item {}  | |
| Gerencia convênios, equipamentos e inventários, serviços prestados e | |
| composição de Mesas Diretoras das Casas Legislativas; | |
| 
 | |
| \item {}  | |
| Autenticação no sistema baseada em usuários e grupos, com perfis | |
| diferentes; | |
| 
 | |
| \item {}  | |
| Emissão de relatórios. | |
| 
 | |
| \end{itemize} | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{aplica-es}{} | |
| \pdfbookmark[0]{Aplicações}{aplica-es} | |
| \subsection*{Aplicações} | |
| 
 | |
| Lista das aplicações Django desenvolvidas para o SIGI: | |
| \begin{description} | |
| %[visit_definition_list_item] | |
| \item[{sigi.apps.casas}:] %[visit_definition] | |
|  | |
| Gerência de Casas Legislativas. | |
| 
 | |
| %[depart_definition] | |
| %[depart_definition_list_item] | |
| %[visit_definition_list_item] | |
| \item[{sigi.apps.contatos}:] %[visit_definition] | |
|  | |
| Gerência de Contatos do Interlegis com Casas Legislativas, | |
| fornecedores de equipamentos, serviços e etc. | |
| 
 | |
| %[depart_definition] | |
| %[depart_definition_list_item] | |
| %[visit_definition_list_item] | |
| \item[{sigi.apps.convenios}:] %[visit_definition] | |
|  | |
| Convênios do Interlegis com as Casas Legislativas. | |
| 
 | |
| %[depart_definition] | |
| %[depart_definition_list_item] | |
| %[visit_definition_list_item] | |
| \item[{sigi.apps.inventario}:] %[visit_definition] | |
|  | |
| Inventário de equipamentos disponibilizados pelo Interlegis para as | |
| Casas Legislativas. | |
| 
 | |
| %[depart_definition] | |
| %[depart_definition_list_item] | |
| %[visit_definition_list_item] | |
| \item[{sigi.apps.mesas}:] %[visit_definition] | |
|  | |
| Composição das Mesas Diretoras das Casas Legislativas. | |
| 
 | |
| %[depart_definition] | |
| %[depart_definition_list_item] | |
| %[visit_definition_list_item] | |
| \item[{sigi.apps.parlamentares}:] %[visit_definition] | |
|  | |
| Gerência de Parlamentares. | |
| 
 | |
| %[depart_definition] | |
| %[depart_definition_list_item] | |
| %[visit_definition_list_item] | |
| \item[{sigi.apps.servicos}:] %[visit_definition] | |
|  | |
| Serviços prestados às Casas Legislativas conveniadas ao Interlegis. | |
| 
 | |
| %[depart_definition] | |
| %[depart_definition_list_item] | |
| \end{description} | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{requisitos-b-sicos-de-software}{} | |
| \pdfbookmark[0]{Requisitos básicos de software}{requisitos-b-sicos-de-software} | |
| \subsection*{Requisitos básicos de software} | |
| \begin{itemize} | |
| \item {}  | |
| Python {\textgreater}= 2.4 {\textless} 3.0 | |
| 
 | |
| \item {}  | |
| Django 1.0 | |
| 
 | |
| \end{itemize} | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{instala-o-e-documenta-o}{} | |
| \pdfbookmark[0]{Instalação e documentação}{instala-o-e-documenta-o} | |
| \subsection*{Instalação e documentação} | |
| 
 | |
| Para informações quanto a instalação do SIGI e demais configurações, | |
| veja o arquivo \texttt{docs/instalacao.txt}. | |
| \begin{description} | |
| %[visit_definition_list_item] | |
| \item[{Casos de uso}:] %[visit_definition] | |
|  | |
| \texttt{docs/arquivos/casosdeuso.dia} | |
| 
 | |
| %[depart_definition] | |
| %[depart_definition_list_item] | |
| %[visit_definition_list_item] | |
| \item[{Grafo dos Modelos}:] %[visit_definition] | |
|  | |
| \texttt{docs/arquivos/models.png} | |
| 
 | |
| %[depart_definition] | |
| %[depart_definition_list_item] | |
| %[visit_definition_list_item] | |
| \item[{Esquema de dados}:] %[visit_definition] | |
|  | |
| \texttt{docs/arquivos/esquema.sql} | |
| 
 | |
| %[depart_definition] | |
| %[depart_definition_list_item] | |
| \end{description} | |
| 
 | |
| A documentação do SIGI está disponível no diretório \texttt{docs/}. | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{licen-a-de-uso}{} | |
| \pdfbookmark[0]{Licença de uso}{licen-a-de-uso} | |
| \subsection*{Licença de uso} | |
| 
 | |
| O SIGI é disponibilizado como | |
| \href{http://pt.wikipedia.org/wiki/Software_Livre}{software livre}, | |
| isto significa que você pode redistribuí-lo e/ou modifica-lo dentro | |
| dos termos da Licença Pública Geral GNU (GPL) como publicada pela | |
| Fundação do Software Livre (FSF); na versão 3 da Licença, ou (na sua | |
| opinião) em qualquer versão mais recente. | |
| 
 | |
| Veja o arquivo \texttt{LEIA-ME} para maiores informações a respeito das | |
| condições de cópia e redistribuição. | |
| 
 | |
| \section{Anexo - Arquivo instalacao.txt} | |
| \label{sec:a3} | |
| Este documento descreve como efetuar a instalação do Sistema de | |
| Informações Gerenciais do Interlegis (SIGI). Os passos são baseados | |
| nas distribuições GNU/Linux Debian e Ubuntu. Podem ser aplicados sem | |
| dificuldades em outras distribuições, mas poderão sofrer alguma | |
| adaptação. | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{prepara-o-do-ambiente-para-a-instala-o}{} | |
| \pdfbookmark[0]{Preparação do ambiente para a instalação}{prepara-o-do-ambiente-para-a-instala-o} | |
| \subsection*{Preparação do ambiente para a instalação} | |
| 
 | |
| Há dois tipos de instalação do SIGI, uma para desenvolvimento e outra | |
| para produção. | |
| 
 | |
| Para ambas instalações, certifique-se que os seguintes softwares | |
| estejam instalados em seu sistema: | |
| \begin{itemize} | |
| \item {}  | |
| Python {\textgreater}= 2.4 {\textless} 3.0 | |
| 
 | |
| \item {}  | |
| Django 1.0 | |
| 
 | |
| \end{itemize} | |
| 
 | |
| O Python pode ser instalado a partir do pacote \texttt{python} com uma | |
| ferramenta de instalação de pacotes como o \texttt{apt-get} ou | |
| \texttt{aptitude}. | |
| 
 | |
| Se a sua distribuição não possui o pacote \texttt{python-django}, para | |
| o Django na versão 1.0, será necessário obter e configurar o mesmo | |
| manualmente. A próxima seção traz mais detalhes para esta tarefa. | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{instala-o-do-django}{} | |
| \pdfbookmark[1]{Instalação do Django}{instala-o-do-django} | |
| \subsubsection*{Instalação do Django} | |
| 
 | |
| O Django 1.0 pode ser obtido através da \href{http://www.djangoproject.com/download/}{página de download} do \href{http://www.djangoproject.com}{Django Project} via \emph{tarball} (\texttt{tar.gz}) ou via | |
| Subversion (revisão 8961). | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{obtendo-e-instalando-o-django}{} | |
| \pdfbookmark[2]{Obtendo e instalando o Django}{obtendo-e-instalando-o-django} | |
| \subsubsection*{Obtendo e instalando o Django} | |
| 
 | |
| Primeiramente baixe o \href{http://www.djangoproject.com/download/1.0/tarball/}{tarball do Django 1.0} ou dê | |
| \emph{checkout} na tag 1.0 disponível no repositório do Subversion do | |
| projeto: | |
| \begin{quote}{\ttfamily \raggedright \noindent | |
| svn~checkout~http://code.djangoproject.com/svn/django/tags/releases/1.0/ | |
| }\end{quote} | |
| 
 | |
| Após isso será necessário colocar o pacote Python do \texttt{django} | |
| (diretório \texttt{django} disponível dentro do diretório/tarball baixado) | |
| no \emph{path} do Python. | |
| 
 | |
| Para saber quais são os diretórios que estão no path do Python, | |
| execute em linha de comando: | |
| \begin{quote}{\ttfamily \raggedright \noindent | |
| python~-c~'import~sys;~print~sys.path' | |
| }\end{quote} | |
| 
 | |
| Você tem opção de mover o pacote \texttt{django} para algum diretório | |
| coberto pelo path ou adicionar um outro local no path utilizando a | |
| variável de ambiente \texttt{PYTHONPATH} do usuário que rodará o sistema. O | |
| formato do \texttt{PYTHONPATH} é o mesmo do \texttt{PATH} do sistema. Exemplo: | |
| \begin{quote}{\ttfamily \raggedright \noindent | |
| PYTHONPATH=/path/to/django:{\$}PYTHONPATH | |
| }\end{quote} | |
| 
 | |
| De maneira simplificada, a instalação do Django é como a instalação de | |
| qualquer outro pacote Python. | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{preparando-o-ambiente-para-desenvolvimento}{} | |
| \pdfbookmark[1]{Preparando o ambiente para desenvolvimento}{preparando-o-ambiente-para-desenvolvimento} | |
| \subsubsection*{Preparando o ambiente para desenvolvimento} | |
| 
 | |
| Se você irá desenvolver o SIGI, é necessário possuir os seguintes | |
| pacotes instalados em sua máquina: | |
| \begin{itemize} | |
| \item {}  | |
| sqlite3, para SQLite 3; | |
| 
 | |
| \item {}  | |
| python-pysqlite2, interface Python para SQLite 3. | |
| 
 | |
| \end{itemize} | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{preparando-o-ambiente-para-produ-o}{} | |
| \pdfbookmark[1]{Preparando o ambiente para produção}{preparando-o-ambiente-para-produ-o} | |
| \subsubsection*{Preparando o ambiente para produção} | |
| 
 | |
| Para disponibilizar o SIGI em um ambiente para produção você | |
| necessitará do MySQL Server ou PostgreSQL, ou qualquer outro Sistema | |
| Gerenciador de Banco de Dados (SGBD) compatível com Django 1.0, e de | |
| suas seguintes interfaces para Python, como os pacotes | |
| \texttt{python-mysqldb} e \texttt{python-psycopg2} (respectivamente para MySQL e | |
| PostgreSQL). | |
| 
 | |
| Será necessário também possuir o Apache ({\textgreater}= 2.2) instalado para | |
| disponibilizar o sistema via HTTP, de forma cliente/servidor, ou outro | |
| servidor web compatível com Python e WSGI (ou FastCGI). | |
| 
 | |
| Opcionalmente, você pode utilizar o servidor web Lighttpd para servir | |
| os arquivos estáticos do sistema. | |
| 
 | |
| Você encontrará configurações para Apache com WSGI neste documento, | |
| juntamente com instruções para configurar o SIGI com o banco de dados | |
| escolhido. | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{instala-o-e-configura-o-do-sigi}{} | |
| \pdfbookmark[0]{Instalação e configuração do SIGI}{instala-o-e-configura-o-do-sigi} | |
| \subsection*{Instalação e configuração do SIGI} | |
| 
 | |
| O SIGI está disponível no \href{http://colab.interlegis.gov.br}{Colab}, | |
| um portal colaborativo para a gerência dos projetos de software do | |
| \href{http://www.interlegis.gov.br}{Interlegis}. | |
| 
 | |
| A página do projeto SIGI no Colab pode ser acessada através do link | |
| \href{http://colab.interlegis.gov.br/wiki/ProjetoSigi}{http://colab.interlegis.gov.br/wiki/ProjetoSigi}. | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{obtendo-e-instalando-o-sigi}{} | |
| \pdfbookmark[1]{Obtendo e instalando o SIGI}{obtendo-e-instalando-o-sigi} | |
| \subsubsection*{Obtendo e instalando o SIGI} | |
| 
 | |
| Para baixar o SIGI, é necessário ter o Subversion instalado em sua | |
| máquina (pacote \texttt{subversion}). Para \emph{checkout} do sistema via | |
| Subversion, execute o comando abaixo: | |
| \begin{verbatim} | |
| svn checkout http://repositorio.interlegis.gov.br/SIGI/trunk/ \ | |
|   /path/to/SIGI | |
| \end{verbatim} | |
| 
 | |
| Substitua \texttt{/path/to/SIGI} para o local onde deseja instalar o | |
| SIGI. (Iremos considerar o diretório SIGI como a raiz do projeto | |
| durante o restante deste documento.) | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{configura-o-do-sigi}{} | |
| \pdfbookmark[1]{Configuração do SIGI}{configura-o-do-sigi} | |
| \subsubsection*{Configuração do SIGI} | |
| 
 | |
| Dentro da raiz do projeto, encontra-se um diretório de nome \texttt{sigi} | |
| (pacote Python do projeto). Sua configuração padrão, se encontra no | |
| arquivo \texttt{settings.py}. | |
| 
 | |
| Para alterar as configurações do projeto, é recomendado que copie o | |
| arquivo \texttt{local{\_}settings.template} para \texttt{local{\_}settings.py} e | |
| altere os parâmetros neste arquivo. | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{instala-o-em-ambiente-para-desenvolvimento}{} | |
| \pdfbookmark[1]{Instalação em ambiente para desenvolvimento}{instala-o-em-ambiente-para-desenvolvimento} | |
| \subsubsection*{Instalação em ambiente para desenvolvimento} | |
| 
 | |
| As configurações padrão do projeto já estão direcionadas para um | |
| ambiente de desenvolvimento e não exige demais configurações. | |
| 
 | |
| (Os comandos abaixo deverão ser executados dentro do diretório | |
| \texttt{sigi}, onde se encontra o arquivo \texttt{manage.py}.) | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{base-de-dados-em-ambiente-para-desenvolvimento}{} | |
| \pdfbookmark[2]{Base de dados em ambiente para desenvolvimento}{base-de-dados-em-ambiente-para-desenvolvimento} | |
| \subsubsection*{Base de dados em ambiente para desenvolvimento} | |
| 
 | |
| Antes de executar o projeto, é necessário preencher o banco de dados | |
| com suas tabelas e valores padrão. | |
| 
 | |
| Considerando que possua o SQLite instalado, basta executar o comando | |
| abaixo: | |
| \begin{quote}{\ttfamily \raggedright \noindent | |
| python~manage.py~syncdb | |
| }\end{quote} | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{execu-o-do-projeto-em-ambiente-para-desenvolvimento}{} | |
| \pdfbookmark[2]{Execução do projeto em ambiente para desenvolvimento}{execu-o-do-projeto-em-ambiente-para-desenvolvimento} | |
| \subsubsection*{Execução do projeto em ambiente para desenvolvimento} | |
| 
 | |
| Para rodar o SIGI, execute em linha de comando: | |
| \begin{quote}{\ttfamily \raggedright \noindent | |
| python~manage.py~runserver | |
| }\end{quote} | |
| 
 | |
| O projeto poderá ser acessado através do endereço | |
| \href{http://127.0.0.1:8000/}{http://127.0.0.1:8000/}. | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{instala-o-em-ambiente-para-produ-o}{} | |
| \pdfbookmark[1]{Instalação em ambiente para produção}{instala-o-em-ambiente-para-produ-o} | |
| \subsubsection*{Instalação em ambiente para produção} | |
| 
 | |
| Para instalar o SIGI em ambiente para produção, devemos configurar um | |
| Sistema Gerenciador de Banco de Dados (SGBD), o qual armazenará os | |
| dados do sistema, e configurar um servidor HTTP, como o Apache, para | |
| disponibilizar o sistema na web. | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{configura-o-do-sgdb}{} | |
| \pdfbookmark[2]{Configuração do SGDB}{configura-o-do-sgdb} | |
| \subsubsection*{Configuração do SGDB} | |
| 
 | |
| Modifique em seu \texttt{local{\_}settings.py} as variáveis | |
| \texttt{DATABASE{\_}ENGINE}, \texttt{DATABASE{\_}NAME}, \texttt{DATABASE{\_}USER}, | |
| \texttt{DATABASE{\_}PASSWORD}, \texttt{DATABASE{\_}HOST} e \texttt{DATABASE{\_}PORT} de acordo | |
| com o banco de dados disponibilizado para o SIGI. | |
| 
 | |
| Em \texttt{DATABASE{\_}ENGINE}, suas opções são \texttt{postgresql{\_}psycopg2}, | |
| \texttt{postgresql}, \texttt{mysql}, \texttt{sqlite3} ou \texttt{ado{\_}mssql}. | |
| 
 | |
| Após isso, é necessário preencher o banco de dados | |
| com suas tabelas e valores padrão. Para tal, execute em linha de | |
| comando: | |
| \begin{quote}{\ttfamily \raggedright \noindent | |
| python~manage.py~syncdb | |
| }\end{quote} | |
| 
 | |
| 
 | |
| %___________________________________________________________________________ | |
|  | |
| \hypertarget{configura-o-do-servidor-web-apache-com-wsgi}{} | |
| \pdfbookmark[2]{Configuração do servidor web Apache com WSGI}{configura-o-do-servidor-web-apache-com-wsgi} | |
| \subsubsection*{Configuração do servidor web Apache com WSGI} | |
| 
 | |
| Exemplos de configurações, de um \texttt{VirtualHost}, estão disponíveis no | |
| diretório \texttt{etc/apache/} dentro do diretório raiz do projeto | |
| (\texttt{SIGI/}). | |
| 
 | |
| % | |
| % Local variables: | |
| %   mode: flyspell | |
| %   TeX-master: "relatorio.tex" | |
| % End: | |
| %
 | |
| 
 |