Relatorio R1 Page History
Relatório de entrega da Release 1 - 25.03.2016
Seguindo a cultura ágil[1], o projeto foi dividido em duas etapas, ou duas entregas. Neste projeto, estas entregas tem como principal objetivo servir de ponto de controle, onde dedica-se tempo para revisar e finalizar pendências, organizar e avaliar cronogramas, prazos, relatórios e documentar minimamente tudo que foi feito e entregue até ali.
Chamando aqui tais entregas de releases, tivemos na primeira entrega, ou Release 1, as seguintes metas definidas em reunião estratégica em 02 de Dezembro de 2015 na Presidência da República.
- Remodelar/repensar (interface e funcionalidades) o Participa.br
- Estabilizar código do Noosfero
- Promover a inovação baseada na API do Noosfero
A partir dessas metas foram definidas épicas de negócio e histórias de usuário[2].
- Épicas de negócio são agrupamentos de alto nível de um certo número de histórias de usuário
- Histórias de usuários são requisitos definidos normalmente em 1 parágrafo que descreve a necessidade de um usuário de forma breve utilizando uma linguagem comum ao negócio
As épicas de negócio foram então descritas da seguinte forma:
- Reformulação da home do Participa.br
- Construção de um cardápio de temas para as comunidades do Participa.br/Juventude.gov.br
- Evolução da API do Noosfero
- Sustentação da plataforma
- Revisão das branches/código do SERPRO
- Refatoração do front-end do Noosfero
- Implantação da Release 1
A partir dessas épicas definiu-se então as histórias de usuário associadas à cada épica como se segue:
- Reformulação da home do Participa.br
- Análise da atual estrutura da home do Participa.br
- Prototipação para nova home do Participa.br
- Implementação do novo tema Participa.br
- Construção de um cardápio de temas para as comunidades do Participa.br/Juventude.gov.br
- Diagnóstico dos tipos de comunidades
- Design visual dos temas-templates para comunidades de Participação Social
- Desenvolvimento de temas para comunidades de Participação Social
- Tema para a comunidade PPA
- Solicitações visuais ao longo da Release 1
- Evolução da API do Noosfero
- Criar documentação de apoio aos clientes da API Noosfero
- Sustentação da plataforma
- Integração Contínua (pacotes)
- Ambiente local de teste e desenvolvimento
- Migrar Noosfero para Rails 4
- Revisão das branches/código do SERPRO
- Diagnóstico dos braches atuais do Serpro
- Planejamento de refatoração e incorporação ao master do noosfero
- Refatoração e incorporação ao master do noosfero oficial
- Incorporação de branches revisados pós-freeze
- Refatoração do front-end do Noosfero
- Prototipação e implementação do novo frontend do Noosfero
- Adaptações no backend do Noosfero
Estas histórias de usuário são então construídas e desenvolvidas pela equipe executora do projeto através de atividades, denominadas aqui de issues. As atividades ou issues são escritas em uma linguagem comum e descrevem um trabalho a ser executado durante um ciclo de iteração do projeto, que fazem parte da cultura de desenvolvimento ágil e representam pontos de controle do projeto. Em cada ciclo define-se atividades e responsáveis e a cada início e fim de ciclo é feito o novo planejamento e a revisão das atividades finalizadas, respectivamente.
Estes ciclos de iteração são chamado aqui de Sprints, tem duração de 2 semanas, todos eles são documentados em páginas wikis contendo todo o trabalho executado em cada um deles. Em resumo, durante toda a Release 1 tivemos um total de 7 ciclos ou Sprints: Sprint 1, Sprint 2, Sprint 3, Sprint 4, Sprint 5, Sprint 6, Sprint 7.
Antes de entrar nos detalhes sobre o que foi feito e entregue durante cada sprint é importante deixar claro à relação entre as plataformas de participação Juventude.gov.br e Participa.br com o software livre Noosfero.
Juventude.gov.br, Participa.br e Noosfero
O Juventude.gov.br e o Participa.br são Plataformas Federal da Participação Social. Trata-se de mais um espaço para participação social no Brasil, escuta e diálogo entre o Governo Federal e a Sociedade Civil. Ligado à Secretaria Nacional da Juventude e à Secretaria-Geral da Presidência da República, estes ciberespaços buscam permitir que o cidadão, entidades e outros atores sociais possam influenciar na gestão pública e exerçam maior controle social sobre o Governo e as políticas públicas.
A plataforma, totalmente desenvolvida em software livre, tem como missão desenvolver práticas inovadoras de participação via internet e oferta de espaços de manifestação e debate para qualquer cidadão ou organização, com o intuito de construir políticas públicas cada vez mais eficazes e efetivas.
Estes dois portais utilizam como base o software livre Noosfero[3], uma iniciativa nacional para construção de uma plataforma livre para redes sociais e de economia solidária, com foco na produção e compartilhamento de conteúdo. Suas funcionalidades proporcionam o desenvolvimento de um projeto para a criação de um portal de participação e mobilização social. Isso porque, além das funcionalidades de rede social, com foco na produção e compartilhamento de conteúdo, o Noosfero permite que cada usuário e comunidade tenha o seu espaço com flexibilidade de personalização visual e gerenciamento de conteúdo. Dessa forma, diferentes características das pessoas, grupos e comunidades podem ser atendidas e respeitadas, mantendo todos dentro da mesma rede - o que potencializa o uso e crescimento da rede social ao longo do tempo.
O Noosfero já está sendo utilizado em alguns projetos da Presidência da República, Ministério da Justiça, Ministério do Planejamento Orçamento e Gestão, Serpro, Secretaria Nacional da Juventude, USP, UnB e por diversos pesquisadores. Por ser uma plataforma livre vem recebendo colaborações efetivas através de uma parceria entre estes diversos atores, muitas vezes em estreita colaboração com a cooperativa Colivre, empresa criadora do projeto Noosfero.
Os portais Juventude.gov.br e Participa.br, além de utilizarem o mesmo software Noosfero, utilizam também uma infraestrutura comum de servidores hospedados pelo Serpro (empresa responsável pela hospedagem, manutenção e evolução dos dois portais). Dito isto, fica claro notar que qualquer evolução no software comum Noosfero, beneficia os dois portais diretamente.
Entregas realizadas
Retomando os detalhes sobre a execução e o andamento do projeto, podemos entrar em cada Sprint do projeto e relatar suas entregas. Desta forma, segue um relato geral de tudo que foi entregue até o presente momento, 28 de Março de 2016, data final da Release 1:
Durante a primeira Sprint o foco foi planejamento e análise, onde identificou-se partes do layout da Plataforma de Participação Social Participa.br que poderiam ser personalizadas. Uma proposta de estrutura hierárquica voltada aos propósitos do Participa.br foi contruída e apresentada, juntamente com o mapeamento de limitações do sistema Noosfero em termos de design e frontend.
Seguindo na análise, foi feito um levantamento da quantidade de consultas ativas (e inativas) existentes e da frequência de novas consultas públicas adicionadas ao portal:
- Consultas ativas, em torno de 3 à 6
- São criadas poucas consultas novas, mas melhorando a tecnologia espera-se um crescimento
Com isto foi criado uma proposta visual com as melhorias identificadas na homepage do Participa.br, os principais objetivos desta nova proposta foram:
- Criar um visual mais limpo e neutro
- Dar mais vida à homepage
- Incluir área para ferramentas de compartilhamento
- Separar visualmente os elementos da homepage, de forma hierárquica
- Foco maior nas "Trilhas de Participação" com links para as "Consultas Públicas" seguido por "Notícias" e "Conexões"
Proposta visual para nova home do Participa.br
Em seguida realizou-se um mapeamento das temáticas necessárias para comunidades de Participação Social, através de reuniões com a equipe responsável pelas plataformas Participa.br e Juventude.gov.br foi possível entender quais as principais necessidades em relação à temas para comunidades.
Como resultado deste mapeamento, no contexto do Participa.br tivemos 3 tipos de uso primário das comunidades e 3 temáticas. Tipos primários de comunidades:
- Comunidade tipo "Evento"
- Comunidade tipo "Consulta Pública"
- Comunidade tipo "Repositório de documentos"
Temáticas a serem aplicadas a qualquer um dos tipos:
- Meio Ambiente
- Cultura
- Tecnologia
Paleta de cores para a temática "Cultura"
Paleta de cores para a temática "Tecnologia"
Paleta de cores para a temática "Meio Ambiente"
Além disso foi realizado um estudo para definições de tipografia, iconografia e paleta de cores onde definiu-se a iconografia e paleta de cores genérica para comunidades.
Definição de iconografia e paleta de cores "genérica"
Definição de iconografia e paleta de cores "central de conteúdo"
A partir destas definições e observando o relacionamento dos elementos criados com as propostas visuais de layout, evoluiu-se os elementos visuais das temáticas com objetivo de criar uma identidade neutra como base das demais temáticas.
Evolução da iconografia e temática neutra
Iconografia para interface do usuário
Iconografia para mensagem/mídia
Iconografia já aplicada nos protótipos da home e comunidades
Estes estudos e definições de cores, ícones, tipos e temáticas deram espaço à criação de designs visuais para os temas de comunidades SITE, EVENTO e CONSULTA.
Design/layout da comunidade do tipo SITE
Design/layout da comunidade do tipo EVENTO
Design/layout de páginas internas da comunidade tipo EVENTO
Design/layout da página transmissão da comunidade tipo EVENTO
Design/layout da comunidade tipo CONSULTA
Design/layout de páginas internas da comunidade tipo CONSULTA
Todos estes protótipos estão implementados como temas Noosfero e podem ser visualizados no servidor de testes e homologação através dos seguintes links:
- Página inicial/home do Participa.br - http://164.41.86.16
- Tema da comunidade tipo EVENTO - http://164.41.86.16/event-template
- Tema da comunidade tipo SITE - http://164.41.86.16/site-template
- Tema da comunidade tipo CONSULTA - http://164.41.86.16/consulta-template
Seguindo ainda a filosofia do software livre, todos os temas estão disponíveis em repositórios públicos e podem ser acessados em:
- Página inicial/home do Participa.br - https://softwarepublico.gov.br/gitlab/noosfero-themes/new-participa-theme
- Tema da comunidade tipo EVENTO - https://softwarepublico.gov.br/gitlab/noosfero-themes/participa-evento
- Tema da comunidade tipo SITE - https://softwarepublico.gov.br/gitlab/noosfero-themes/participa-site
- Tema da comunidade tipo CONSULTA - https://softwarepublico.gov.br/gitlab/noosfero-themes/participa-consulta
Ainda foram criados inúmeras peças de apoio para a comunidade Recursos Hídricos do Participa.br e para a comunidade do "Plano Nacional de Recursos Hídricos", também no Participa.br.
Banner 1
Banner 2
Botão 1
Botão 2
Cabeçalho da comunidade
Cabeçalho do blog
Cabeçalho para comunidade "Orçamento Público Federal Participativo"
Banners para o Face (frases) - LDO
Além dos investimentos realizados em questões de interface e design nas plataformas de Participação Social foi realizado inúmeros investimentos em relação à incorporar as funcionalidades do Participa.br e Juventude.gov.br ao repositório oficial do software livre Noosfero. Como primeira iniciativa foi preciso documentar todas as branchs
desenvolvidas pelo Serpro.
Branchs são ramos de desenvolvimento isolados em repositórios de controle de versão de código-fonte. Estes branchs contém funcionalidades desenvolvidas pelo Serpro para as plataformas Participa.br e Juventude.gov.br voltados para o software livre Noosfero, mas que ainda não estão incorporados ao repositório oficial de código-fonte do mesmo, visando a sustentabilidade e manutenabilidade das plataformas entende-se que é imprescindível que todo código desenvolvido para estas plataformas estejam incorporados ao projeto oficial para que tenha vida, sustentabilidade e dinamismo ao longo do tempo independente da atuação do Serpro.
Esta análise inicial gerou o seguinte documento com a lista de branchs:
Ainda no momento de análise foi avaliado o esforço para implementar algumas novas funcionalidades prioritárias para consultas públicas nas plataformas Participa.br e Juventude.gov.br. Detalhes sobre esta avaliação podem ser encontrada no link abaixo:
A partir destas análises iniciais realizou-se inúmeras refatorações e incorporação de código presente nestes branches, segue abaixo algumas destas incorporações:
'Seguir' artigos
Foi feito um aprimoramento de opções para acompanhar um artigo, evitando que usuários anônimos criem spam, além de dar mais opções a um usuário quando se interessar por algum artigo. O código-fonte deste aprimoramento pode ser consultado em:
http://gitlab.com/noosfero/noosfero/commit/45c0df82cf8ce0fa3d49810da8f225415f7da412
Melhorias na API
Foram incorporadas diversas melhorias da API implementadas pelo Serpro na versão oficial do Noosfero. O código-fonte pode ser visto em:
Migração do Noosfero para Rails 4
Durante este ciclo houve uma força tarefa para finalizar a migração do Noosfero para a versão 4 (mais recente) do framework Ruby on Rails.
Adaptações no Backend do Noosfero
Foi removido dos models do Noosfero todo o código que gere HTML ou URL, models são a camada de persistência em banco de dados e arquiteturalmente eles não devem conter elementos referente à interface com usuário. O código destas mudanças pode ser consultado em:
Refatoração do frontend do Noosfero
Foi realizada uma iniciativa de re-escrever a interface do Noosfero com objetivo de trazer modernidade e maior flexibilidade de design, estas mudanças estão sendo feitas em conjunto com o Serpro e podem ser acompanhadas em:
Outras melhorias e implementações
Inúmeras outras mudanças foram incorporadas, no link abaixo é possível consultar tudo que foi incorporado até o momento:
Outas atividades de suporte
Além de atividades de refatoração e incorporação de código, houveram diversas atividades de suporte as metas desta Release.
- Instalar e configurar Noosfero no ambiente de homologação do Lappis
- Definir estratégia de incorporação dos branchs ao master do noosfero
- Criar uma documentação de usuário para API Noosfero
- Estudar e documentar infra atual dos servidores do Serpro que hospedam o Participa.br