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] | ... | ... |