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 | 57 | competitors from adversiting services for that same software. Inclusion in the |
58 | 58 | SPB also has extra requirements, such as having a public version control |
59 | 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 | 80 | Figure \ref{fig:requirements}, being very advanced comparing to other related |
81 | 81 | projects and initiatives. For example, the USA government has a platform |
82 | 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 | 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 | 91 | OW2\footnote{\url{http://ow2.org}}. The Open Source Observatory (OSOR) is a |
92 | 92 | community hosted in the JoinUp platform powereded by the European Commission. |
93 | 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 | 27 | specialized teams for work in the integration process. The teams learned how to |
28 | 28 | develop for their assigned systems and contributed to the original |
29 | 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 | 32 | At the end of the project, SPB portal was composed of more than ten systems |
35 | 33 | among them we can highlight: Colab, Noosfero, Mezuro, Gitlab, Mailman, Postfix, |
36 | 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 | 36 | described how we integrated those tools and conclude with the deployment. |
39 | 37 | |
40 | 38 | \subsection{Colab} |
... | ... | @@ -61,11 +59,11 @@ mechanism. The integrated applications should be on a local network to avoid |
61 | 59 | security issues. With this the user will be able to navigate through the |
62 | 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 | 68 | A publish-subscribe implementation was used to handle events in the platform. |
71 | 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 | 76 | implementation of how should perform the collection of data. |
79 | 77 | |
80 | 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 | 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 | 87 | social and collaboration networks. Besides the classical social |
90 | 88 | networking features, it also provides publication features such as blogs |
91 | 89 | and a general-purpose CMS (Content Management System). Most of the user |
92 | 90 | interactions with SPB is through Noosfero: user registration, project |
93 | 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 | 112 | Mezuro\footnote{\url{http://mezuro.org/}} is a platform to collect source code |
100 | 113 | metric to monitor the internal quality of softwares written in C, C++, |
101 | 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 | 128 | \subsection{System unification} |
104 | 129 | |
105 | 130 | \begin{figure}[hbt] | ... | ... |