From 481ffab7ce8ac6fc252903024016a611c0096902 Mon Sep 17 00:00:00 2001 From: Arthur Del Esposte Date: Thu, 27 Aug 2015 16:18:19 -0300 Subject: [PATCH] Add documentation about how to export data to CSV --- Rakefile | 14 ++++++++------ docs/export_data.rst.in | 42 ++++++++++++++++++++++++++++++++++++++++++ docs/index.rst.in | 1 + 3 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 docs/export_data.rst.in diff --git a/Rakefile b/Rakefile index 8d18198..5023b67 100644 --- a/Rakefile +++ b/Rakefile @@ -122,12 +122,14 @@ task :restore => [ssh_config_file, config_file] do sh 'ssh', '-F', ssh_config_file, 'integration', 'sudo', 'systemctl start colab' end -task :export_data => [ssh_config_file, config_file] do - # setup - sh 'mkdir', '-p', 'exported_data' - #social - sh 'ssh', '-F', ssh_config_file, 'social', 'cd /usr/lib/noosfero/ && sudo -u noosfero RAILS_ENV=production bundle exec rake export:catalog:csv' - sh 'scp', '-F', ssh_config_file, 'social:/tmp/software_catalog_csvs.tar.gz', 'exported_data/' +namespace :export_data do + task :noosfero => [ssh_config_file, config_file] do + # setup + sh 'mkdir', '-p', 'exported_data' + #social + sh 'ssh', '-F', ssh_config_file, 'social', 'cd /usr/lib/noosfero/ && sudo -u noosfero RAILS_ENV=production bundle exec rake export:catalog:csv' + sh 'scp', '-F', ssh_config_file, 'social:/tmp/software_catalog_csvs.tar.gz', 'exported_data/' + end end task :bootstrap_common => 'config/local/ssh_config' diff --git a/docs/export_data.rst.in b/docs/export_data.rst.in new file mode 100644 index 0000000..4b47b98 --- /dev/null +++ b/docs/export_data.rst.in @@ -0,0 +1,42 @@ +Exportação de Dados do Catálogo para CSV +====== + +Esta seção descreve como realizar a exportação dos dados do Catálogo de +Software para arquivos CSV e como obter esses arquivos. Todo o procedimento +deve ser realizado num *shell* onde o diretório atual é o repositório de +controle de versão do SPB. + +Gerando os CSV +---------------------- + +Suponha que estamos realizando a exportação de dados do ambiente de produção, +chamado de ``prod``; o comando para realizar uma *exportação atualizada* é o +seguinte (note ``SPB_ENV=prod``):: + + $ rake export_data:noosfero SPB_ENV=prod + +Esta operação vai executar o script na máquina *Social* para exportar os dados +atuais do Catálogo de Software para arquivos CSVs e adicioná-los em um +``tar.gz`` chamado *software_catalog_csvs.tar.gz*. Por fim, o comando ainda irá +copiar o arquivo ``software_catalog_csvs.tar.gz`` para um subdiretório chamado +``exported_data`` na sua estação de trabalho. + +Obtendo os arquivos +--------------------------- + +Ao final do procedimento de exportação de dados para CSV o arquivo +``software_catalog_csvs.tar.gz`` será copiado para dentro do subdiretório +``exported_data`` na sua estação de trabalho. Para extrair os arquivos para +fora do ``software_catalog_csvs.tar.gz``, execute o seguinte comando:: + + $ tar -vzxf software_catalog_csvs.tar.gz + +Os seguintes arquivos ``*.csv`` devem ser extraídos na execução do comando +acima: + +* *softwares.csv*: Contém os dados principais dos Softwares presentes no Catálogo de Software + +* *categories.csv*: Contém a lista de Categories de Software do SPB + +* *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. + diff --git a/docs/index.rst.in b/docs/index.rst.in index d088c3d..a781927 100644 --- a/docs/index.rst.in +++ b/docs/index.rst.in @@ -10,4 +10,5 @@ Software Público Brasileiro: Manual de Operação (@@SPB_ENV@@) manutencao backup firewall + export_data apoio -- libgit2 0.21.2