05-features.tex 4.16 KB
\section{Features}
\label{sec:spb}

The new generation of the SPB portal is made up of collaborative softwares
features. Some of these features were expanded or limited according to
government requirements. Other required features was totally developed by the
SPB team, because it was not available in any of the integrated software.
Whenever possible, the developed code was sent back to official repository of
these softwares, as a contribution.

As result, we have a platform which integrate and harmonize features like
social networking, mailing list, version control system, content management and
source code quality monitoring. Our aim was to develop features by reusing
functions of the collaborative softwares which integrate the platform. In
addition, we tried to keep this integration transparent to end users.

\subsection{Software and Software Community}

In the new SPB portal, each software has a standard set of pages and tools.
Besides support pages like FAQ and installation guide, the software has options
to download the released versions and several mechanisms of managing the
software development within the platform.

Focusing on the collaborative development, the SPB provides mechanisms to
support the dialogue and communication between developers, users and
enthusiasts of a software. The software has its own mailing list, where its
privacy can be moderated according to the maturity of the software in this
aspect. 

Community of a software is a social space where anyone can find members, blogs,
a summary of recent activities in the spaces of interaction and any other
relevant community-produced content. Logged users can request for membership of
the community and community members can access and edit restricted content. For
this purpose, many Noosfero features relating to social network and content
management was integrated the portal.

To assist decision-making, the new SPB has acquired assessment and statistical
tools. Now, users can rate the software using a score and comment, so this
information is displayed to anyone. Moreover, the software dispose a section
containing  its statistical data, where the values are calculated through data
provided by users and the system.

The role of administrator is present in the software and in its community. The
administrator is responsible for moderating content, memberships and user
comments. He is also the one who can make changes in the software homepage
content.

\subsection{Software Catalog and global search}

The user can find some softwares highlighted on the SPB portal homepage, but
the best way to search for all available softwares is via the Software Catalog.
In this catalog, some search options were developed to improve the navigation,
such as filters by kind of software or categories, sorting and score.

Expanding the scope of search to cover other kinds of content, the SPB team
developed the global search tool. This tool integrates the search mechanisms
provided by the collaborative softwares that make up the platform. Any user can
find a public content in the context of social network, mailing list and
software development.

\subsection{Software development tools}

In addition to interests of users and government agents, the new SPB provides
tools to encourage developers of each software to keep the source code and its
development within the platform. Any created software has, by default, a
related git repository with wiki pages and issues tracking. These tools are
supplied by the integration of Gitlab into the platform. 

The developers can also evaluate the software source code to measuring software
quality. With Mezuro, they can schedule the analysis and follows source code
metric results evolution over time.  Results of each metric analysis are
public, what allows greater transparency between the developer and the
community that uses the software.  Thereby, the maintainers can decide if the
given solution meets the source code quality requirements.

Thus, the SPB becomes a platform to stimulate the openness of the source code,
the dialog between users of the software and its development team as well as
the software maintenance and evolution. This, therefore, fosters the
transparency in the government investments.