Commit 0632ef40b03d02256a4198f41fa8f3a656301325

Authored by Luiz Matos
1 parent cf6ef86a
Exists in master

Alterações nos textos

Makefile
... ... @@ -26,7 +26,8 @@ CHAPTERS_SOURCES = 1-introducao.tex 2-portal.tex \
26 26 3-noosfero.tex \
27 27 4-mailman.tex \
28 28 5-gitlab.tex \
29   - 6-mezuro.tex
  29 + 6-git.tex \
  30 + 7-mezuro.tex
30 31  
31 32 CHAPTERS_FILES = $(addprefix $(CHAPTERS_DIR)/, $(CHAPTERS_SOURCES))
32 33  
... ...
capitulos/1-introducao.tex
1 1 \chapter{Introdução}
2 2  
3   -Olá,
4   -
5   -Bem vindo ao novo Portal do Software Público Brasileiro (SPB). O portal possui o objetivo principal: gerir racionalizadamente os recursos e gastos de informática da Administração Pública Federal, e pretende a ampliação de parcerias e reforço da política de software livre no setor público.
  3 +... novo Portal do Software Público Brasileiro (SPB). O portal possui o objetivo principal: gerir racionalizadamente os recursos e gastos de informática da Administração Pública Federal, e pretende a ampliação de parcerias e reforço da política de software livre no setor público.
6 4  
7 5 Criado em 12 de abril de 2007, o portal do SPB já conta com mais de 60 soluções voltadas para diversos setores. Os serviços disponíveis são acessados até por outros países, como Uruguai, Argentina, Portugal, Venezuela, Chile e Paraguai. Além disso, ele vem se consolidando como um ambiente de compartilhamento de software.
8 6  
... ...
capitulos/31-noosfero-comunidade.tex
... ... @@ -79,7 +79,7 @@ Para editar informações de blocos existentes, basta sobrepor o ponteiro do mou
79 79 \graphicspath{{figuras/}}
80 80 \begin{figure}[htp!]
81 81 \centering
82   - \includegraphics[width=0.25\textwidth]{barracudina}
  82 + \includegraphics[width=0.25\textwidth]{barra_edicao}
83 83 \caption{Barra de edição de um bloco na comunidade}
84 84 \label{fig:barra_edicao}
85 85 \end{figure}
... ... @@ -138,8 +138,9 @@ No Noosfero é possível alterar a privacidade da comunidade, isto é, caso seja
138 138  
139 139 \begin{itemize}
140 140 \item \textbf{Secreto} — esconde a comunidade e todo seu conteúdo para não membros e outras pessoas. Exige que a pessoa seja convidada para ser membro da comunidade;
  141 +
141 142 \item \textbf{Público} — Os conteúdos da comunidade ficam disponíveis a todos os usuários na internet (independente de ter logado ou não na ferramenta); e
142   - \item \textbf{Privado} — Os conteúdos da comunidade ficam restritas apenas aos membros da mesma.
  143 + \item \textbf{Privado} — Os conteúdos da comunidade ficam restritas apenas aos membros da mesma. É necessário realizar convite para os membros fazerem parte da comunidade.
143 144 \end{itemize}
144 145  
145 146 Para alterar a privacidade da comunidade é necessário acessar o painel de controle e realizar a alteração das informações disponíveis na área de moderação:
... ... @@ -148,6 +149,8 @@ IMAGEM
148 149  
149 150 Observação: É importante ressaltar que a privacidade de software públicos devem ser \textbf{Público}.
150 151  
  152 +Observação: Uma comunidade
  153 +
151 154 \subsubsection{Moderar Comunidade}
152 155  
153 156 Para moderar a comunidade é necessário alterar as informações disponíveis na área de moderação, conforme Figura X:
... ...
capitulos/32-noosfero-conteudos.tex
... ... @@ -2,11 +2,11 @@
2 2 \section{Conteúdos}
3 3 \label{sec:conteudos}
4 4  
5   -Como dito no capítulo X, o Noosfero possui algumas funções que se assemelham a um CMS\footnote{Content Management System ou Sistema de Gerenciamento de Conteúdo, maiores informações em: \url{https://pt.wikipedia.org/wiki/Sistema\_de\_gerenciamento\_de\_conte\%C3\%BAdo}}. Dentre essas funções, o Noosfero fornece algumas ferramentas para que os seus usuários possam gerenciar e publicar conteúdos de forma simplificada, dentro de seu perfil ou comunidade. Entre essas ferramentas, podemos citar: artigos, blog de notícias, eventos, fóruns, dentre outros.
  5 +Como dito no capítulo X, o Noosfero possui algumas funções que se assemelham a uma ferramenta CMS\footnote{Content Management System ou Sistema de Gerenciamento de Conteúdo, maiores informações em: \url{https://pt.wikipedia.org/wiki/Sistema\_de\_gerenciamento\_de\_conte\%C3\%BAdo}}. Dentre essas funções, o Noosfero fornece algumas ferramentas para que os seus usuários possam gerenciar e publicar conteúdos de forma simplificada, dentro de seu perfil ou comunidade. Entre essas ferramentas, podemos citar: artigos, blog de notícias, eventos, fóruns, dentre outros.
6 6  
7   -\subsection{Incluir outros conteúdos}
  7 +\subsection{Incluir conteúdos na Comunidade ou Perfil}
8 8  
9   -Para incluir outros conteúdos Acessar o Painel de Controle e clicar na opção
  9 +Para incluir diversos conteúdos Acessar o Painel de Controle e clicar na opção
10 10 *GERENCIAR CONTEÚDO*. Na página mostrada abaixo você encontrará a relação de todos os conteúdos já criados e poderá criar, editar e excluir outros conteúdos.
11 11  
12 12 É possível também colocar um conteúdo como a página principal da comunidade selecionando este ícone *HOME* (Não recomendamos realizar esta ação para software públicos).
... ... @@ -17,6 +17,8 @@ Para criar um conteúdo, clica-se na opção *NOVO CONTEÚDO*. Na Figura X é ap
17 17  
18 18 IMAGEM
19 19  
  20 +Nas seções abaixo, serão apresentados alguns dos conteúdos que o Noosfero oferece.
  21 +
20 22 \subsection{Artigo}
21 23  
22 24 Um artigo no Noosfero é a página/conteúdo que contém todo o conteúdo escrito de outros conteúdos no Noosfero, seja ele um Blog ou Fórum, por exemplo. Através da do artigo, o usuário pode disponibilizar um texto para ser publicado em seu blog de notícias ou mesmo em um link no bloco lateral da comunidade.
... ... @@ -52,9 +54,13 @@ Após a criação do evento, pode ser feito uma alteração nos blocos laterais
52 54  
53 55 \subsection{Pastas e Arquivos}
54 56  
55   -É possível guardar arquivos dentro do Noosfero, isso possibilita guardar manuais, fotos, arquivos binários do software (o código fonte é recomendado que seja guardado no repositório, explicado no capítulo \ref{cap:gitlab}), dentre outros conteúdos.
  57 +O Noosfero permite a criação de Pastas, que possuem o mesmo esquema das pastas de um sistema operacional. Dentro dessas pastas é possível guardar arquivos dentro do Noosfero, isso possibilita guardar manuais, fotos, arquivos binários do software (o código fonte é recomendado que seja guardado no repositório, explicado no capítulo \ref{cap:gitlab}), dentre outros conteúdos.
  58 +
  59 +Para criação de uma Pasta basta selecionar a opção *PASTA*, como demonstrado na Figura X. O usuário deve inserir o nome da pasta desejada, a licença aplicada, alguma descrição relevante para a pasta, categorias que podem ajudar na busca além da visibilidade.
  60 +
  61 +IMAGEM
56 62  
57   -Para incluir pastas e/ou arquivos basta selecionar uma das opções de acordo com o demonstrado na Figura X.
  63 +Para a inclusão de arquivos, o usuário deve acessar a opção *ARQUIVO ENVIADO*. Essa opção permite que o usuário envie qualquer arquivo da máquina diretamente para o SPB (Noosfero), a Figura X ilustra a tela de upload de arquivos. Nessa tela o usuário deve apenas selecionar o arquivo dentro da máquina.
58 64  
59 65 IMAGEM
60 66  
... ...
capitulos/33-noosfero-software.tex
... ... @@ -4,6 +4,10 @@
4 4  
5 5 No novo Portal do Software Público um software....
6 6  
  7 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  8 +%%%%%%%%%%%%%%%%%%%%%%%%%%%% TUTORIAIS USUÁRIOS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  9 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  10 +
7 11 \subsection{Localizando as páginas de softwares}
8 12 \label{sub:localizando_soft}
9 13  
... ... @@ -49,48 +53,44 @@ A página de software contém o resumo de informações do software, para que os
49 53  
50 54 Observação: É importante saber a diferença entre a página de software e a comunidade. As duas apresentam funções distintas, na página de software é consolidada as principais informações sobre aquele software (descrição, download, principais links, dentre outras informações), de forma estática. Já a comunidade, que tem um link na página de seu respectivo software, permite que o usuário realize interações com os desenvolvedores, relate bugs, entre outras funções.
51 55  
52   -\subsection{Tornando-se administrador de um software}
  56 +\subsection{Categorizar o software}
53 57  
54   -Para que o coordenador possa administrar o software é necessário que ele siga os passos:
  58 +Na \hyperref[sub:localizando_soft]{página de localização dos softwares}, existem diversas categorias que auxiliam o usuário a localizar o(s) software(s) mais rapidamente, conforme ilustrado pela Figura X. Essas categorias podem ser editadas, caso seja de interesse do coordenador.
55 59  
56   -\begin{itemize}
57   - \item Cadastrar e Logar no Portal
58   - \item Localizar a Página de Software
59   - \item Tornando-se membro de uma comunidade
60   -\end{itemize}
  60 +IMAGEM
61 61  
62   -Após seguir esses passos é necessário enviar um e-mail para a equipe do SPB \href{mailto:admin@softwarepublico.gov.br}{(admin@softwarepublico.gov.br)} solicitando permissões de administrador da comunidade.
  62 +Para editar as categorias de um software, o coordenador deve acessar \hyperref[sub:painel_controle]{o painel de controle} do software. Após isso, ele deve clicar na opção *INFORMAÇÕES E CONFIGURAÇÕES DA COMUNIDADE* . Na tela disponibilizada pela Figura X, é possível observar uma opção para Categorizar o Software. É possível associar o software a uma ou mais categorias.
63 63  
64   -\subsection{Alterando e Adicionando Links e Bloco do Software}
65   -\label{sec:block_software}
  64 +IMAGEM
66 65  
67   -É possível editar os hiperlinks e blocos existentes na página de um software. Para isso é necessário que o usuário seja administrador do software e acesse o Painel de Controle. Com o painel de controle acessado, o usuário deve acessar a opção *EDITAR BLOCOS LATERAIS*. Após isso, a Figura X representa a tela que será disponibilizada:
  66 +\subsection{Avaliar um software}
68 67  
69   -IMAGEM
  68 +Para avaliar um software, é necessário entrar e realizar o login e \hyperref[sub:localizando_soft]{localizar o software desejado}. Após isso, basta clicar em “Avalie este software”, conforme ilustrado pela Figura X.
70 69  
71   -Esta tela trata da disposição dos conteúdos na página de software. O esqueleto/template padrão para software no portal do SPB é formado por 3 sessões ou áreas:
  70 +IMAGEM
72 71  
73   -\begin{itemize}
74   - \item 2- Menu esquerdo
75   - \item 1- Centro (Área Principal)
76   - \item 3- Menu direito
77   -\end{itemize}
  72 +Já na área de avaliação, o usuário pode fazer um depoimento em texto, baseado na experiência de uso de um software em específico. Também é possível qualificar essa experiência, basta clicar na quantidade de estrelas correspondente a satisfação no uso.
78 73  
79   -Cada sessão/área é formado por vários blocos. Cada bloco suporta um tipo de conteúdo, entre eles: bloco de links, vídeos, login/logout, conteúdo recente, estatísticas, entre outros tipos.
  74 +Há também outros dados adicionais que não são obrigatórios, como por exemplo, a instituição, o valor economizado e a quantidade de pessoas beneficiadas. Para concluir basta clicar em enviar.
80 75  
81   -Para editar informações de blocos existentes, basta sobrepor o ponteiro do mouse sobre o bloco desejado. Após isso será apresentada a barra indicada pela Figura X, depois basta selecionar a opção Editar *EDITAR*
  76 +Observação: As avaliações de softwares são moderadas pela equipe de administração do SPB, e só são disponibilizadas na página do software quando o seu conteúdo é aprovado pela equipe.
82 77  
83   -IMAGEM
  78 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  79 +%%%%%%%%%%%%%%%%%%%%%%%%%%%% TUTORIAIS TÉCNICOS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  80 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
84 81  
85   -No exemplo ilustrado pela Figura X, é realizado a edição das informações relacionado ao bloco de ajuda, presente nas páginas de softwares.
86 82  
87   -IMAGEM
  83 +\subsection{Tornando-se administrador de um software}
88 84  
89   -Também é possível a adição de blocos com conteúdos diferentes. Para realizar esse procedimento, basta selecionar a opção *ADICIONAR UM BLOCO* . A tela ilustrada pela Figura X permite o coordenador a inclusão de vários tipos de conteúdos na página.
  85 +Para que o coordenador possa administrar o software é necessário que ele siga os passos:
90 86  
91   -IMAGEM
  87 +\begin{itemize}
  88 + \item Cadastrar e Logar no Portal
  89 + \item Localizar a Página de Software
  90 + \item Tornando-se membro de uma comunidade
  91 +\end{itemize}
92 92  
93   -Observação: Não é recomendado alterar a disposição dos conteúdos, apenas editar os blocos já existentes na página.
  93 +Após seguir esses passos é necessário enviar um e-mail para a equipe do SPB \href{mailto:admin@softwarepublico.gov.br}{(admin@softwarepublico.gov.br)} solicitando permissões de administrador da comunidade.
94 94  
95 95 \subsection{Acessar o painel de controle de um software}
96 96 \label{sub:painel_controle}
... ... @@ -113,30 +113,54 @@ IMAGEM
113 113  
114 114 É importante que o coordenador revise e atualize todas as informações periodicamente. Quanto mais informações forem cadastradas, mais fácil será para os usuários localizar os softwares desejados no catálogo.
115 115  
116   -\subsection{Categorizar o software}
  116 +\subsection{Alterando e Adicionando Links e Bloco do Software}
  117 +\label{sec:block_software}
117 118  
118   -Na \hyperref[sub:localizando_soft]{página de localização dos softwares}, existem diversas categorias que auxiliam o usuário a localizar o(s) software(s) mais rapidamente, conforme ilustrado pela Figura X. Essas categorias podem ser editadas, caso seja de interesse do coordenador.
  119 +É possível editar os hiperlinks e blocos existentes na página de um software. Para isso é necessário que o usuário seja administrador do software e acesse o Painel de Controle. Com o painel de controle acessado, o usuário deve acessar a opção *EDITAR BLOCOS LATERAIS*. Após isso, a Figura X representa a tela que será disponibilizada:
119 120  
120 121 IMAGEM
121 122  
122   -Para editar as categorias de um software, o coordenador deve acessar \hyperref[sub:painel_controle]{o painel de controle} do software. Após isso, ele deve clicar na opção *INFORMAÇÕES E CONFIGURAÇÕES DA COMUNIDADE* . Na tela disponibilizada pela Figura X, é possível observar uma opção para Categorizar o Software. É possível associar o software a uma ou mais categorias.
  123 +Esta tela trata da disposição dos conteúdos na página de software. O esqueleto/template padrão para software no portal do SPB é formado por 3 sessões ou áreas:
123 124  
124   -IMAGEM
  125 +\begin{itemize}
  126 + \item 2- Menu esquerdo
  127 + \item 1- Centro (Área Principal)
  128 + \item 3- Menu direito
  129 +\end{itemize}
125 130  
126   -\subsection{Avaliar um software}
  131 +Cada sessão/área é formado por vários blocos. Cada bloco suporta um tipo de conteúdo, entre eles: bloco de links, vídeos, login/logout, conteúdo recente, estatísticas, entre outros tipos.
127 132  
128   -Para avaliar um software, é necessário entrar e realizar o login e \hyperref[sub:localizando_soft]{localizar o software desejado}. Após isso, basta clicar em “Avalie este software”, conforme ilustrado pela Figura X.
  133 +Para editar informações de blocos existentes, basta sobrepor o ponteiro do mouse sobre o bloco desejado. Após isso será apresentada a barra indicada pela Figura X, depois basta selecionar a opção Editar *EDITAR*
129 134  
130 135 IMAGEM
131 136  
132   -Já na área de avaliação, o usuário pode fazer um depoimento em texto, baseado na experiência de uso de um software em específico. Também é possível qualificar essa experiência, basta clicar na quantidade de estrelas correspondente a satisfação no uso.
  137 +No exemplo ilustrado pela Figura X, é realizado a edição das informações relacionado ao bloco de ajuda, presente nas páginas de softwares.
133 138  
134   -Há também outros dados adicionais que não são obrigatórios, como por exemplo, a instituição, o valor economizado e a quantidade de pessoas beneficiadas. Para concluir basta clicar em enviar.
  139 +IMAGEM
135 140  
136   -Observação: As avaliações de softwares são moderadas pela equipe de administração do SPB, e só são disponibilizadas na página do software quando o seu conteúdo é aprovado pela equipe.
  141 +Também é possível a adição de blocos com conteúdos diferentes. Para realizar esse procedimento, basta selecionar a opção *ADICIONAR UM BLOCO* . A tela ilustrada pela Figura X permite o coordenador a inclusão de vários tipos de conteúdos na página.
  142 +
  143 +IMAGEM
  144 +
  145 +Observação: Não é recomendado alterar a disposição dos conteúdos, apenas editar os blocos já existentes na página.
137 146  
138 147 \subsection{Disponibilizando uma nova versão de um software no Portal}
139 148  
140   -...
141   -..
142   -.
  149 +Quando o software é disponibilizado e feito a revisão dos textos/blocos/links no software o último passo é disponibilizá-lo para download. Para isso o usuário deve acessar o seu painel de controle, acessar a opção "Gerenciar Conteúdo".
  150 +
  151 +É recomendado que o usuário crie uma pasta para colocar as versões estáveis do software, que serão disponibilizadas para Download. Para isso o usuário deve acessar a opção *NOVO CONTEÚDO* e logo em seguida \href{sub:folder}{Pasta}.
  152 +
  153 +Logo depois de criar a pasta e subir os conteúdos relacionados ao software. Deve-se escolher a opção \href{sec:block_software}{editar blocos laterais} no painel de controle da página do Software, conforme é mostrado na Figura X. Para editar o usuário deve clicar no botão *EDITAR* no bloco de download do software.
  154 +
  155 +IMAGEM
  156 +
  157 +Posteriormente, o usuário deve preencher as informações do grupo de opções Opções de Download, que incluem:
  158 +
  159 +\begin{itemize}
  160 + \item Nome - Nome e versão do Software;
  161 + \item Link - Link de download, que é obtido diretamente do arquivo que foi feito o upload e que foi explicado anteriormente;
  162 + \item Plataformas - Sistema Operacional compatível; e
  163 + \item Requisitos Mínimos - Requisitos o qual a plataforma paga
  164 +\end{itemize}
  165 +
  166 +
... ...
capitulos/5-gitlab.tex
1 1 \chapter{Gitlab}
2 2 \label{cap:gitlab}
3 3  
4   -\section{O que é Git?}
5   -\section{Diferenças entre o GIT e o SVN}
  4 +O GitLab é um software livre de colaboração de código online que utiliza o sistema de controle de versão Git (explicado mais detalhadamente no capítulo \ref{cap:git}). O GitLab disponibiliza uma interface para o gerenciamento de códigos, rastreamento e estado de problemas (issue tracker), uma wiki interna, ferramentas para gerenciamento de grupos, de revisão de código (code review) e mescla de código (merge requests), que auxilia em especial, os projetos com muitos integrantes.
  5 +
  6 +Ele ainda proporciona ainda diversas outras ferramentas para manter seus usuários sempre atentos aos eventos relacionados aos seus projetos, através de \textit{feeds} e formas bem diretas de se observar mudanças em códigos de uma versão para outra. Há também uma forma de se observar graficamente, as atividades dos membros dos projetos e os estados das diversas ramificações (\textit{branches}) que o Git permite criar. Abaixo é apresentado a lista das principais funcionalidades que o Gitlab possui:
  7 +
  8 +\begin{itemize}
  9 + \item Editor web.
  10 + \item Notificações globais e por projeto.
  11 + \item \textit{Branches} (ramificações) e gráficos de \textit{branches}.
  12 + \item Pesquisa no código.
  13 + \item \textit{Feeds} de atividades por projeto.
  14 + \item Administração de membros e projetos.
  15 + \item Rastreamento de problemas (\textit{issue tracker}).
  16 + \item \textit{Merge Request}.
  17 + \item Merge automático.
  18 + \item \textit{Wiki}.
  19 + \item Revisão de código.
  20 + \item Acesso ao código fonte.
  21 + \item Mural do projeto.
  22 +\end{itemize}
  23 +
  24 +Atualmente existe uma versão do Gitlab no novo portal do Software Público, que é utilizado pelos desenvolvedores para criação/divulgação do seu software no portal.
  25 +
6 26 \section{Trabalhando com o Gitlab}
  27 +\subsection{Configuração do Gitlab}
  28 +
  29 +O Gitlab utiliza a chave pública SSH da máquina para realizar a autenticação sem a necessidade da utilização de senhas. Através da configuração dessa chave é possível utilizar todas as funções que o Gitlab oferece, para realizar a configuração basta:
  30 +
  31 + \begin{itemize}
  32 + \item Gerar a chave SSH pública e colocá-la no Gitlab.
  33 + \item Disponibilizar a chave no Gitlab.
  34 + \end{itemize}
  35 +
  36 +Para gerar a chave pública SSH, existe um tutorial disponível no site oficial do git, ou até mesmo no próprio SPB. Esses links estão disponiveis em
  37 +
  38 + \begin{itemize}
  39 + \item Git: \url{https://git-scm.com/book/pt-br/v1/Git-no-Servidor-Gerando-Sua-Chave-P\%C3\%BAblica-SSH};
  40 + \item SPB: \url{https://softwarepublico.gov.br/social/spb/como-faco-pra-utilizar-o-ambiente-colaborativo}
  41 +
  42 + \end{itemize}
  43 +
  44 +Logo após gerar essa chave pública, o usuário deve adicioná-la no Gitlab do novo Software Público Brasileiro. Para isso o usuário deve:
  45 +
  46 + \begin{itemize}
  47 + \item Logar no portal SPB;
  48 + \end{itemize}
  49 +
  50 +Em seguida, o usuário deve acessar o Menu superior > Desenvolvimento > Perfil. A tela ilustrada pela Figura X será apresentada.
  51 +
  52 +IMAGEM
  53 +
  54 +Logo após o usuário, deve selecionar a opção "SSH Keys" no menu superior, de acordo com a Figura X.
  55 +
  56 +IMAGEM
  57 +
  58 +Depois de selecionar a opção "SSH Keys", o usuário vera a tela ilustrada pela Figura X. Nessa tela possui todos as chaves SSH cadastradas pelos usuários, isto é, cada chave pode ou não representar cada computador utilizado pelo desenvolvedor. Para adicionar uma nova chave, o usuário deve clicar na opção "Add SSH Key".
  59 +
  60 +IMAGEM
  61 +
  62 +No momento de adição da chave SSH, o usuário deve preencher um formulário com 2 (dois) campos, que contém:
  63 + \begin{itemize}
  64 + \item \textbf{Title} - Nome que identifica o computador do desenvolvedor. (Ex: Computador do Trabalho)
  65 + \item \textbf{Key} - Campo da Chave SSH gerada e que deve ser copiada para o campo.
  66 + \end{itemize}
  67 +
  68 +Após isso, será necessário somente a configuração do Git no ambiente de desenvolvimento do usuário, que será apresentada na seção /ref{cap:git}.
  69 +
  70 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  71 +
  72 +\subsection{Projetos}
  73 +
  74 +Projetos são repositórios que abrigam os artefatos de um software, sendo eles documentos, códigos, modelos, entre outros. Normalmente cada software possui seu próprio projeto, caso existam módulos ou outras partes do projeto é recomendado que se crie um grupo (a parte de grupos será explicado na seção \ref{sub:grupos}).
  75 +
  76 +No link \url{https://softwarepublico.gov.br/gitlab/explore/projects}, possui todos os repositórios e softwares públicos disponíveis.
  77 +
  78 +\label{sub:gitlab_projeto}
  79 +\subsubsection{Criando um novo Projeto}
  80 +
  81 +Caso esteja começando um novo projeto de software, é necessário que faça a criação de um novo projeto no Gitlab. Para realizar isso, o usuário deve acessar no menu superior a opção de "Desenvolvimento" e logo após "Novo Projeto", após isso, é apresentada a tela ilustrada pela Figura X.
  82 +
  83 +Na tela da criação do projeto serão requisitados alguns dados como:
  84 +
  85 +\begin{itemize}
  86 + \item Project Name: Nome do Software;
  87 + \item Namespace: Pessoa ou grupo que terá a permissão no projeto;
  88 + \item Description: Descrição sucinta e clara do Software;
  89 + \item Visibility: Privacidade do Projeto\footnote{O Gitlab permite que os projetos possam ser configurados de acordo com a necessidade do desenvolvedor}
  90 + \begin{itemize}
  91 + \item Private - O projeto só pode ser acessado pelos membros do mesmo. Além disso, ele fica oculto para todos os usuários.
  92 + \item Internal - O projeto fica aberto para os usuários, no entanto, só podem ser clonado apenas por usuários logados.
  93 + \item Public - Qualquer usuário independente de estar logado, consegue visualizar e clonar o projeto.
  94 + \end{itemize}
  95 +\end{itemize}
  96 +
  97 +\subsubsection{Acessando a página inicial do Projeto}
  98 +
  99 +Quando
  100 +
  101 +\subsubsection{Transferindo Projeto}
  102 +
  103 +
  104 +
  105 +\subsubsection{Excluíndo o Projeto}
  106 +
  107 +Para excluir um projeto, o usuário deve acessar a página inicial do projeto e entrar nas configurações, escolhendo a opção "Settings", que está localizada na barra superior do Gitlab.
  108 +
  109 +
  110 +Na tela de configuração, o usuário deve localizar a opção "Remove project", conforme Figura X. Depois deve selecionar o botão chamado de "Remove project".
  111 +
  112 +
  113 +Será aberta uma popup pedindo para o usuário confirmar a exclusão do projeto, para isso, ele deve digitar o nome do projeto de acordo com o destacado pela mensagem. Feito esses passos, o projeto já está excluído:
  114 +
  115 +Observação: É importante ressaltar que uma vez que o projeto é excluído, não será possível recuperá-lo, então utilize essa opção se tiver certeza que deseja excluir.
  116 +
  117 +
  118 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  119 +
  120 +\subsection{Grupos}
  121 +\label{sub:grupos}
  122 +
  123 +O Gitlab permite a criação de grupos para trabalho conjunto entre os usuários. O grupo permite a criação de uma coleção de projetos relacionados.
  124 +
  125 +\subsubsection{Criação do grupo}
  126 +
  127 +Para criar um grupo, o usuário deve localizar a opção "Desenvolvimento" no menu superior, logo após deve acessar a opção "Grupos", a Figura X representa o menu de Grupos.
  128 +
  129 +IMAGEM
  130 +
  131 +Após acessar o menu de Grupos, o usuário deve selecionar a opção "New Group", que é mostrado pela Figura X
  132 +
  133 +IMAGEM
  134 +
  135 +O usuário deve preencher três campos, que são:
  136 +
  137 +\begin{itemize}
  138 + \item \textbf{Group name -} O nome que identificará o grupo;
  139 + \item \textbf{Details -} Detalhes sobre o grupo, projetos que estão; e relacionados, entre outros
  140 + \item \textbf{Group avatar -} Imagem de avatar do grupo.
  141 +\end{itemize}
  142 +
  143 +Após isso o grupo já está criado, e podem ser colocados projetos e membros para trabalho. O link para acesso o grupo (como mostrado em \ref{link:gitlab_grupo}) será:
  144 +
  145 +\begin{lstlisting}[caption={Link de disponibilização do grupo}, label=link:gitlab_grupo]
  146 + https://softwarepublico.gov.br/gitlab/groups/NOMEDOGRUPO
  147 +\end{lstlisting}
  148 +
  149 +Observação: Ao criar o grupo do software a equipe de administração do portal colocará os administradores com a permissão de administração no grupo do projeto. O administrador receberá um e-mail com orientações.
  150 +
  151 +\subsubsection{Adicionando membros e permissões}
  152 +
  153 +Após criar e acessar o grupo, o usuário deve localizar no menu superior direito (abaixo do cabeçalho do SPB), a opção "Members". A Figura X ilustra a página do projeto com a opção "Members" destacada.
  154 +
  155 +IMAGEM
  156 +
  157 +Logo após, o Gitlab vai oferecer uma tela que contém todos os membros que fazem parte do grupo, o usuário deve acessar a opção Add members e preencher o campo com o nome do usuário que deseja adicionar. Além disso, o dono do grupo deve adicionar o tipo de permissão que o usuário pode ter. Essas permissões estão disponíveis (em inglês) nesse \href{http://doc.gitlab.com/ce/ci/permissions/README.html}{link}.
  158 +
  159 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  160 +
  161 +\subsection{Issue Tracker}
  162 +
  163 +O Gitlab possui um sistema para controle de problemas, requisições, demandas, bugs, entre outros. Esse sistema que é chamado de issue tracker, facilita o controle do desenvolvimento do projeto.
  164 +
  165 +Para acessar a páginas de issue do seu projeto, o usuário deve acessar a página inicial do projeto e localizar a opção "Issues" no menu superior do Gitlab. Será disponibilizada uma tela semelhante a ilustrada pela Figura X.
  166 +
  167 +IMAGEM
  168 +
  169 +\subsubsection{Cadastrando uma nova issue}
  170 +
  171 +Acessando a tela principal de controle das issues, logo ao lado do campo de pesquisa de issues, existe uma opção chamada *NEW ISSUES*. Após selecionar a opção, uma tela de cadastro semelhante a ilustrada pela Figura X será apresentada.
  172 +
  173 +IMAGEM
  174 +
  175 +Nessa tela de cadastro o usuário deve informar o problema/sugestão encontrada
  176 +
  177 +\subsubsection{Tags}
  178 +
  179 +Um issue tracker permite a categorização das demandas de acordo com tags, isto é, uma issue quando aberta pode ser categorizada de acordo com o seu tipo, ferramenta, release de ajuste, entre outros filtros, que podem ser definidos pelos desenvolvedores.
  180 +
  181 +\subsubsection{Milestones}
  182 +
  183 +Milestones são marcos do projeto, ou seja, são objetivos que devem estar prontos em uma determinada data. Esses marcos podem ser um conjunto de várias issues, merge requests e participantes associados.
  184 +
  185 +Para criação de milestones o usuário deve acessar a página inicial do projeto, em seguida deve localizar a opção Issues no menu superior. Será apresentada a mesma tela da Figura X (ISSUES). Após isso, o usuário deve selecionar a aba *MILESTONES*, abaixo do menu principal do Gitlab.
  186 +
  187 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  188 +\subsection{Wiki}
  189 +
  190 +O Gitlab também fornece uma wiki colaborativa, para que os desenvolvedores que não desejem colocar a documentação dentro do código fonte do software, possam colocar todos os artefatos relacionados a este software dentro do próprio sistema de wikis do Gitlab.
  191 +
  192 +Para acessar a wiki, o usuário deve acessar a página inicial do projeto no Gitlab (repositório) e no menu superior direito (ao lado de "Settings"), deve acessar a opção Wiki.
  193 +
  194 +Existem 3 tipos de notações para escrita na Wiki do Gitlab, sendo a mais utilizada a Markdown. Toda a documentação e notação relacionada ao Markdown está disponível neste \href{https://softwarepublico.gov.br/gitlab/help/markdown/markdown}{link}.
  195 +
  196 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  197 +
  198 +%g
... ...
capitulos/6-git.tex 0 → 100644
... ... @@ -0,0 +1,98 @@
  1 +\chapter{Git}
  2 +\label{cap:git}
  3 +\section{O que é Git?}
  4 +
  5 +O Git é uma ferramenta de controle de versão, assim como Subversion (SVN), Bazaar, Mercurial, entre outros. Essas ferramentas são utilizadas para registrar mudanças realizadas nos artefatos durante o projeto de software (documentos, código, entre outros). É possível também através dessas ferramentas realizar todo o controle das versões desses artefatos podendo até mesmo recuperar as versões anteriores dos arquivos a qualquer momento.
  6 +
  7 +O Git possui suporte a todos os tipos de arquivos (java, php, rb, doc, etc). Usar um sistema de controle de versão, significa compartilhar as mudanças e contribuições realizadas entre um determinado time ou até mesmo pessoas que não se conhecem e descobrir quem foi a última pessoa a realizar a mudança nos arquivos, além disso, possibilitar a visualização das mudanças para todos os membros do time.
  8 +
  9 +A grande vantagem de se utilizar um sistema de controle de versão é que caso você tenha feito alguma alteração não desejado em um arquivo ou no projeto inteiro, pode-se voltar ao passo anterior e recuperar o(s) arquivo(s)/projeto. Além disso, um sistema de controle de versões permite que o time trabalhe simultaneamente no mesmo projeto, sem a necessidade de preocupação caso estejam trabalhando em um mesmo arquivo.
  10 +
  11 +
  12 +\section{Diferenças entre o Git, SVN e outros}
  13 +
  14 +As ferramentas de controle de versão podem ser divididas em três formas: Centralizada, Distribuída e Local
  15 +
  16 +\textbf{Local} – Consiste em copiar os arquivos para um diretório local, dentro da própria máquina, contendo a última data de modificação. Não possui nenhum controle fazendo com que a pessoa perca o local onde ela guardou os arquivos. Existem algumas ferramentas que buscam realizar o controle sobre os arquivos gerando maior organização durante o controle de versão local. Contudo se duas pessoas quisessem trabalhar em um mesmo módulo de um mesmo projeto, não será possível, já que o arquivo será trabalhado utilizado simultaneamente por duas pessoas.
  17 +
  18 +\textbf{Centralizada} – É baseado na arquitetura do tipo cliente-servidor, ou seja, existe um repositório central (servidor), sendo que a cópia de cada um desses repositórios são feitos para os computadores dos desenvolvedores (clientes). Os artefatos dos softwares são direcionados somente para o servidor, sendo assim, a comunicação do repositório do projeto é feito estritamente para o servidor. Um exemplo de sistema de controle de versão que utiliza esse padrão é o Subversion (SVN).
  19 +
  20 +\textbf{Distribuída} – Utilizada no Git, essa forma é baseada na arquitetura P2P (peer-to-peer). Assim como na arquitetura centralizada, é realizada uma cópia do repositório do servidor para as máquinas de cada desenvolvedor. No entanto, nesse modelo os repositórios dos membros do projeto podem comunicar entre si ou através de um repositório "oficial", que está centralizado. No caso de queda do servidor, o projeto não é paralisado, já que é possível os membros realizarem as interações entre eles. mesmos.
  21 +
  22 +\section{Configurando o Git na máquina}
  23 +
  24 +Para realizar a instalação do git, é necessário ficar atento na plataforma do sistema operacional da máquina que está sendo utilizada. Após identificar o sistema, basta ir no site da página oficial do git (\url{https://git-scm.com/downloads}) e realizar o \textit{download} da versão específica do seu sistema operacional.
  25 +
  26 +Após isso é necessário realizar o procedimento para gerar a chave SSH e realizar a configuração no Gitlab, explicado na seção \ref{sub}.
  27 +
  28 +Logo depois da configuração das chaves SSH na ferramenta gitlab, é necessário configurar alguns parâmetros, para que as contribuições nos códigos sejam apresentadas corretamente na ferramenta gitlab. Para realizar essa configuração, é necessário realizar os seguintes comandos\footnote{No caso de utilização do Linux esses comandos podem ser feitos no próprio terminal, enquanto no Windows, existe uma ferramenta que faz o papel do console} (entre parenteses):
  29 +
  30 +\begin{lstlisting}[caption={Configuração inicial do git}, label=cod:git_config]
  31 +git config --global user.name "Seu nome"
  32 +git config --global user.email "seuemail@email.com"
  33 +\end{lstlisting}
  34 +
  35 +Após realização desses passos, o git já está configurado na sua máquina.
  36 +
  37 +\section{Comandos Básicos do git}
  38 +
  39 +O git possui um fluxo de trabalho, que é ilustrado pela Figura X.
  40 +
  41 +IMAGEM FLUXO DE TRABALHO
  42 +
  43 +\subsection{Init/Clone}
  44 +
  45 +Para começar a trabalhar utilizando o git, pode ser feito de duas maneiras: \textit{(i)} através da criação e um novo projeto e consequentemente um novo repositório ou \textit{(ii)} clonando um repositório já existente.
  46 +
  47 +Para criação de um novo repositório, basta executar o comando abaixo (\ref{cod:git_init}). Quando o comando é executado, ele cria uma pasta oculta chamada ".git", que contém os principais arquivos relacionados para gerenciamento do Git.
  48 +
  49 +\begin{lstlisting}[caption={Iniciando um repositório git}, label=cod:git_init]
  50 +git init
  51 +\end{lstlisting}
  52 +
  53 +É importante notar que a partir do momento que o projeto é criado na máquina, ele pode ser colocado no Gitlab. Para isso, basta o usuário criar um projeto (explicado na seção \ref{sub:gitlab_projeto}
  54 +
  55 +Clonando um repositório existente
  56 +
  57 +\begin{lstlisting}[caption={Clonando um repositório git já existente}, label=cod:git_clone]
  58 +git clone urldoprojeto
  59 +\end{lstlisting}
  60 +
  61 +\subsection{Pull}
  62 +
  63 +\begin{lstlisting}[caption={Configuração inicial do git}, label=cod:git_pull]
  64 +git pull
  65 +\end{lstlisting}
  66 +
  67 +\subsection{Add}
  68 +\subsection{Commit}
  69 +\subsection{diff/status}
  70 +\subsection{Push}
  71 +\subsection{Branch}
  72 +
  73 +No caso, o Git possui um sistema rapido de criação de Branches e bem como Merges das Branches, básicamente que é executado pelo comando “git branch nomedobranch” e depois você tem que realizar o “git checkout nomedobranch” e assim poderá realizar o trabalho na sua Branch de desenvolvimento especifica.
  74 +
  75 +\subsection{Rebase}
  76 +\subsection{Log}
  77 +\subsection{Outros comandos}
  78 +
  79 +\url{https://git-scm.com/docs}
  80 +
  81 +\section{Utilizando conexão https}
  82 +
  83 +O tutorial abaixo é dedicado à alguns casos especiais em que seja necessário efetuar o comando git push via protocolo HTTP. Siga os passos à seguir: (também disponível em: https://softwarepublico.gov.br/gitlab/softwarepublico/softwarepublico/wikis/git-push-http )
  84 +
  85 +\begin{enumerate}
  86 + \item Faça login no PSPB
  87 + \item Acesse o menu "Código > Perfil"
  88 + \item Em sua página do perfil, clique na seção "Password"
  89 + \item Clique no link "Forgot your password?", localizado abaixo do campo "Current Password"
  90 + \item \textbf{FAÇA LOGOUT!} É importe que o usuário esteja deslogado do PSPB para o próximo passo!
  91 + \item Ao acessar do passo 4, o sistema lhe enviou um email com instruções de como criar uma nova senha no Gitlab. É imprescindível que seu endreço de email no PSPB seja válido! Caso o email não se encontre na caixa de mensagens principal, verifique se o mesmo não foi tratado como mensagem de SPAM pelo seu servidor de emails. Clique no link disponibilizado no email (Caso os campos de restauração de senha não apareçam, clique novamente no link do email).
  92 + \item Forneça a nova senha, de preferência a mesma usada no PSPB.
  93 + \item Fim! Sua senha está gravada no Gitlab, permitindo a submissão de código via HTTPS.
  94 + \item Há ainda o problema do certificado digital do portal, obrigando os usuários a 'Aceitarem os riscos' de confiar na conexão acessando via navegador. O mesmo deve ser feito para o git, passando a váriavel de configuração http.sslVerify=false.
  95 + \item Exemplo de comando push via HTTP: git -c http.sslVerify=false push http://softwarepublico.gov.br/gitlab/softwarepublico/colab.git Note que username e password serão requisitados. username se refere ao seu nome de usuário do PSPB e password se refere à senha criada no passo 7. Reforçamos que deve-se fornecer a mesma senha usada no PSPB.
  96 +\end{enumerate}
  97 +
  98 +\section{Disponibilizando um projeto}
... ...
capitulos/7-mezuro.tex 0 → 100644
... ... @@ -0,0 +1,21 @@
  1 +\chapter{Mezuro}
  2 +\label{cap:mezuro}
  3 +
  4 +O Mezuro surgiu a partir de uma necessidade de manter a qualidade do código, extração métricas de código-fonte e interpretar seus valores, foi desenvolvida uma plataforma chamada Mezuro \footnote{Maiores informações em: \url{http://mezuro.org/}}.
  5 +
  6 +O Mezuro possibilita o monitoramento de características específicas de um software. Ele foi concebido através de um longo processo de amadurecimento de diversas ferramentas, que teve seu início com o projeto Qualipso\footnote{Quality Platform for Open Source: \url{http://qualipso.icmc.usp.br/}} *CITAR*.
  7 +
  8 +Entre as principais funcionalidades, o Mezuro fornece:
  9 +
  10 +\begin{itemize}
  11 + \item Baixar códigos-fonte de repositórios dos tipos Git, Subversion, Baazar e CVS
  12 + \item Criação de configurações, que conjuntos pré-definidos de métricas relacionadas para serem utilizadas na avaliação de projetos de software.
  13 + \item Criação de intervalos relacionados com a métricas e avaliações qualitativas.
  14 + \item Criação de novas métricas compostas, de acordo com aquelas fornecidas pelos coletores do Kalibro.
  15 + \item Cálculo de resultados estatísticos para módulos com alta granularidade.
  16 + \item Possibilidade de exportar arquivos com os resultados gerados.
  17 + \item Interpretação dos resultados com interface mais amigável aos usuários com a utilização de cores nos intervalos das métricas.
  18 +\end{itemize}
  19 +
  20 +No nova arquitetura do novo Portal do Software Público, o Mezuro vai fornecer um conjunto métricas de qualidade de código, que auxilia os coordenadores na manutenção da qualidade de código de seu software, além de auxiliar os usuários na escolha de um software bem escrito. A inclusão do mezuro está prevista para março de 2015.
  21 +
... ...
figuras/Selection_025.png 0 → 100644

5.51 KB

figuras/Selection_026.png 0 → 100644

70.1 KB

figuras/Selection_027.png 0 → 100644

89.2 KB

manual.tex
... ... @@ -29,7 +29,8 @@
29 29 \input{capitulos/33-noosfero-software.tex}
30 30 \input{capitulos/4-mailman}
31 31 \input{capitulos/5-gitlab}
32   -\input{capitulos/6-mezuro}
  32 +\input{capitulos/6-git}
  33 +\input{capitulos/7-mezuro}
33 34  
34 35 \bookmarksetup{startatroot}
35 36  
... ...