# RELATÓRIO DA RELEASE 5 Ações programadas para a Release 5, de acordo com o novo plano de trabalho (de outubro de 2016): * Estudos de evolução de plataforma integrada de colaboração * Evolução de ambiente de Rede Social e plugins * Estudos sobre mecanismos de relato dos usuários * Estudos para uso de instituições governamentais * Estudos de evolução de plataforma de Integração * Estudos sobre o Proxy de integração * Estudos sobre o Sistema de Indexação de Buscas * Estudos sobre a evolução do Sistema de Lista de Mail's * Estudos sobre a evolução de camada de back-end * Estudos sobre a Evolução do Sistema de Controle de Versão * Estudos Avançados sobre Migração * Estudos Avançados sobre API * Estudos Avançados para mecanismos de busca global * Estudos Avançados sobre a evolução do Sistema de Identidade Visual * Estudos Avançados sobre a evolução da estrutura de IHC * Estudos Avançados sobre a evolução da Arquitetura da Informação * Estudos sobre para evolução da superfície da interface gráfica do portal * Estudos Avançados sobre plataforma de monitoramento de código-fonte * Estudos Avançados para a definição e automação da infraestrutura * Estudos Avançados para a sustentação da plataforma * Estudos sobre Licenças de Software Livre ## Alinhamento Estratégico Em reunião,em 18 de setembro de 2015, com o comitê estratégico do projeto, liderado pelo diretor e o coordenador da DeGSI, Wagner Ribeiro e Orlando Neto, foram definidas as seguintes **metas estratégicas** para a release: * Sustentação do novo SPB pelo MP * Melhorias na usabilidade e da visão do usuário na integração das ferramentas * Interação do novo SPB com outras plataformas * Acompanhar o processo de entrada e evolução da qualidade do projetos SPB Nesta reunião foi explanado pelo coordenador Orlando Neto que uma das principais metas para o ano de 2016, em relação ao projeto, é sustentação da plataforma do portal do software público (SPB) por parte do Ministério. Com tais metas definidas em nível estratégico, as analistas da DEGSI/SLTI, Marisa Santos e Nayanne Bonifácio, juntamente com todo o time da UnB, estiveram reunidos para o planejamento desta release. Nesse sentido, a partir das metas estratégicas foram definidas as seguintes "épicas" para organizarmos as histórias de usuários e tarefas, conforme a metodologia apresentada no plano de trabalho do projeto: * Épicas Técnicas * Integração dos perfis de usuários * Evolução da busca global integrado com o núcleo do Portal * API (integração com outras plataformas) * Sustentação da plataforma * Evolução de ferramentas desenvolvidas e melhorias de usabilidade * Evolução para preparação da entrada de Ativos de Software * Melhorias gerais da plataforma * Refatoração do front-end do Noosfero * Monitoramento de métricas de código-fonte * Implantação da Release 5 * Épicas Não-Técnicas * Oficinas * Relatório final dos estudos de licença * Revisão da minuta da IN do SPB Posteriormente, o projeto foi interrompido por falta de repasse de recursos no período entre 18 de dezembro de 2015 até 04 de abril. O projeto foi retomado quando parte do recurso faltante, parcela prevista para o ano 2015, foi repassado à UnB. Durante a realização desta Release 5, foi comunicado a UnB que não haveria repasse de recurso do projeto referente ao planejado para o ano 2016 e, como consequência, foi planejada uma série de atividades de encerramento. Para os alinhamentos de conclusão da Release 5 e para o encerramento do projeto, realizou-se uma reunião em 08 de abril de 2016, com o coordenador Orlando Neto e os analistas Marisa Santos e Luiz Fernando Matos. ## Fase de Execução ### Estudos de evolução de plataforma integrada de colaboração TODO: Revisão Tallys Esta macro atividade, em relação a release 5, esteve associada a quatro épicas: * **Evolução de ferramentas desenvolvidas e melhorias de usabilidade**: foram realizadas evoluções nas seguintes funcionalidades e recursos da plataforma: * Relato de uso * Homepage do software * Páginas de software * Páginas de comunidade * Páginas de busca (providas pelo Noosfero) * Catálogo de software * Páginas de conteúdo * Páginas administrativas do Noosfero * Páginas de lista de categorias e busca específica * Navegabilidade do portal * Catálogo de instituições adicionando filtro por empresas/instituições * **Evolução para preparação da entrada de Ativos de Software**: não estava previsto para esta fase do projeto, mas foi atendido para uma avaliação interna por parte do Ministério do Planejamento, de forma que foi desenvolvidas os seguintes itens: * Prototipação inicial do catálogo de ativos de software e página dos software * Implementação do layout das páginas do Portal do SISP * Homepage do SISP * Cabeçalho e rodapé do SISP * Página do software do SISP * Importação do Catálogo de Software do SISP * Busca no catálogo do SISP * Página de software de um ativo/software do SISP * **Melhorias gerais na plataforma**: foram realizadas as seguintes melhorias e correções. * Correções no layout e blocos * Correção naHomepage do Portal * Atualização do Cabeçalho e Rodapé * Correções nas Páginas de comunidade * Correções Página de Software * Organização da Página de cadastro * Comunidade secreta * Catálogo de Software deve filtrar softwares que coincidem com 1 ou mais categorias selecionadas * Membros autorizados pela configuração do fórum não conseguem criar tópicos de discussão * Correção de traduções * Refatoração de busca de software e instituições * Correção dos problemas de links no plugin de notificação * Importar notícias da wiki do portal * Adicionar bloco de eventos na pagina de software * Formatação nos campos numéricos ao avaliar um software * Imagens excluidas ainda aparecem no bloco lateral de comunidade * Enviar email ao usuário ao ser aceito/recusado em uma comunidade moderada * Correção de mensagem de erro ao ultrapassar o limite de upload * Relatos rejeitados aparece para usuarios comuns * Pagina do esic-livre quebrada * Problemas ao editar instituição * Refatoracao das Categorias - Permitir categorias filhas e netas * Ordenação dos comentários de um artigo "faz" a paginação desaparecer * Melhorias no RSS * Escolha do tema pode inutilizar o profile no social * Aceitar valores no relato somente se for informada a Instituição * Divergência do catálogo de instituições e instituições disponíveis no portal * Colocar título dos catalogos de comunidades e usuarios, como por exemplo no de instituições. * Página de algumas comunidades quebrando * Correção dos Valores do bloco de estatísticas do software * Página de membros sem paginação * Evoluir as páginas do Relato de Uso * **Refatoração do front-end do Noosfero**: foram realizados um estudo e uma atividade de desenvolvimento. * Definir estratégias e tecnologias para refatoração - que levou a refatorações usando um framework Java Script, denominado Angular. * Adaptações no backend do Noosfero - adaptação do front-end conforme a evolução do Noosfero para o framework Ruby on Rails 4, ou seja, um consequência das atividades de sustentação da plataforma. ### Estudos de Evolução de plataforma de Integração TODO: Revisão Gabriel Esta macro atividade, em relação a release 5, esteve associada as seguintes épicas: * **Integração dos perfis de usuários** - neste ponto do projeto, foi desenvolvida a estrutura de back-end do Colab para permitir a integração de perfis, de forma que na Release 5 temos: * Definição do sistema de widgets (componentes) do Colab * Integração inicial de perfil com o GitLab * Integração funcional de perfil com o Noosfero * **Melhorias gerais na plataforma** - uma série de melhorias foram realizadas durante a Release 5 para a evolução do Colab e das integrações entre as ferramentas: * Aumentar cobertura de teste automatizado do Colab * Remover namespace do arquivo de configuração dos plugins do Colab * Adicionar campos novos indexados do Noosfero * Colab suportar múltiplos sites * GitLab com Push com HTTPS * Criar repositório e lista quando uma comunidade for criada * Fazer a interface da busca e dos filtros * Adicionar timestamp na importação dos dados do colab * Refatorar filtros da busca do Colab * Refatorar template da página de busca * Generalizar os filtros da busca do Colab * Integração do Colab com o Mezuro * Desenvolver task para geração da estrutura de plugins (criação de novos plugins) * Reduzir código duplicado entre os plugins usando helpers do django * Disparar sinal de atualização dos dados do usuário para o Noosfero e Gitlab. * Refatoração do plugin do Noosfero * Utilizar sinais para comunicação entre plugins do Colab * Consertar problema de memory leak no mailman-api * Reimplementar o carregamento de templates e arquivos estáticos * Permitir modificar informações de perfil do Noosfero via perfil do Colab * Permitir modificar informações de perfil do Gitlab via perfil do Colab * Criação de widgets para customizar perfil do Colab * Diferenciar listas privadas de listas públicas na exibição das listas * Login integrado * Logar usuário no Noosfero ao logar no Colab * Logar usuário no Gitlab ao logar no Colab * Implementar blacklist para o Colab * Remover usuários não ativos do Colab * Redirecionar para página atual após fazer login * Integração de dados comuns entre as ferramentas abaixo do Colab (Nome e Email) * Reenviar link de ativação de senha e editar mensagem pedindo para o usuário verificar na caixa de spam * Revisar traduções do Colab, plugins e mailman * Remover usuário do Gitlab, Noosfero e listas de email quando usuário deletar a conta no Colab * Redirecionar links da edição de perfil para o Colab * Adicionar pacotes do Colab e dos plugins ao PyPI ### Estudos Avançados sobre Migração Durante a release 3, realizamos um estudo de avaliação, com interações para alinhamentos com as analistas da DEGSI/SLTI, que resultou em um parecer técnico enviado a DESGI/SLTI com as recomendações para migração de conteúdos, bem como os motivos para a sugestão de recadastramento por parte dos usuários do antigo portal que desejam usar a nova plataforma do SPB. Assim, a partir da Release 4 seriam migrados os conteúdos de Blogs e Fóruns do antigo portal. Portanto, as seguintes atividades relacionadas à migração dos conteúdos das comunidades existentes no antigo portal do SPB foram realizadas: * Migrar Comunidades * Verificação de Migração e Templates * Migração de Conteúdos (Fóruns e Blogs) Para a Realese 5, foram realizados ajustes, conforme a revisão dos analistas do Ministério do planejamento, sendo os últimos ajustes colocados em produção no dia 07 de junho de 2016, tendo todo esse processo de migração bem sucedido, inclusive nos detalhes solicitados pelo Ministério. ### Estudos Avançados sobre API TODO: Revisão Marcos Ronaldo e Melissa A épica **API (integração com outras plataformas)** foi planejada exclusivamente para evoluir este item do projeto, de forma que as atividades realizadas foram: * Evolução da API do Noosfero * Disponibilização de dados do Portal para uso em Aplicativo do SPB (não desenvolvido pela UnB) * Estudos para preparação de suporte à federação no Noosfero (relatório anexo) * Estudos iniciais para evolução do front-end do Noosfero ### Estudos Avançados para mecanismos de busca global TODO: Revisão Gabriel A épica **Evolução da busca global integrado com o núcleo do Portal** foi planejada exclusivamente para evoluir este item do projeto, de forma que as atividades realizadas foram: * Estudo e definição das informações em ordem de prioridade/relevância * Organização dos conteúdos listados na busca * Melhorias da apresentação da Busca Global * Pegar os conteúdos das Listas de Discussão * Pegar os conteúdos do Noosfero (Rede Social) * Flexibilizar os blocos de busca para os plugins * Generalizar os filtros no núcle do Colab (plaforma de integração) * Desenvolver nova interface da página de busca * Aplicação do design visual: formatação dos resultados da busca global (e caixa de filtros) ### Estudos Avançados sobre a Evolução do Sistema de Identidade Visual TODO: Revisão Peter Houve uma continuação das atividades de evolução da identidade visual do Portal, de forma que, novos elementos gráficos e estilos foram criados, implementados e validados. Destacam-se os seguintes itens: * Design e estruturação do Relato de uso * Evolução visual e estruturação do Bloco de Métricas nas páginas de softwares * Reestruturação dos arquivos e regras de CSS do tema * Aplicação de estilos nas páginas principal e internas das Comunidades * Evolução visual dos Cadastros de Software e Comunidade * Design e estruturação de janelas “Tooltip” e “Popover” para o Portal * Revisão de classes e HTML para blocos do plugin SPB * Refatoração do CSS para plugins SPB * Elaboração e formatação para o Mapa do Site * Revisão e validação visual das áreas implementadas para versão de lançamento SUGESTAO de itens por Melissa * Evolução visual na exibição e gerencia de métricas de software via Bloco de Métricas * Evolução visual de páginas de envio e visualização de Relatos de Uso * Design visual de barra de navegação para plataformas externas do Portal SPB * Proposta de ícones para novos dados exibidos em páginas de software * Design visual de página de busca global * Design e estruturação de janelas “Tooltip” e “Popover” para o Portal A evolução do Sistema de Identidade Visual foi apresentada aos gestores do Ministério do Planejamento em reuniões periódicas. ### Estudos Avançados sobre a Evolução da estrutura de IHC TODO: Revisão Peter Houve uma continuação das atividades de evolução da estrutura da IHC, de forma que houve a evolução dos seguintes recursos já em funcionamento ou prototipados anteriormente: * Filtros na página interna Catálogo de Softwares * Página de Software * Página Software de Governo * Páginas associadas ao Relato de uso * Bloco “Notificações” na página inicial * Bloco “Veja também” na página inicial * Funcionalidades atuais do portal * Funcionalidades do Mezuro * Unificação do Painel de Controle SUGESTAO itens por Melissa * Avaliação e melhorias de acessibilidade do Portal SPB * Estudos de usabilidade de áreas de gerenciamento do Portal * Avaliação da interação de usuários admin em paineis administrativos de informações/dados de software e/ou comunidade de software * Estudos para evolução do formulário de relato de uso * Reformatação de área de gestão de dados do Bloco de Downloads * Proposta de páginas de suporte/guia a Lista de Discussão * Definição de botões de acesso rápido a funcionalidades de maior interesse do usuário * Melhorias na experiência de navegação do usuário com uso de breadcrumbs * Filtros e ordenação na página interna Catálogo de Softwares * Elaboração e formatação para o Mapa do Site ### Estudos Avançados sobre a Evolução da Arquitetura da Informação TODO: Revisão Peter Assim, como na Release 4, durante a Release 5, consolidaram-se as decisões de arquitetura da informação tomadas na release anterior, sem modificações de estrutura. SUGESTAO de itens por Melissa * Evolução na estrutura de moderação do Relato de Uso * Avaliação e reposicionamento de links de menus das páginas de software * Estudos iniciais de itens e rótulos em menus de navegação das páginas do Portal * Evolução da estrutura de navegação entre Portal e plataformas externas (ferramentas auxiliares) * Evolução na navegação e exibição de Lista de Discussão * Estudos para estruturação e harmonização entre software Público e software de Governo * Estudos para inserção do Mezuro e suas funcionalidades ao Portal ### Estudos sobre a Evolução da superfície da interface gráfica do portal TODO: Revisão Peter Esta macro atividade, em relação a Release 5, esteve associada as mesmas atividades relacionadas à macro atividade **Estudos Avançados sobre a Evolução do Sistema de Identidade Visual**, apresentadas acima. SUGESTAO de itens por Melissa * Evolução na formatação de páginas de formulários do Portal SPB * Design de página de suporte a Lista de Discussão e evolução da exibição da Lista * Evolução das páginas de busca específicas providas pelo Noosfero * Melhorias na interface de gestão de categorias de software do Portal * Melhorias na interface de criação/gestão de instituições do Portal ### Estudos Avançados sobre plataforma de monitoramento de código-fonte TODO: revisão Manzo Durante as Release 5, além da correção de defeitos encontrados, foram adicionados à plataforma Mezuro novos coletores para que sejam extraídas métricas de Python e Ruby. Além disso, os principais passos já foram dados para integrar a plataforma ao Portal do SPB, através da plataforma de integração Colab. Portanto, a plataforma Mezuro foi evoluída para suportar a tecnologia de autenticação única utilizada pelo Portal do SPB, possibilitando o desenvolvimento do plugin de integração do Mezuro com o Colab. Para complementar a integração básica da plataforma, foi desenvolvido a integração visual inicial necessária para unificação da experiência do usuário, bem como a importação de dados inicial do Mezuro para a plataforma integradora Colab. Os últimos passos remanescentes para a integração do Mezuro no SPB eram relacionados ao processo de instalação da plataforma, como o empacotamento da ferramenta e de suas dependências. Com esses passos de instalação foram concluídos, e o foco do desenvolvimento foi no suporte à linguagem PHP que é utilizada por muitos projetos que compõe o Portal do SPB. Dessa forma, foi desenvolvido/realizado: * Suporte à métricas de hotspot * Adição de métricas de PHP * Biblioteca de integração de coletores * Empacotamento dos serviços * Pacote de dependências nativo para serviço de configurações * Pacote nativo para serviço de configurações * Pacote de dependências nativo para serviço de processamento * Pacote de dependências nativo para interface web * Pacote nativo para interface web * Receber notificações do GitLab * Manutenção de estabilidade * Interface web * Backports do serviço de configurações para Ruby 2.0.0 * Validações de integridade para o serviço de Processamento * Evolução inicial integração visual com o Colab A integração do Mezuro no portal do SPB tinha o objetivo de coletar, monitoramentar e ajudar na interpretação da qualidade interna dos produtos de softwares disponíveis na plataforma. Essas informações seriam subsídios para ranqueamento e classificação dos softwares disponibilizados no portal. Entretanto, como o projeto foi cancelado, mesmo o Mezuro estando pronto para ser integrado à plataforma, decidiu-se não colocá-lo em produção, uma vez que não haveria tempo para os testes e o acompanhamento adequado de seu uso, o que iria pautar as evoluções durante as Release 6 e 7, que foram canceladas. ### Estudos Avançados para a definição e automação da infraestrutura TODO: revisão Tada A evolução das rotinas e procedimento de implantação da plataforma nos ambientes do Ministério do Planejamento foi um dos principais benefícios obtidos como resultado da release 4. Dada a complexidade dos serviços e softwares envolvidos no Portal do SPB, uma nova sub-equipe foi composta para evoluir e amadurecer os procedimentos de implantação do projeto através da aplicação de técnicas de DevOps. Essa evolução consistiu do empacotamento dos softwares e suas dependências para a plataforma utilizada nos servidores do Ministério (CENTOS 7), evolução da ferramenta para gerenciamento das diferentes máquinas e ambientes existentes (*chake*) e das receitas *chef* para a configuração dos serviços em cada máquina. Adicionalmente, os manuais de instalação e manutenção do portal foram melhorados e detalhados com o objetivo de tornar os procedimentos de manutenção do portal reprodutíveis por outras equipes, como a DTI/MP. #### Empacotamento O empacotamento é uma atividade que tem como base um pacote contendo o código-fonte original de um projeto de software e tem como objetivo preparar pacotes binários (instaladores) para que o software possa ser instalado facilmente por diversos usuários finais de um sistemas. O empacotamento inclui, mas não está limitado, às seguinte atividades: * integração com serviços (e.g. servidores de aplicação) do sistema para que possam ser gerenciados utilizando as ferramenta padrão do sistema operacional; * gerenciamento de dependências, de forma que todos os pacotes necessários para o funcionamento de plataforma sejam instalados automaticamente em conjunto com os componentes principais; * integração de forma sustentável de customizações específicas do Portal do Software Público Brasileiro; * gerenciamento de atualizações, de forma que a instalação de uma nova versão seja feita corretamente na presença de uma versão anterior, e que o processo seja executado corretamente sem intervenção manual. Esta atividade traz grandes benefícios aos usuários finais, uma vez que ao ser finalizada torna-se muito simples a instalação. Contudo, tal descomplicação envolve um certo custo na etapa de desenvolvimento. ### Estudos Avançados para a sustentação da plataforma TODO: Revisão Luan Na Release 5 foram priorizadas as seguintes ações para a sustentação da plataforma: * Refatoração dos scripts * Confirudação dos ambientes local de teste e de desenvolvimento * Evolução do monitoramento do ambiente * Migração do Noosfero para Rails 4 (última versão framework) Os ambientes na infraestrutura pela Diretoria de Tecnologia da Informação - DTI foi repensado para 2, cada um com 7 máquinas virtuais: * Ambiente de desenvolvimento e homologação: para que a equipe de desenvolvimento realize testes de novas funcionalidades ou de correções, replicando de fato o ambiente que existe em produção. Ambiente também em que os analistas do Ministério do Planejamento possam aprovar e homologar as funcionalidades. * Ambiente de produção: onde o Portal do Software Público é entregue para os usuários finais. Todos os ambientes acima são gerenciados pelo SERPRO e se encontram em uma mesma nuvem, de modo que os ambientes de desenvolvimento e homologação possuem, inicialmente, as mesmas configurações de software que o ambiente de produção. Isto é importante para prevenção de imprevistos relacionados a configurações diversas, como por exemplo, regras de firewall. Para garantir que as configurações de software permaneçam as mesmas, todas as alterações realizadas em qualquer um dos servidores são feitas com o uso de técnicas de entrega contínua, através do uso de receitas Chef (técnica avançada que permite sempre replicar uma série de passos), de modo que as mesmas receitas são executadas em cada um dos ambientes. Os ambientes de Desenvolvimento, Homologação e Produção configurados e mantidos no MP são de responsabilidade da Diretoria de Tecnologia da Informação-DTI. Entretanto, até a última atualização em 27 de julho de 2016, os procedimentos foram realizados pela equipe da UnB. Todos os procedimentos realizados foram automatizados e documentados, de forma que o manual de instalação/operação da plataforma foi atualizado. Em que pese a equipe da UnB tenha mantido atualizado o manual de instalação/operação, além de realizar a transferência de tecnologia para realização de tais procedimentos, ainda há uma forte dependência da equipe da equipe da UnB, por parte do MP, para execução desse tipo de atividade. Além disso, uma oficina foi ministrada no dia 27 de julho de 2016 para sanar todas as eventuais dúvidas ainda existentes por parte da DTI. Ainda, um vídeo está disponibilizado no Youtube com a completa demonstração de todo o processo de instalação do ambiente: https://youtu.be/ipy2Z__c-NE ### Estudos sobre licenças de software livre Ao final da Release 4, a coordenação do projeto por parte da UnB estava ciente da possibilidade da falta de repasse dos recursos previstos para 2015. Assim, junto ao relatório da Release 4, entregamos o relatório final com as alternativas de licenciamento de Software Público Brasileiro e a minuta da nova Instrução Normativa, visando a flexibilização do esquema de licenciamento e para o tratamento adequado do “software de governo”. Durante a Release 5 não foi realizada nenhuma atividade específica, mas sim colaborações na revisão da minuta até sua consulta pública, via o Portal Participa.Br. Posteriormente, os pesquisadores da UnB envolvidos neste tópico participaram de uma audiência pública para discutir a nova IN proposta com os interessados no tema, presencialmente, no auditório do Ministério do Planejamento, em 07 de março de 2016. ## Encerramento do Projeto TODO: Paulormm ## Benefícios alcançados TODO: Paulormm ### Oficinas TODO: Paulormm ### Treinamento TODO: Tada ### Entrega da plataforma estável TODO: Paulormm ## Dificuldades encontradas TODO: Paulormm ### Falta de repasses e Encerramento do projeto TODO: Paulormm ## Custos Incididos na Release TODO: Paulormm ## Anexos TODO: Paulormm