Commit 27de4fd551db972cd8ec5ef1b6e4b4a5d5dcb8b2

Authored by Paulo Meireles
1 parent 11538f18

Reviewing section 4

opensym2017/content/02-spb.tex
@@ -57,3 +57,4 @@ relaxed trademark usage policy by the original vendor that do not stop eventual @@ -57,3 +57,4 @@ relaxed trademark usage policy by the original vendor that do not stop eventual
57 competitors from adversiting services for that same software. Inclusion in the 57 competitors from adversiting services for that same software. Inclusion in the
58 SPB also has extra requirements, such as having a public version control 58 SPB also has extra requirements, such as having a public version control
59 system, installation manual, hardware requirements specification, etc. 59 system, installation manual, hardware requirements specification, etc.
  60 +
opensym2017/content/03-requirements.tex
@@ -80,14 +80,14 @@ The new SPB platform is fully an integrated environment, as we can see in @@ -80,14 +80,14 @@ The new SPB platform is fully an integrated environment, as we can see in
80 Figure \ref{fig:requirements}, being very advanced comparing to other related 80 Figure \ref{fig:requirements}, being very advanced comparing to other related
81 projects and initiatives. For example, the USA government has a platform 81 projects and initiatives. For example, the USA government has a platform
82 designed to improve access to the federal government developed 82 designed to improve access to the federal government developed
83 -software\footnote{\url{https://code.gov}. Code.gov is an interface to organize  
84 -the USA government projects and, in short, make easy that their users and  
85 -developers obtain some information and access their source code repositories at  
86 -GitHub. However, there are not social networking and CMS features, as well as,  
87 -other communication resources provided by that platform. 83 +software\footnote{\url{https://code.gov}}. Code.gov is an interface to
  84 +organize the USA government projects and, in short, make easy that their users
  85 +and developers obtain some information and access their source code
  86 +repositories at GitHub. However, there are not social networking and CMS
  87 +features, as well as, other communication resources provided by that platform.
88 88
89 Also, there are two initiatives in Europe: 89 Also, there are two initiatives in Europe:
90 -OSOR\footnote{\url{https://joinup.ec.europa.eu/community/osor} and 90 +OSOR\footnote{\url{https://joinup.ec.europa.eu/community/osor}} and
91 OW2\footnote{\url{http://ow2.org}}. The Open Source Observatory (OSOR) is a 91 OW2\footnote{\url{http://ow2.org}}. The Open Source Observatory (OSOR) is a
92 community hosted in the JoinUp platform powereded by the European Commission. 92 community hosted in the JoinUp platform powereded by the European Commission.
93 OSOR aims exchanging information, experiences and best practices around FOSS 93 OSOR aims exchanging information, experiences and best practices around FOSS
opensym2017/content/04-architecture.tex
@@ -27,14 +27,12 @@ For the first requirement, we identified four main systems that required @@ -27,14 +27,12 @@ For the first requirement, we identified four main systems that required
27 specialized teams for work in the integration process. The teams learned how to 27 specialized teams for work in the integration process. The teams learned how to
28 develop for their assigned systems and contributed to the original 28 develop for their assigned systems and contributed to the original
29 communities, so that the version we used were not significantly different from 29 communities, so that the version we used were not significantly different from
30 -the original. Unfortunately, the deadlines at the end of the project forced us  
31 -to use our own version before the features were fully reviewed and integrated  
32 -into the upstream of the project. 30 +the original.
33 31
34 At the end of the project, SPB portal was composed of more than ten systems 32 At the end of the project, SPB portal was composed of more than ten systems
35 among them we can highlight: Colab, Noosfero, Mezuro, Gitlab, Mailman, Postfix, 33 among them we can highlight: Colab, Noosfero, Mezuro, Gitlab, Mailman, Postfix,
36 Munin, and so forth. The following sections explained a little bit of Colab, 34 Munin, and so forth. The following sections explained a little bit of Colab,
37 -Noosfero, Mezuro and Gitlab (the main tools which we contributed). Later, we 35 +Noosfero, Mezuro, and Gitlab (the main tools which we contributed). Below, we
38 described how we integrated those tools and conclude with the deployment. 36 described how we integrated those tools and conclude with the deployment.
39 37
40 \subsection{Colab} 38 \subsection{Colab}
@@ -61,11 +59,11 @@ mechanism. The integrated applications should be on a local network to avoid @@ -61,11 +59,11 @@ mechanism. The integrated applications should be on a local network to avoid
61 security issues. With this the user will be able to navigate through the 59 security issues. With this the user will be able to navigate through the
62 platform applications and will not be asked for authentication credentials. 60 platform applications and will not be asked for authentication credentials.
63 61
64 -As Colab is a reverse proxy, it makes some HTML transformations in the HTTP  
65 -response of integrated applications to provide a unified interface. Allows one  
66 -to define some default templates to be used by all applications and overwrite  
67 -when needed in its plugin. This approach allowed us to reuse some HTML pages  
68 -which facilitates maintenance. 62 +As Colab\footnote{\url{https://github.com/colab}} is a reverse proxy, it makes
  63 +some HTML transformations in the HTTP response of integrated applications to
  64 +provide a unified interface. Allows one to define some default templates to be
  65 +used by all applications and overwrite when needed in its plugin. This approach
  66 +allowed us to reuse some HTML pages which facilitates maintenance.
69 67
70 A publish-subscribe implementation was used to handle events in the platform. 68 A publish-subscribe implementation was used to handle events in the platform.
71 Thus, if some application want to trigger some action in case that other 69 Thus, if some application want to trigger some action in case that other
@@ -78,28 +76,55 @@ will be indexed and will became available for the users, just need an simple @@ -78,28 +76,55 @@ will be indexed and will became available for the users, just need an simple
78 implementation of how should perform the collection of data. 76 implementation of how should perform the collection of data.
79 77
80 Initially, Colab had support for a small set of applications (Trac, GNU 78 Initially, Colab had support for a small set of applications (Trac, GNU
81 -Mailman, Apache Lucene) and all of them was hard-coded; our team evolved Colab  
82 -so that it can now receive plugins to add support for new applications with  
83 -minimal changes to its existing core. We developed plugins to be used in the  
84 -SPB platform: Noosfero, GitLab, and Mezuro. 79 +Mailman, and Apache Lucene) and all of them was hard-coded. Our team evolved
  80 +Colab so that it can now receive plugins to add support for new applications
  81 +with minimal changes to its existing core. We developed plugins to be used in
  82 +the SPB platform: Noosfero, GitLab, and Mezuro.
85 83
86 \subsection{Noosfero} 84 \subsection{Noosfero}
87 85
88 -Noosfero\footnote{\url{http://noosfero.org/}} is a software for building 86 +Noosfero\footnote{\url{http://noosfero.org}} is a software for building
89 social and collaboration networks. Besides the classical social 87 social and collaboration networks. Besides the classical social
90 networking features, it also provides publication features such as blogs 88 networking features, it also provides publication features such as blogs
91 and a general-purpose CMS (Content Management System). Most of the user 89 and a general-purpose CMS (Content Management System). Most of the user
92 interactions with SPB is through Noosfero: user registration, project 90 interactions with SPB is through Noosfero: user registration, project
93 home pages and documentation, and contact forms. 91 home pages and documentation, and contact forms.
94 92
95 -\subsection{Gitlab and Mezuro} 93 +\subsection{Gitlab}
  94 +
  95 +GitLab\footnote{\url{http://gitlab.com}} is a web-based Git repository manager
  96 +with wiki pages and issue tracking features. On the one hand, Github is the
  97 +most famous and used Git repository manager. On the other hand, it is not a
  98 +FOSS. Gitlab is a FOSS platform and focuses on delivering a holistic solution
  99 +that will see developers from idea to production seamlessly and on a single
  100 +platform. Thus, we have worked on it to integrated to Colab.
  101 +
  102 +Moreover, Gitlab has several features working properly than Github that is
  103 +interesting in SPB context such as free for private projects, built-in
  104 +continuous integration and continuous deployment with best practices, more
  105 +control during downtime and upgrade, flexible permissions, Work-in-Progress
  106 +protection, move issues between projects, Group-level milestones, Create new
  107 +branches from issues, Issue board, Time tracking, as well new features and
  108 +improvements every month on the 22nd.
  109 +
  110 +\subsection{Mezuro}
96 111
97 -GitLab\footnote{\url{http://gitlab.com/}} is a web-based Git repository  
98 -manager with wiki pages and issue tracking features.  
99 Mezuro\footnote{\url{http://mezuro.org/}} is a platform to collect source code 112 Mezuro\footnote{\url{http://mezuro.org/}} is a platform to collect source code
100 metric to monitor the internal quality of softwares written in C, C++, 113 metric to monitor the internal quality of softwares written in C, C++,
101 Java, Python, Ruby, and PHP. GNU Mailman is used for mailing lists. 114 Java, Python, Ruby, and PHP. GNU Mailman is used for mailing lists.
102 115
  116 +In general, source code metric tools also do not present a friendly way to
  117 +interpret its results and, even more, do not follow a standardization between
  118 +them. Mezuro brings and presents these results to
  119 +the end user, specially, by analyzing source code metric history during its
  120 +life cycle.
  121 +
  122 +The Mezuro platform provides a single interface
  123 +grouping available tools, allows selection and composition of metrics in a
  124 +flexible manner, stores the metrics evolution history, presents
  125 +results in a friendly way, as well as, allows users to customize the given
  126 +interpretation accordingly to their own context.
  127 +
103 \subsection{System unification} 128 \subsection{System unification}
104 129
105 \begin{figure}[hbt] 130 \begin{figure}[hbt]