\section{Funcionalidades}
\label{sec:spb}

A nova geração do portal SPB combina recursos adaptados de plataformas
colaborativas existentes com recursos desenvolvidos pelas equipes da UnB e USP.
Sempre que possível, novas funcionalidades (recém-desenvolvidas ou parcialmente
modificadas) foram enviadas de volta aos repositórios oficiais dos projetos usados.

Como resultado, temos uma plataforma que integra e harmoniza diferentes
recursos, como redes sociais, lista de email, sistema de controle de versão,
gerenciamento de conteúdo e monitoramento de qualidade de código-fonte. Nosso
objetivo foi desenvolver funcionalidades reutilizando as ferramentas integradas
à plataforma. Além disso, tentamos manter essa integração transparente para os
usuários finais. Temos 3 grandes conjuntos de funcionalidades descritas nas
próximas sub-seções.

\subsection{Software e Comunidade de Software}

No novo portal SPB, cada software tem um conjunto padrão de páginas e
ferramentas. Além de acessar as páginas de suporte (como FAQ e guia de
instalação) dentro da plataforma. Com isso, os usuários são capazes de baixar diferentes
versões do software e encontrar vários mecanismos de gerenciamento de
desenvolvimento do projeto.

Focando no desenvolvimento colaborativo, o Mailman foi integrado à plataforma
para permitir o diálogo e a comunicação entre desenvolvedores, usuários e
entusiastas de um determinado software. O software tem sua própria lista de
discussão cuja privacidade pode ser configurada e definida pelos
administradores.

O software possui uma área de interface social (``comunidade de software'')
onde os usuários podem encontrar outros usuários, blogs, resumo de atividades
recentes ou qualquer outro conteúdo relevante produzido pela comunidade. Os
usuários registrados na plataforma podem solicitar a associação às comunidades
de software diferentes e cada membro da comunidade pode acessar e editar	
conteúdos restritos. Para isso, muitos recursos do Noosfero, relacionados à rede
social e ao gerenciamento de conteúdo, foram integrados ao portal.

Para auxiliar na tomada de decisões, o novo SPB adquiriu ferramentas de
avaliação e estatísticas. Agora, os usuários são capazes de avaliar o
software e fazer comentários, assim, todas as informações são disponibilizadas para outros
usuários. Além disso, o software possui uma seção contendo seus dados
estatísticos, onde os valores são calculados com base nos dados fornecidos
pelos usuários (como recursos economizados) e pelo próprio portal SPB (número de downloads).

O papel do administrador está presente no software e na sua comunidade. O
administrador é responsável por moderar o conteúdo, as associações e os
comentários dos usuários. O administrador também é aquele que pode fazer
alterações no conteúdo da página inicial do software e em outros conteúdos restritos.

\subsection{Catálogo de Software e Busca Global}

A plataforma também fornece uma ferramenta de pesquisa chamada ``Catálogo de
Software'', que permite aos usuários encontrar softwares disponíveis no portal.
Neste catálogo, algumas opções de busca foram desenvolvidas para facilitar a
navegação, como filtros (por tipo de software ou categoria), classificação e
pontuação.

Para expandir o escopo de busca e cobrir mais tipos de conteúdos, as equipes da
UnB e USP desenvolveram um mecanismo de busca global. Essa funcionalidade
unifica os mecanismos de busca fornecidos pelas diferentes ferramentas
integradas ao portal do SPB. Qualquer usuário pode encontrar um conteúdo
público no contexto de redes sociais, lista de discussão e desenvolvimento de
software.

\subsection{Ambiente de apoio ao desenvolvimento de software}

O novo portal SPB também fornece ferramentas para incentivar os desenvolvedores a
manter o código-fonte e sua atividade de desenvolvimento dentro da plataforma.
Qualquer software criado tem, por padrão, um repositório Git associado com
páginas wiki e \textit{issue tracker}. Essas ferramentas são fornecidas pela
integração do Gitlab na plataforma.

Os desenvolvedores também podem avaliar o código-fonte do software para medir a
qualidade interna do software. Com o Mezuro, eles podem configurar a análise do
código-fonte e monitorar sua evolução pelos resultados métricas ao longo do
tempo. Os resultados de cada análise métrica são públicos, o que permite maior
transparência entre o desenvolvedor e a comunidade que usa o software. Desta
forma, os mantenedores podem decidir se uma determinada solução atende aos
requisitos de qualidade interna do código-fonte.

Assim, o SPB tornou-se uma plataforma para estimular a abertura do código
fonte; o diálogo entre os usuários e a equipe de desenvolvimento; e também a
manutenção e evolução do software, o que proporcionará maior transparência nos
investimentos do governo.
