Commit 27de4fd551db972cd8ec5ef1b6e4b4a5d5dcb8b2
1 parent
11538f18
Exists in
master
and in
3 other branches
Reviewing section 4
Showing
3 changed files
with
49 additions
and
23 deletions
Show diff stats
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] |