Commit 481ffab7ce8ac6fc252903024016a611c0096902

Authored by Arthur Esposte
Committed by Rodrigo Siqueira de Melo
1 parent d44b4bb9

Add documentation about how to export data to CSV

@@ -122,12 +122,14 @@ task :restore => [ssh_config_file, config_file] do @@ -122,12 +122,14 @@ task :restore => [ssh_config_file, config_file] do
122 sh 'ssh', '-F', ssh_config_file, 'integration', 'sudo', 'systemctl start colab' 122 sh 'ssh', '-F', ssh_config_file, 'integration', 'sudo', 'systemctl start colab'
123 end 123 end
124 124
125 -task :export_data => [ssh_config_file, config_file] do  
126 - # setup  
127 - sh 'mkdir', '-p', 'exported_data'  
128 - #social  
129 - sh 'ssh', '-F', ssh_config_file, 'social', 'cd /usr/lib/noosfero/ && sudo -u noosfero RAILS_ENV=production bundle exec rake export:catalog:csv'  
130 - sh 'scp', '-F', ssh_config_file, 'social:/tmp/software_catalog_csvs.tar.gz', 'exported_data/' 125 +namespace :export_data do
  126 + task :noosfero => [ssh_config_file, config_file] do
  127 + # setup
  128 + sh 'mkdir', '-p', 'exported_data'
  129 + #social
  130 + sh 'ssh', '-F', ssh_config_file, 'social', 'cd /usr/lib/noosfero/ && sudo -u noosfero RAILS_ENV=production bundle exec rake export:catalog:csv'
  131 + sh 'scp', '-F', ssh_config_file, 'social:/tmp/software_catalog_csvs.tar.gz', 'exported_data/'
  132 + end
131 end 133 end
132 134
133 task :bootstrap_common => 'config/local/ssh_config' 135 task :bootstrap_common => 'config/local/ssh_config'
docs/export_data.rst.in 0 → 100644
@@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
  1 +Exportação de Dados do Catálogo para CSV
  2 +======
  3 +
  4 +Esta seção descreve como realizar a exportação dos dados do Catálogo de
  5 +Software para arquivos CSV e como obter esses arquivos. Todo o procedimento
  6 +deve ser realizado num *shell* onde o diretório atual é o repositório de
  7 +controle de versão do SPB.
  8 +
  9 +Gerando os CSV
  10 +----------------------
  11 +
  12 +Suponha que estamos realizando a exportação de dados do ambiente de produção,
  13 +chamado de ``prod``; o comando para realizar uma *exportação atualizada* é o
  14 +seguinte (note ``SPB_ENV=prod``)::
  15 +
  16 + $ rake export_data:noosfero SPB_ENV=prod
  17 +
  18 +Esta operação vai executar o script na máquina *Social* para exportar os dados
  19 +atuais do Catálogo de Software para arquivos CSVs e adicioná-los em um
  20 +``tar.gz`` chamado *software_catalog_csvs.tar.gz*. Por fim, o comando ainda irá
  21 +copiar o arquivo ``software_catalog_csvs.tar.gz`` para um subdiretório chamado
  22 +``exported_data`` na sua estação de trabalho.
  23 +
  24 +Obtendo os arquivos
  25 +---------------------------
  26 +
  27 +Ao final do procedimento de exportação de dados para CSV o arquivo
  28 +``software_catalog_csvs.tar.gz`` será copiado para dentro do subdiretório
  29 +``exported_data`` na sua estação de trabalho. Para extrair os arquivos para
  30 +fora do ``software_catalog_csvs.tar.gz``, execute o seguinte comando::
  31 +
  32 + $ tar -vzxf software_catalog_csvs.tar.gz
  33 +
  34 +Os seguintes arquivos ``*.csv`` devem ser extraídos na execução do comando
  35 +acima:
  36 +
  37 +* *softwares.csv*: Contém os dados principais dos Softwares presentes no Catálogo de Software
  38 +
  39 +* *categories.csv*: Contém a lista de Categories de Software do SPB
  40 +
  41 +* *software_categories.csv*: Contém a relação dos Softwares e suas Categorias. Este arquivo é semelhante à uma tabela de Banco de Dados Relacional N x N, onde cada linha contém o ID do Software e o ID de uma de suas Categorias.
  42 +
docs/index.rst.in
@@ -10,4 +10,5 @@ Software Público Brasileiro: Manual de Operação (@@SPB_ENV@@) @@ -10,4 +10,5 @@ Software Público Brasileiro: Manual de Operação (@@SPB_ENV@@)
10 manutencao 10 manutencao
11 backup 11 backup
12 firewall 12 firewall
  13 + export_data
13 apoio 14 apoio